Proyecto domótica PARTE 3 - Configurar dirección IP fija en Ubuntu Server y re-dirigir puertos en el router

Para continuar con la propuesta de infraestructura representada en el diagrama, es necesario publicar nuestro servidor a travez de un dominio. Pero como es muy probable que nuestro proveedor de internet no nos entregue una dirección IP fija para configurar nuestro dominio, será necesario desarrollar una estrategia que permita sobrepasar este problema.
Lo primero que se debe hacer es establecer una dirección IP fija en el servidor, para poder conectarnos de manera directa por medio de nuestra red local.

3.1 Configuración IP fija en el servidor (no usar DHCP del router).

Para ello, como estamos usando Ubuntu es necesario ejecutar los siguientes pasos.

3.1.1 Localizar archivo de configuración de red, se debe abrir una terminal de la Raspberry Pi y posicionarse en el directorio netplan, para luego ejecutar el comando que lista archivos: 

cd /etc/netplan/
ls

Se mostrará el archivo de configuración actual, en mi caso este archivo esta nombrado "50-cloud-init.yaml", pero este nombre varía según la distribución. Esto nos permitirá editar la configuración de nuestra interfaz de red en el siguiente paso.


3.1.2 Desactivar el cliente DHCP que obtiene la dirección IP desde el router y establecer una dirección IP por defecto.

sudo nano <archivo-configuracion>.yaml

Editar el archivo de configuración:
network:
    ethernets:
        eth0:
            dhcp4: no
            addresses: [192.168.1.10/24]
            gateway4: 192.168.1.1
            nameservers:
              addresses: [200.28.4.130,200.28.4.129]
    version: 2

Para el caso de mi red local, la dirección IP de mi router es 192.168.1.1 (gateway4), y la dirección IP que deseo para el servidor es 192.168.1.10 (addresses). Siempre es recomendable verificar que la dirección IP esté disponible, la mejor manera de hacer esto es configurar el DHCP del router para que inicie la entrega de IPs en un rango mayor a nuestras direcciones IP fijas, por ejemplo: 

La siguiente imagen es la configuración de mi router, el rango comienza en .81 hasta .219, iniciando en un rango mucho mayor que la dirección IP que estoy definiendo para el servidor Raspberry Pi.



3.1.3 Ejecutar los cambios

sudo netplan apply


3.1.4 Verificar la nueva ip

ifconfig


3.1.5 Conectarse a nuestro servidor por SSH.
Ubuntu server incluye un servicio de conexión remota mediante el protocolo SSH, esto es ideal para poder dejar la Raspberry Pi fija en un lugar, desconectar el teclado y monitor, y que empiece a comportarse como un verdadero servidor. Para conectarse se debe ejecutar el siguiente comando:

ssh <direccion-ip> -l <usuario-ubuntu-server>

Solicitará la contraseña para continuar


Si la contraseña y el usuario coinciden, se conectará y mostrará la última conexión realizada.


3.2 Configuración de redirección de puertos desde el router.

En mi caso dispongo de un router del proveedor de internet Movistar, dejo capturas de pantalla de cómo fue configurado, pero será levemente distinto según el aparato que ustedes tengan.

3.2.1 Ingresar a la pantalla de configuración, en la mayoría de los casos se ingresa mediante la dirección IP de la puerta de enlace de tu configuración de red (la que podría ser 192.168.0.1 o 192.168.1.1). La información de conexión, el usuario y la contraseña generalmente están en la parte de abajo de tu router.



La redirección de puertos permite hacer un puente entre la dirección IP pública y la dirección IP de red, esto quiere decir que cualquier conexión que se realice al puerto que hayamos configurado esta será dirigida a la dirección IP de la máquina de la red local.

3.2.2 Para el caso de mi router, se debe ingresar a la función puertos desde el menú, en otros dispositivos es posible que estas opciones estén disponibles desde el menú de red LAN, NAT, redirección de puertos, etc..:


3.2.3 Agregar puertos es muy simple, sólo se debe seleccionar la aplicación y la dirección IP de destino, y el asistente nos agregará por defecto el puerto que dicha aplicación utiliza. 
En mi caso agregué los siguientes:

Servidor web; puerto 80.
Servidor web seguro; puerto 443.
Servidor shell seguro; puerto 22.





Comentarios