Servidor NAT en Ubuntu Server 22.04 LTS

El servidor NAT (Network Address Translation)se encarga de traducir las direcciones IP entre una red privada y otra pública, lo que permite ahorrar una gran cantidad de direcciones, puesto a que sólo se utiliza una IP pública para cada red local.

Las IPv4 reservan 32 bits para direcciones, permitiendo la existencia de 4.294.967.296 direcciones. Con el exponencial crecimiento de la tecnología, esta cantidad de direcciones se queda corta para nuestra demanda. Es aquí donde el NAT entra en acción para solucionar este problema (junto con las IPv6)

Si no se ha realizado ninguna configuración de red, lo más común es que las IPs de los dispositivos de nuestra casa sean del rango 192.168.1.X, este rango está reservado para redes privadas, y las peticiones a Internet se realizarán mediante una única IP pública, dada por el router.

Prerrequisitos

Para montar y testear un servidor NAT se necesita una máquina servidor con dos tarjetas de red físicas y un cliente con una tarjeta de red. Si se está realizando como práctica en máquinas virtuales, el servidor necesitará una tarjeta configurada como «Adaptador puente» y otra como «Red interna«, mientras que el cliente irá configurado como «Red interna«

Configurando la red

Para configurar la red hay que ser usuario root, lo cual podemos hacer de dos formas:

//iniciar sesión como root
sudo su
*ingresar contraseña*

//poner "sudo" en cada comando que requiera de privilegios para ejecutarse
sudo <comando>
*ingresar contraseña*

Antiguamente la red se configuraba en el fichero /etc/network/interfaces, pero a partir dee Ubuntu 18.04 LTS se hace desde /etc/netplan, donde deberíamos tener un archivo .yaml (el nombre varía según la versión) el cual vamos a editar de la siguiente forma:

Ctrl + o para guardar y ctrl + x para salir.

IMPORTANTE: hacer tabulaciones de 2 espacios como se ve en el ejemplo, sino la sintaxis será errónea

Una vez hemos configurado nuestra red aplicamos el comando netplan try para verificar que no existe ningún fallo de sintaxis y pulsamos ENTER para verificar los cambios.

Si hacemos un ifconfig(requiere tener las net tools instaladas > apt install net-tools) vemos los cambios aplicados.

Con esto ya tenemos una primera tarjeta de red (enp0s3) que nos va a proveer de conexión a internet, y la enp0s8 que hace referencia a la red interna.

Enrutamiento e Iptables

Activamos el enrutamiento con el comando: echo «1» > /proc/sys/net/ipv4/ip_forward

Editamos las iptables con los siguientes comandos:

  • iptables -A FORWARD -j ACCEPT
  • iptables -t nat -A POSTROUTING -s (ip red interna)/8 -o enp0s3 -j SNAT –to (ip de tarjeta bridge)

Estos cambios re revertirán al reiniciar el servidor, para hacerlos persistentes hay que editar el archivo /etc/sysctl.conf y quitar la # a la línea net.ipv4.ip_forward=1

Comprobación

En el equipo cliente vamos a configurar la tarjeta de red dentro del rango de la red interna y la IP del puente como puerta de enlace.

Con esto ya podríamos hacer un ping en cmd o simplemente navegar por internet con total normalidad, el servidor NAT está operativo y totalmente funcional.


«
»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *