En esta pr’actica vamos a configurar un host con Linux para que permita la conexi’on de dos redes diferentes, es decir, vamos a “crear” un router sencillo que sea capaz de encaminar tr’afico entre dos redes.
Probablemente, el caso m’as frecuente que como administradores de una red nos podemos encontrar consiste en la interconexi’on de una red privada a una red p’ublica o privada ya conectada a Internet. En la Figura 1 se muestra la arquitectura de la red que deseamos construir. Esta configuraci’on, aunque es simple en extremo, puede sernos muy ’util en situaciones donde, por ejemplo, tengamos un host R ya conectado a Internet y queramos conectar otro host H a Internet, a trav’es de R. En este contexto, al host R se le llama tpicamente NAT-box (o simplemente, NAT).
El host R que hace de router/NAT debe tener una caracter’istica especial: poseer al menos dos adaptadores de red para poder conectar las dos redes (en la Figura 1, las redes 192.168.0.0/16 y 10.0.0.0/8). Los adaptadores de red no tienen que ser del mismo tipo. En este sentido, un portatil podr’ia servir perfectamente si el puerto Ethernet se conecta, por ejemplo, a Internet (192.168.0.0/16) y el puerto WiFi se utiliza para crear la nueva subred (10.0.0.0/8) y conectar a trav’es de ella cualquier otro host H (tambi’en con Wifi) al portatil R (v’ease el Ap’endice ??).
Finalmente, ¡n’otese que la red 10.0.0.0/8 posee 224 direcciones IP! Esto significa que, en la inmensa mayora de las situaciones no vamos a nacesitar utilizar una red tan grande, y evidntemente, podemos usar una mscara de red diferent, /24 por ejemplo, para trabajar con un rango de direcciones mucho ms tratable.
Para configurar el router/NAT tenemos que hacer b’asicamente tres cosas:
Con la idea de facilitar tanto como sea posible dicha configuraci’on, se ha diseñado un script que acepta dos par’ametros: start y stop, para activar y desactivar las habilidades de routing/NATing en el host R, respectivamente. Dicho script (que deber’ia modificarse si alguno de los interfaces de red de R se llaman de otra forma) puede encontrarse en http://www.ace.ual.es/\~vruiz/redes/practicas/nat.sh y su contenido es:
Un aspecto importante de cara a realizar esta pr’actica es que no pueden existir dos redes vecinas con el mismo nombre. Si esto ocurriera, habr’ia que modificar el script y cambiar el nombre de la red WiFi (LAN) por cualquier otro nombre diferente. Tras esto, deber’ian estar visibles todas las redes. Tras esta breve aclaraci’on, desc’argese este script, modif’iquelo a su gusto, aseg’usrese de que la utilidad network-manager no est’a controlando su enlace WiFi, y, finalmente, ejec’utelo como administrador mediante el comando:
Simplemente hay que configurar el enlace WiFi usando el mismo ESSID y canal que los usados por el router/NAT y a continuaci’on asignar una direcci’on IP del rango 10.0.0.0/8 que no est’e siendo usada por ning’un otro adaptador de red.
A continuaci’on se muestran los comandos que hay que ejecutar para un host H que reciba la IP 10.0.0.2 en eth2. Puesto que la configuraci’on de los hosts se est’a realizando a mano, ¡hay que tener cuidado de que no exista m’as de un host con la misma direcci’on IP!