Crear un dominio con una ip dinámica con Google Domains en Linux

Si tienes alojado un dominio en Google Domains te permite enlazar dicho dominio o subdomino a una dirección ip dinámica.

Por ejemplo puedes alojar un servidor web oficina en tu casa. El gran inconveniente es que los proveedores de servicios de internet suelen crearte direcciones de acceso a internet que cambian con el tiempo, a no ser que quieras pagar por la opción de obtener una ip estática.

Entre las opciones que te permiten enlazar con una ip dinámica, o DNS dinamico, y con la que conseguí un resultado exitoso es utilizando su API.

La API requiere HTTPS. A continuación, encontrará un ejemplo de solicitud:
https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4
En mi caso escribí un script que cargue en la Raspberry Pi, para enlazar un servidor web.
nano ddns.sh
Le enviaremos a nuestro servidor DDNS a través de la dirección que nos proporcionan utilizando el comando curl. Los datos de acceso son aquellos que nos proporciona Google Domains. Y la dirección ip dinámica publica nos la obtendrá el comando  curl -s ifconfig.me
#! /bin/bash
ip="https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=$(curl -s ifconfig.me)"
curl "$ip"
Le daremos a nuestro archivo la capacidad de ser ejecutado
chmod +x ddns.sh  
Lanzaremos nuestro script
./ddns.sh 
Comprobando su correcto funcionamiento


 Si todo es correcto cargaremos nuestro script al inicio de nuestro equipo y nuestro domino enlazará con nuestro hosting web casero

Obtener mi ip publica con curl

En mi caso necesita obtener mi dirección ip que estaba utilizando en internet para configurar un ddns
Wikipedia 
El DNS dinámico (DDNS) es un servicio que permite la actualización en tiempo real de la información sobre nombres de dominio situada en un servidor de nombres. El uso más común que se le da es permitir la asignación de un nombre de dominio de Internet a un dispositivo con dirección IP variable (dinámica). Esto permite conectarse con la máquina en cuestión sin necesidad de tener conocimiento de que dirección IP posee en ese momento.
El DNS dinámico hace posible utilizar un software de servidor en un dispositivo con dirección IP dinámica (como la suelen facilitar muchos ISP) para, por ejemplo, alojar un sitio web en la PC de nuestra casa, sin necesidad de contratar un hosting de terceros; pero hay que tener en cuenta que las PC caseras posiblemente no estén tan bien dotadas como los servidores de un Datacenter, ni tengan toda la infraestructura que poseen estos lugares. 
Buscando encontré que utilizando el comando curl, era posible saber mi dirección pública y añadirlo a un script, que actualizaría mi ip en mi servidor DDNS:

curl ifconfig.me

Cancelar todos los trabajos de la cola de impresión

Lance por error un trabajo a una de las impresoras que tengo. Cada vez que encendía el ordenador me notificaba que el trabajo no había sido realizado pero no encontraba la aplicación gráfica para acceder a la cola de impresión para cancelar el trabajo en Linux Mint.
Buscando, descubrí el comando
cancel
NAME
       cancel - cancel jobs

SYNOPSIS
       cancel  [ -E ] [ -U username ] [ -a ] [ -h hostname[:port] ] [ -u user‐
       name ] [ -x ] [ id ] [ destination ] [ destination-id ]

DESCRIPTION
       The cancel command cancels print jobs.  If  no  destination  or  id  is
       specified,  the  currently  printing  job on the default destination is
       canceled.

OPTIONS
       The following options are recognized by cancel:

       -a   Cancel all jobs on the named destination, or all jobs on all  des‐
            tinations if none is provided.
Y con la opción -a cancelo todos los trabajos pendientes
cancel -a 

Abrir simbolo del sistema en Windows

En alguna ocasión necesitaremos abrir el Símbolo del Sistema o el interprete de comandos de Windows.
La forma más rápida de invocarlo es buscando en el cajón de búsqueda
cmd

Si deseamos:

  • Anclar a Inicio
  • Anclar a a barra de tareas
  • Abrir en ventana nueva
  • Ejecutar como administrador
  • Abrir ubicación de archivo



  • Pulsaremos con el botón derecho sobre el icono elegiremos cualquiera una de la opciones

    Instalar Packet Tracer de Cisco

    Packet Tracer es un simulador de redes con el que crear, practicar, interactuar y programar.
    Es una herramienta de Cisco para su Networking Academy.
    La aplicación es multi-plataforma y en este caso explicaré como instalarlo bajo plataforma Linux resulta siempre 😔 más complicado.

    La inscripción en gratuita, pero obligatoria para descargar la aplicación y su posterior utilización.


    Descomprimimos descargado:
    tar -xzvf Packet Tracer 7.2 for Linux 64 bit.tar.gz -C /cisco
    Accedemos a la carpeta cisco y  ejecutamos el instalador:
    ./install
    Welcome to Cisco Packet Tracer 7.2 Installation
    Read the following End User License Agreement "EULA" carefully. You must accept the terms of this EULA to install and use Cisco Packet Tracer.
    Press the Enter key to read the EULA.

                                                    Cisco Packet Tracer
                                                 Software License Agreement
    IMPORTANT: PLEASE READ THIS CISCO PACKET TRACER SOFTWARE LICENSE AGREEMENT (THE
    "AGREEMENT") CAREFULLY.  DOWNLOADING, INSTALLING OR USING THE CISCO PACKET TRACE
    R SOFTWARE CONSTITUTES ACCEPTANCE OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO ALL
     OF THE TERMS OF THIS AGREEMENT, THEN CISCO SYSTEMS, INC. ("CISCO") IS UNWILLING
     TO LICENSE THE SOFTWARE TO YOU AND YOU ARE NOT AUTHORIZED TO DOWNLOAD, INSTALL
    OR USE THE SOFTWARE.
    I. DISTRIBUTION RIGHTS.  The terms in this Section I (Distribution Rights) 
    Deberemos aceptar los terminos de uso de la aplicación ⇪

    Por defecto colocará nuestra instalación en el directorio...
    Nos solicitará privilegios de administración si confiamos en realizar la instalación en la ubicación predeterminada.
    You have accepted the terms to the EULA. Congratulations. Packet Tracer will now be installed.
    Enter location to install Cisco Packet Tracer or press enter for default [/opt/pt]:
    [sudo] contraseña para <usuario>:         
    Installing into /opt/pt
    Not able to create and copy files to /opt/pt
    Should we try to gain root access with sudo? [Yn] y
    Installing into /opt/pt
    Copied all files successfully to /opt/pt
    Creará un enlace  simbólico para facilitar el arranque de la aplicación
    Should we create a symbolic link "packettracer" in /usr/local/bin for easy Cisco Packet Tracer startup? [Yn] y
    Paso final:
    Type "packettracer" in a terminal to start Cisco Packet Tracer
    Writing PT7HOME environment variable to /etc/profile
    Writing QT_DEVICE_PIXEL_RATIO environment variable to /etc/profile
    Cisco Packet Tracer 7.2 installed successfully
    Please restart you computer for the Packet Tracer settings to take effect

    Para poder utilizar la aplicación Packet Tracer tenemos que satisfacer sus pendencias instalando la librería libpng 12
    wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb
    wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.3_i386.deb 

    Realizamos la instalación de acuerdo con la arquitectura de nuestro dispositivo 32 ó 64 bits
    dpkg -i libpng12-0_1.2.50-1ubuntu2.14.04.3_amd64.deb
    Una vez reiniciemos nuestro equipo lanzaremos la aplicación:
    packettracer

    Como cambiar servidor DNS en linux

    Si tenemos la necesidad de cambiar o actualizar la información de los servidor de DNS  de nuestro equipo, modificaremos el fichero  /etc/resolv.conf
    Podremos utilizar el editor nano.

    sudo /etc/init.d/networking restart

    La lectura del archivo sería:

    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    nameserver 9.9.9.9
    nameserver 8.8.8.8

    En cada línea seguido de namesever indicaremos la dirección ip de nuestro servidor DNS.

    Guardaremos nuestra edición Control+O y saldremos del editor con Ctrl+X
    Reiniciamos el servicio de red de nuestro equipo:

    sudo /etc/init.d/networking restart

    Acceder a otra maquina utilizando protocolo ssh

    Podemos acceder al terminal de otra maquina utilizando el protocolo ssh

    sudo ssh <ip maquina a la que queremos conectarnos> -l <nombre del usuario con el cual nos queremos conectar>

    Utilizando sudo nos permitirá aceptar la certificación de la maquina a la que queremos conectarnos aunque esta sea desconocida.
    Al agregar la opción -l indicamos con que usuario nos queremos conectar. Si omitimos esta opción se nos preguntará con que usuario nos queremos hacer login

    Matar una ventana que no responde

    No solo en Windows se quedan colgadas las ventanas. También nos puede ocurrir en nuestra distribución Linux cuando trabajamos en modo gráfico.

    Un comando util en estas ocasiones es xkill.

    Ejecutada la orden en nuestro terminal nos aparecerá un icono con una calavera, o una X. La ventana sobre la que pulsemos será detenida y eliminada.

    xkill

    Montar carpeta remota FTP carpeta local en linux

    En Linux hay varios programas para acceder de forma remota a nuestro servidor FTP.
    Pero en esta ocasión me resultaba interesante montar una carpeta en local con acceso directo al disco duro compartido colocado en el router de la ISP y compartido mediante el protocolo FTP.
    Buscando la manera más fácil y eficaz me encontré con este tutorial Montar carpeta remota FTP en Linux que utiliza el comando curlftpfs

    curlftpfs(1) CurlFtpFS Manual curlftpfs(1)
    NAME
    curlftpfs - mount a ftp host as a local directory
    SYNOPSIS
    curlftpfs [options] host path
    DESCRIPTION
    The program curlftpfs is a tool to mount remote ftp hosts as local
    directories. It connects to the host FTP server and maps its directory
    structure to the path directory.
    curlftpfs is powered by libcurl for all transfer-related features. See
    libcurl(3) for details. The filesystem part is implemented on top of
    FUSE. See http://fuse.sourceforge.net/ for details.
    De forma predeterminada no estará nuestro sistema. Realizamos la instalación con el script:
    sudo apt-get install curlftpfs
    Crearemos la carpeta donde montaremos nuestra localización remota:

    mkdir /home/usuario/ftp

    Ejecutaremos el siguiente script que montara nuestra carpeta remota en local

    sudo curlftpfs -o allow_other usuarioftp:contraseña@servidor.com /home/usuario/ftp -v

    Con -v nos mostrará en pantalla la respuesta del servidor. Nos servirá para corregir posibles errores
    Cuando comprobemos que funciona correctamente cargaremos nuestro script en el inicio de nuestro equipo

    Si antes de besar






    Si antes de besar a la persona amada habéis contemplando las estrellas, no la besaréis de la misma manera que si sólo habéis mirando las paredes de vuestra habitación.




    Maurice Maeterlinck