Saltar la navegación

1.2.- Enrutamiento en Linux.

En este apartado se va a habilitar el enrutamiento en la máquina SistemasUbuntu. Se activará regla iptables para permitir el tráfico, de forma que el resto de las máquinas salgan a Internet a través del router SistemasUbuntu.

Este contenido es el ejercicio 2 de la tarea.

Paso 1. Habilitar router en máquina SistemasUbuntu.

En primer lugar se activa el servicio de enrutamiento de Linux. Para ello se activa ip_forward de la forma siguiente:
root@SistemasUbuntu:~# cat /proc/sys/net/ipv4/ip_forward
0

root@SistemasUbuntu:~# echo 1 > /proc/sys/net/ipv4/ip_forward
#
Con el comando echo, hemos sustituido un 0 por 1 dentro del archivo. De esta forma, decimos a la máquina que va a enrutar.

En segundo lugar se activa una regla iptable, servicio de cortafuegos de Linux, que diga que deja pasar todo el tráfico.
root@SistemasUbuntu:~# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 0/0 -j MASQUERADE
# Con esta regla, no hay restricción de tráfico. Si quisiéramos restricciones de tráfico, tendríamos que habilitar más reglas iptables.

Paso 2. Comprobar enrutamiento en máquina clienteLinux

Para comprobar que la máquina SistemasUbuntu ya está enrutando, se ejecuta ping en la máquina clienteLinux hacia el exterior:
root@clienteLinux:~# ping 8.8.8.8 #Responde, ya hay comunicación con Internet
root@clienteLinux:~# ping www.elpais.es #No responde, pues no se ha configurado la dirección IP del servidor DNS.
#No hay ningún equipo en nuestra red que traduzca
www.elpais.es a la IP concreta.

Configurar DNS en máquinas Linux

Cuando se utilizan direcciones IP estáticas, además de la máscara de red, se debe configurar la puerta de enlace y los servidores DNS a utilizar. En este caso, se ha decidido configurar como DNS los propios servidores DNS de Google con direcciones IP 8.8.8.8 (DNS primario) e IP 8.8.4.4 (DNS secundario). Siempre se configuran 2 servidores DNS por si el primero falla en la conexión.

Para realizarlo, ejecutar:
root@clienteLinux:~# mv /etc/resolv.conf /etc/resolv.conf.old
#Guardamos
el archivo resolv.conf original con otro nombre, por si en un futuro queremos tener el archivo original. A continuación se insertan los 2 DNS en el archivo.
root@clienteLinux:~# echo nameserver 8.8.8.8 > /etc/resolv.conf
root@clienteLinux:~# echo nameserver 8.8.4.4 >> /etc/resolv.conf
root@clienteLinux:~# cat /etc/resolv.conf
nameserver 8.8.8.8

nameserver 8.8.4.4

root@clienteLinux:~# ping www.elpais.es #ya responde afirmativamente, pues el servidor DNS sabe que IP tiene el servidor www.elpais.es

Paso 3. Realizar un script con inicio automático, para que el enrutamiento se inicie siempre.

Si reiniciamos la máquina SistemasUbuntu, ya no enrutará. Es decir, la máquina clienteLinux ya no responde afirmativamente a ping 8.8.8.8.

¿Cómo solucionarlo?
Crear un script con los comandos del paso 1. Este script se ejecutará siempre que se inicie el equipo de forma automática.
En Ubuntu el archivo /etc/rc.local se ejecuta siempre que se inicia GNU-Linux.
En Ubuntu 18.04 este archivo no existe, pero lo creamos e introducimos los comandos vistos:

root@SistemasUbuntu:~# nano /etc/rc.local
#
Se escriben las 4 líneas siguientes:
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 0/0 -j MASQUERADE
exit 0    #Siempre debe ser la última línea del script rc.local
root@SistemasUbuntu:~# chmod +x /etc/rc.local
#Se cambia permisos al archivo para que sea ejecutable.

root@SistemasUbuntu:~# reboot
#
Al reiniciar el equipo, se ejecuta rc.local, de forma que esta máquina ya enruta en todo momento. Comprobar que clienteLinux responde bien a ping www.elpais.es

Paso 4. Salida a Internet de máquinas Windows cliente1 y cliente2

Para que las máquinas Windows de la unidad 9 salgan a Internet, solo falta configurar en ellas la puerta de enlace y el servidor DNS que en su momento los dejamos en blanco según captura.
Configurar como puerta de enlace la máquina SistemasUbuntu: 192.168.100.103
Configurar como DNS los servidores de Google, 8.8.8.8 y 8.8.4.4.

Ilustración que muestra como se configura puerta de enlace y DNS
Miguel Ángel García Lara (CC BY-NC-SA)

Tener en cuenta que según la memoria RAM de la máquina anfitrión es posible que solo se puedan tener 2 o 3 máquinas virtuales encendidas. Reconfigurar si es necesaria la memoria de cada máquina en VirtualBox. Si las máquinas son de 64 bits, dejar 1600 MB en cada una. Si son de 32 bits, sólo 1024 MB.
En esta unidad, para realizar las prácticas siempre tendrá que estar encendida la máquina SistemasUbuntu, y alguna más como mínimo.