LINUX

Comando Agregar ruta de Linux con ejemplos

el comando agregar ruta de linux

El enrutamiento es la forma en que las computadoras se comunican en una red local oa través de Internet. Para comunicarse a través de una red, las computadoras necesitan saber a qué puerta de enlace deben enviar el tráfico. Una puerta de enlace podría ser un enrutador en su red.

El comando de ruta se usa en Linux para mostrar y modificar la tabla de enrutamiento de ip.

En este tutorial, explicaré cómo usar el comando de ruta para agregar rutas estáticas a través de la puerta de enlace para enviar tráfico.

1) Mostrar la tabla de enrutamiento

Antes de editar la tabla de enrutamiento, es bueno ver la tabla de enrutamiento predeterminada en su kernel de Linux.

Utilice el comando de ruta con -n opción para mostrar la tabla de enrutamiento de IP del kernel actual. Este comando ayuda a identificar las redes conectadas localmente con su ruta.

El siguiente comando muestra la tabla de enrutamiento:

$ route -n
Kernel IP routing table
Destination   Gateway      Genmask         Flags  Metric Ref  Use Iface
0.0.0.0       192.168.1.1  0.0.0.0         UG     600      0  0   eno1
169.254.0.0   0.0.0.0      255.255.0.0     U      1000     0  0   eno1
172.16.20.0   0.0.0.0      255.255.255.0   U      0        0  0   vmnet8
172.17.0.0    0.0.0.0      255.255.0.0     U      0        0  0   docker0
172.18.0.0    0.0.0.0      255.255.0.0     U      0        0  0   br-707c8e2f7441
192.168.1.0   0.0.0.0      255.255.255.0   U      600      0  0   eno1
192.168.161.0 0.0.0.0      255.255.255.0   U      0        0  0   vmnet1

También puedes usar netstat -nr Comando para imprimir conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones enmascaradas y membresías de multidifusión.

Muestre la tabla de enrutamiento con el comando netstat:

$ netstat -nr
 Kernel IP routing table
 Destination    Gateway      Genmask        Flags  MSS  Window irtt Iface
 0.0.0.0        192.168.1.1  0.0.0.0        UG     0    0      0    eno1
 169.254.0.0    0.0.0.0      255.255.0.0    U      0    0      0    eno1
 172.16.20.0    0.0.0.0      255.255.255.0  U      0    0      0    vmnet8
 172.17.0.0     0.0.0.0      255.255.0.0    U      0    0      0    docker0
 172.18.0.0     0.0.0.0      255.255.0.0    U      0    0      0    br-707c8e2f7441
 192.168.1.0    0.0.0.0      255.255.255.0  U      0    0      0    eno1
 192.168.161.0  0.0.0.0      255.255.255.0  U      0    0      0    vmnet1

Ahora tenemos el comando ip para mostrar las rutas

$ ip route show

2) Agregar una nueva ruta

Como dijimos anteriormente, para manipular la tabla de enrutamiento, usamos route add (agregar es opcional) para especificar manualmente una ruta estática que los paquetes usarán en la red. Se utiliza para asignar una ruta estática temporal que solo cambiará si el administrador cambia manualmente los valores de la nueva ruta.

Hay muchas posibilidades de utilizar un agregar ruta dominio.

Debemos indicar la red de destino, la máscara de subred de la red y la puerta de enlace a utilizar.

route add -net <network_address> gw <gateway> <interface_name>

Alternativamente, ahora puede usar ip route comando, la sintaxis es la siguiente:

ip route add <network_address> via <gateway> dev <interface_name>

Por ejemplo, agreguemos una nueva ruta de red 10.0.0.0/8 y a través de la dirección IP de la puerta de enlace 192.168.1.1:

# route add -net 10.0.0.0/8 gw 192.168.1.1 eno1

Ahora podemos mostrar la tabla de enrutamiento usando route -n:

# route -n
Kernel IP routing table
Destination   Gateway      Genmask      Flags  Metric Ref Use Iface
0.0.0.0       192.168.1.1  0.0.0.0       UG     600    0   0   eno1
10.0.0.0      192.168.1.1  255.0.0.0     UG     0      0   0   eno1
169.254.0.0   0.0.0.0      255.255.0.0   U      1000   0   0   eno1
172.16.20.0   0.0.0.0      255.255.255.0 U      0      0   0   vmnet8
172.17.0.0    0.0.0.0      255.255.0.0   U      0      0   0   docker0
172.18.0.0    0.0.0.0      255.255.0.0    U      0      0   0   br-707c8e2f7441
192.168.1.0   0.0.0.0      255.255.255.0  U      600    0   0   eno1
192.168.161.0 0.0.0.0      255.255.255.0  U      0      0   0   vmnet1

Puedes añadir netmask opción si desea agregar valor a la máscara de red. Si no se proporciona, el comando de ruta encuentra automáticamente el valor de la máscara de red.

# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.100 eth0
Kernel IP routing table
Destination  Gateway       Genmask       Flags Metric Ref Use Iface
192.168.1.0  192.168.1.100 255.255.255.0 UG    0      0   0   eth0
192.168.1.0  *             255.255.255.0 U     0      0   0   eth0
169.254.0.0  *             255.255.0.0   U     0      0   0   eth0
10.0.0.0     192.168.1.254 255.0.0.0     UG    0      0   0   eth0
default      192.168.1.1   0.0.0.0       UG    0      0   0   eth0

Para agregar una ruta a un uso de host específico -host opción. Solo necesitamos indicar la puerta de enlace a utilizar.

route add -host <host_IP_address> gw <gateway>

Por ejemplo, agreguemos un host específico «10.0.0.10» y luego mostremos la tabla de enrutamiento

# route add -host 10.0.0.10 gw 192.168.1.1 eno1
# route -n
 Kernel IP routing table
 Destination   Gateway      Genmask         Flags Metric Ref Use Iface
 0.0.0.0       192.168.1.1  0.0.0.0         UG    600    0   0   eno1
 10.0.0.0      192.168.1.1  255.0.0.0       UG    0      0   0   eno1
 10.0.0.10     192.168.1.1  255.255.255.255 UGH   0      0   0   eno1
 169.254.0.0   0.0.0.0      255.255.0.0     U     1000   0   0   eno1
 172.16.20.0   0.0.0.0      255.255.255.0   U     0      0   0   vmnet8
 172.17.0.0    0.0.0.0      255.255.0.0     U     0      0   0   docker0
 172.18.0.0    0.0.0.0      255.255.0.0     U     0      0   0   br-707c8e2f7441
 192.168.1.0   0.0.0.0      255.255.255.0   U     600    0   0   eno1
 192.168.161.0 0.0.0.0      255.255.255.0   U     0      0   0   vmnet1

En los ejemplos anteriores, la columna de la bandera tiene diferentes valores y estos pueden ser confusos.

Posibles banderas y su definición:

U – la ruta está arriba
H – el objetivo es un host
G – usar la puerta de enlace
R – restaurar ruta para enrutamiento dinámico
D – instalado dinámicamente por daemon o redirección
M – cambiado de demonio de enrutamiento o reenvío
A – instalado por addrconf
C – entrada de caché
! – rechazo de la ruta

3) Rechazar y eliminar una ruta

Podemos manipular la tabla de enrutamiento no solo para agregar rutas estáticas sino también para eliminar o rechazar una ruta que insertamos anteriormente.

Para eliminar una red de destino de la tabla de enrutamiento, utilice route del dominio:

route del -net <network_address> gw <gateway> <interface_name>

Por ejemplo, para eliminar la ruta a nuestra red 10.0.0.0/8:

# route del -net 10.0.0.0/8 gw 192.168.1.1 eno1

Salida

# route -n
 Kernel IP routing table
 Destination   Gateway     Genmask         Flags Metric Ref Use Iface
 0.0.0.0       192.168.1.1 0.0.0.0         UG    600    0   0   eno1
 10.0.0.10     192.168.1.1 255.255.255.255 UGH   0      0   0   eno1
 169.254.0.0   0.0.0.0     255.255.0.0     U     1000   0   0   eno1
 172.16.20.0   0.0.0.0     255.255.255.0   U     0      0   0   vmnet8
 172.17.0.0    0.0.0.0     255.255.0.0     U     0      0   0   docker0
 172.18.0.0    0.0.0.0     255.255.0.0     U     0      0   0   br-707c8e2f7441
 192.168.1.0   0.0.0.0     255.255.255.0   U     600    0   0   eno1
 192.168.161.0 0.0.0.0     255.255.255.0   U     0      0   0   vmnet1

Para prohibir una dirección IP pero todavía está en la tabla de enrutamiento. Tenga en cuenta que todavía usamos el parámetro de opción de agregar, pero al final del comando, debemos usar el reject opción. Podemos conservar o no nuestra puerta de enlace, pero no mencionamos la interfaz de salida.

route  add -host <host_IP_address> reject

En el siguiente comando rechazaremos nuestro host «10.0.0.10»:

# route add -host 10.0.0.10 reject

Muestre la tabla de enrutamiento después de los cambios:

# route -n
 Kernel IP routing table
 Destination   Gateway     Genmask         Flags Metric Ref Use Iface
 0.0.0.0       192.168.1.1 0.0.0.0         UG    600    0   0   eno1
 10.0.0.10      -          255.255.255.255 !H    0      -   0    -
 10.0.0.10     192.168.1.1 255.255.255.255 UGH   0      0   0   eno1
 169.254.0.0   0.0.0.0     255.255.0.0     U     1000   0   0   eno1
 172.16.20.0   0.0.0.0     255.255.255.0   U     0      0   0   vmnet8
 172.17.0.0    0.0.0.0     255.255.0.0     U     0      0   0   docker0
 172.18.0.0    0.0.0.0     255.255.0.0     U     0      0   0   br-707c8e2f7441
 192.168.1.0   0.0.0.0     255.255.255.0   U     600    0   0   eno1
 192.168.161.0 0.0.0.0     255.255.255.0   U     0      0   0   vmnet1

Las rutas agregadas con los comandos anteriores no son persistentes durante un reinicio, por lo que agregué rutas estáticas al archivo de configuración para mantenerlo permanente.

Para agregar rutas estáticas persistentes para cualquier distribución de Linux, puede usar el archivo genérico /etc/rc.local.

Para Ubuntu y Debian use el archivo llamado «/etc/network/interfaces» y en RHEL/CentOS use «/etc/sysconfig/network-scripts/route-ethX».

Conclusión

En este tutorial, aprendimos cómo agregar rutas estáticas en Linux usando el comando route add. Debemos tener en cuenta que con este método, la ruta no cambiará a menos que la cambies. Es importante borrar las rutas que no necesitamos.

Related Read: How to Permanently add Static Route in Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar