Ejemplo 3: Configuración de un router/NAT
Partiendo del último ejemplo del apartado anterior, queremos configurar la máquina Linux para que funcione como router y realice NAT para que la máquina Windows que está conectada a una red interna tenga conectividad con el exterior. El esquema sería el siguiente:

Para ello tenemos que realizar los siguientes pasos:
-
Añadimos a la máquina Linux una nueva interfaz de red que le permita el acceso al exterior, en nuestro caso la vamos a conectar a la red
red-nat:usuario@kvm~$ virsh attach-interface debian12 network red_nat --model virtio --persistentRealizamos la configuración de la nueva interface de red en el fichero
/etc/network/interfaces:allow-hotplug enp1s0 iface enp1s0 inet static address 172.22.0.2/24 allow-hotplug enp7s0 iface enp7s0 inet dhcpY comprobamos el direccionamiento de la máquina Linux:
usuario@debian12:~$ sudo systemctl restart networking.service usuario@debian12:~$ ip a ... 4: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:ce:bf:4e brd ff:ff:ff:ff:ff:ff inet 172.22.0.2/24 brd 192.168.102.255 scope global enp1s0 ... 5: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:b5:42:82 brd ff:ff:ff:ff:ff:ff inet 192.168.101.41/24 brd 192.168.101.255 scope global dynamic enp7s0Está máquina accede al exterior por la interfaz conectada a
red-nat, en el ejemploenp7s0:usuario@debian12:~$ ip r default via 192.168.101.1 dev enp7s0 ... -
Completamos la configuración de la máquina Windows. Configuramos su puerta de enlace que será la máquina Linux, es decir la dirección
172.22.0.2e indicamos un servidor DNS.

- Configuramos en la máquina Linux el IP forwarding que permite reenviar paquetes entre interfaces de red. Para hacerlo permanente, editamos el archivo
/etc/sysctl.confy descomentamos la línea:
#net.ipv4.ip_forward=1
A continuación ejecutamos la siguiente instrucción para aplica los cambios:
usuario@debian:~$ sudo sysctl -p
- Configuramos
iptablespara realizar NAT. Además, queremos que las reglas de cortafuegos que configuremos sean permanentes. Para ello, instalamos los paquetes necesarios:
usuario@debian:~$ ls
A continuación creamos la regla de NAT con iptables:
usuario@debian:~$ sudo iptables -t nat -A POSTROUTING -o enp7s0 -s 172.22.0.0/16 -j MASQUERADE
Esta regla realiza las siguientes acciones:
- Todos los paquetes que provienen de la red muy aislada (
-s 172.22.0.0/16). - Y salgan al exterior (
-o enp7s0) (recuerda que debes cambiar la interfaz si en tu caso se llama de manera distinta). - Se enmascara, es decir se cambia la dirección de origen por la del router (la máquina Linux) para que pueda enrutarse al exterior.
Para que la regla sea permanente después de un reinicio, la guardamos con la siguiente instrucción:
usuario@debian:~$ sudo iptables-save > /etc/iptables/rules.v4
-
Finalmente, podemos comprobar que la máquina Windows ya tiene conectividad con el exterior y puede resolver nombres por el DNS:
