Rutas estáticas

per Victor Carceler darrera modificació 2020-03-25T16:25:57+02:00

Se desea implementar una red como la que muestra el siguiente diagrama:

Esquema_rutas_estáticas.png

Para ello se utilizarán máquinas virtuales con Ubuntu 15.04 Server que proporcionará el profesor.

  1. Descargue la imagen de la máquina virtual. Importe la máquina en VirtualBox. La máquina importada se llama Venera, y está configurada para utilizar 1GiB de RAM. Si su ordenador tiene 6GiB o más de memoria RAM no es necesario cambiar la memoria. Si tiene menos memoria principal cambie la máquina virtual para que sólo utilice 512MB. La máquina cuenta con una interfaz de red en modo NAT, esta interfaz nunca se desconectará. A los clones se les agregarán las interfaces de red que sean necesarias.
  2. Realice dos clones (enlazados y con reinicio de MAC) de la máquina Venera. El primer clon se llamará A y el segundo B. Observe en el diagrama cuántos adaptadores de red tiene cada una de las máquinas. Vamos a implementar la primera parte del diagrama, para ello agregue una interfaz de red a la máquina A y otra interfaz de red a la máquina B. Ambas estarán en modo 'red interna' de nombre 'switch1'.
  3. Arranque las máquinas y edite el fichero de configuración /etc/network/interfaces en la máquina A para que la nueva interfaz de red tenga la configuración adecuada en cada arranque. Repita el procedimiento en la máquina B. Reinicie las máquinas, compruebe que ambas arrancan con las interfaces bien configuradas y que se pueden hacer pings.
  4. Tome nota de la tabla de rutas de cada máquina. Puede consultar la tabla de rutas con el comando 'route'.
  5. Agregue a la máquina A una nueva interfaz de red en modo puente. Y haga lo necesario para que la interfaz tenga en cada arranque la IP estática 192.168.18.200+X.
  6. Realice un nuevo clon (reiniciando las MAC y enlazado) que se llamará C. Agregue una nueva interfaz de red a B y a C. Edite los ficheros de configuración para que las nuevas interfaces arranquen con la configuración adecuada. Compruebe que las máquinas B y C se pueden hacer pings.
  7. Tome nota de la tabla de rutas de la máquina B y C. ¿Qué ha variado?
  8. Mirando el diagrama se puede observar que si se desea que la máquina A se comunique con la máquina C será necesario utilizar a B como puerta de enlace. ¿Conoce el fichero que controla en Linux el reenvío de paquetes? ¿Qué valor tiene en cada máquina? ¿Este valor es adecuado a nuestro objetivo?
  9. El comando sysctl permite mostrar y cambiar el valor de los parámetros de funcionamiento del kernel. Por ejemplo, sysctl -a muestra los valores que se están utilizando, y sysctl -a | grep ip_forward muestra el que nos interesa. También puede utilizarlo para activar el reenvío de paquetes, o símplemete puede editar su fichero de configuración /etc/sysctl.conf y descomentar la línea correspondiente al reenvío de paquetes. De este modo, cada vez que el sistema arranque el reenvío de paquetes estará activo. Haga lo necesario para que las máquinas A, B y C arranquen con el reenvío de paquetes activado.
  10. Cambie la tabla de rutas de la máquina A para que se utilice la máquina B como puerta de enlace para alcanzar la red 192.168.112.0/24.
  11. Cambie la tabla de rutas de la máquina C para que se utilice la máquina B como puerta de enlace para alcanzar la red 192.168.111.0/24.
  12. Observe que en cada reinicio las dos rutas estáticas que ha añadido en los puntos anteriores se pierden. Una manera de asegurarse de que la ruta estática estará presente en cada arranque es incluirla en el fichero de configuración /etc/network/interfaces. Allí se puede especificar un comando que se ejecutará cuando se active/desactive cada interfaz. Siguiendo el ejemplo proporcionado, disponga lo necesario en A y C para que al levantar/bajar la interfaz de red que conecta con B se agregue/elimine la ruta correspondiente.
    auto eth0
    iface eth0 inet static
        address 192.168.1.42
        network 192.168.1.0
        netmask 255.255.255.128
        broadcast 192.168.1.0
        up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
        down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
  13. Clone la máquina D (enlazada y reiniciando las MACs). Añada una nueva interfaz a la máquina C y a la máquina D. Haga lo necesario para que ambas arranquen con las IPs estáticas que corresponden. Compruebe que la máquina C y la máquina D se pueden hacer pings.
  14. ¿Puede la máquina A hacer pings a la máquina D? Explique la razón.
  15. ¿Puede la máquina B hacer pings a la máquina D? Explique la razón.
  16. Haga lo necesario para que la máquina C tenga activo el reenvío de paquetes en cada reinicio.
  17. Añada las rutas necesarias en las máquinas B y D para asegurar que ambas se pueden comunicar. Cuando funcione, asegúrese de hacer que las rutas estén presentes en cada arranque.
  18. ¿Puede la máquina A hacer pings a la máquina D? Explique la razón.
  19. Añada las rutas necesarias en las máquinas A y D para asegurar que ambas se pueden comunicar. Cuando funcione asegúrese de hacer que las rutas estén presentes en cada arranque.
  20. Ejecute en la máquina A los comandos tracepath y mtr con destino D.