Skip to main content

COMO: Agregar una ruta a la tabla de enrutamiento del kernel de Linux

::[INTRO]::

Comienzo esta colección de mini-mini-HOWTOs que he ido recolectando con mi trabajo diario con el sistema operativo Linux, algunos pueden ser muy sencillos, pero mas que sencillos o complicados, para mi, son asuntos que hacemos un par de veces o muchas veces y nunca memorizamos. Al menos para mi, algunas secciones de esta colección son de consulta obligada cuando realizo algunos montajes con este sistema operativo. Sin mas "chafa" aquí voy.

::[HOWTO]::

Supongamos, tenemos la siguiente problemática (un escenario típico):

Bien, ahora supongamos que estamos trabajando en la maquina donde esta el pingüino sentado y deseamos que esa máquina tenga conexión a Internet. Si observamos con detalle la topología ilustrada, veremos que quién provee el acceso a Internet para la Red Local (LAN) es el Firewall (192.168.0.254). Con lo anterior concluimos que:

- El default gateway (DG) o puerta de enlace por defecto para la red local (192.168.0.0) es el Firewall 192.168.0.254.

- Nos toca agregar una ruta a la tabla de enrutamiento del kernel en la maquina donde esta el pingüino sentado, diciendo que: para enviar paquetes a Internet, utilice la puerta de enlace por defecto de la red a la cual el pertenece. (Como lógico, no?)

Ahora bien, ¿como hacemos para agregar la famosa ruta?. Sencillo, basta con entrar el siguiente comando:

route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.254

route: es el comando para manipular las rutas de nuestro sistema Linux.

add: nos sirve para agregar la ruta a la tabla de enrutamiento del kernel.

-net: sirve para especificar la red destino a la cual van dirigidos los paquetes, el destino 0.0.0.0 quiere decir cualquier red diferente de la red local.

gw: permite especificar el enrutador por donde los paquetes que van con destino a la red especificada por -net deben enrutarse.

192.168.0.254: es el gateway o enrutador de nuestra red por donde los paquetes que vayan con un destino diferente a la red local, se van a enrutar.

Es de esta manera como agregamos rutas a la tabla de enrutamiento del kernel. Así nuestro pingüino tendría conexión a Internet utiliazando el Firewall de la red local como enrutador por defecto.

 

¿Y como hacemos par ver la tabla de enrutamiento del kernel?. Sencillo, con el siguiente comando:

netstat -rn

Por ejemplo, la tabla de enrutamiento del pingüino que tenemos sentado sobre el servidor de correo, se ve de la siguiente manera

Kernel IP routing table
Destination        Gateway        Genmask        Flags  MSS  Window  irtt  Iface
192.168.0.0        0.0.0.0        255.255.0.0    U      0    0       0     eth2
127.0.0.0          0.0.0.0        255.0.0.0      U      0    0       0     lo
0.0.0.0            192.168.0.254  0.0.0.0        UG     0    0       0     eth2

Noten como la ruta agregada en este ejemplo quedó al final de la tabla de enrutamiento

 

::[NOTA]::

Ambos comandos, route y netstat son comando que también se pueden emplear en Windows. Con algunas variantes en los parámetros se puede hacer lo mismo.

Nunca debe olvidarse que si uno quiere ver en detalle la ayuda de un comando en Linux, debe ejecutar el comando man nombre-del-comando. Ejemplo:

man route
man netstat

 

::[FINAL]::

Alguien podrá decir que todo esto es demasiada "carreta" para explicar como agregar una ruta a la tabla de enrutamiento del kernel de nuestro sistema Linux, y quizá tenga razón, una palabras que recuerdo mucho cuando escribo algo, son las que me decía mi mamá cuando estaba cursando la primaria: "...uno escribe para los demás..." y cobrán mas fuerza cuando estamos publicando documentos en Internet. ¿No creen?

En fin, suerte.

Mas claro que el agua.

Gracias!! Tu madre tenia más razón que un santo.

servidor dhcp

quisiera saber como configurarias un servidor dhcp teniendo en cuenta que cuentas con una maquina en centos con dos tarjetas de red como comenzarias y como configurarias las interfaces de las 2 tarjetas

Conceptos

Sin duda, porque aclara conceptos

Gracias

Excelente Tutorial

Muchas gracias Juan Felipe, excelente aporte.

Gonzalo