LINUX

Cómo vaciar la tabla de enrutamiento de la caché en Linux

Tabla de ruteo

Una tabla de enrutamiento en redes de computadoras es una tabla de datos que se almacena en un enrutador o servidor de red que enumera las rutas a destinos de red particulares. Por lo general, cada ruta estática tiene una métrica asociada. Los dispositivos de red utilizan esta métrica para decidir qué ruta se seleccionará para los paquetes destinados a una red en particular. Cuando se habla en el contexto de los sistemas Linux o Unix, también mantienen una tabla de enrutamiento, principalmente cuando el servidor tiene más de una interfaz de red activa.

En algún momento, es posible que desee vaciar una tabla de enrutamiento o actualizarla para poder acceder a algunas redes. La (s) red (es) pueden ser locales en su organización, o cuando se trata de atravesar la Internet pública. La mayoría de las distribuciones de Linux proporcionan dos herramientas principales que se utilizan para esta tarea, a saber, IP y comando de ruta.

En este tutorial, describiré cómo vaciar la tabla de enrutamiento en Linux usando comandos de terminal.

Limpiar la tabla de enrutamiento usando el comando ip

IP es una herramienta de línea de comandos de Linux que se utiliza para mostrar y manipular el enrutamiento, los dispositivos de red, las interfaces y los túneles. Es un reemplazo de la herramienta ifconfig. El comando IP puede realizar casi todo tipo de configuraciones de red Linux para una interfaz.

Antes de limpiar cualquier ruta, es posible que primero deba verificar su tabla de enrutamiento actual usando el comando:

$ ip route 
default via 192.168.0.1 dev wlp1s0 proto dhcp metric 600 
192.168.0.0/24 dev wlp1s0 proto kernel scope link src 192.168.0.16 metric 600

Como puede ver en mi salida, mi ruta predeterminada está configurada en 192.168.0.1. Esto significa que todos los paquetes destinados a redes distintas de mi subred local 92.168.0.0/24 se reenviarán a través de 192.168.0.1. Esta IP 192.168.0.1 es para mi enrutador.

Para fines de demostración, iniciaré el servicio Docker en mi computadora portátil. Docker tiene su propia subred. usaremos esto para demostrar el uso del comando ip.

$ sudo systemctl start docker
$ ip route 
default via 192.168.0.1 dev wlp1s0 proto dhcp metric 600 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.0.0/24 dev wlp1s0 proto kernel scope link src 192.168.0.16 metric 600

Vaciar ruta específica

Ahora tengo otra ruta para la subred ‘172.17.0.0/16’ a través de ‘172.17.0.1’. Si quiero vaciar esta ruta, usaré:

$ sudo ip route flush 172.17.0.0/16
$ ip route 
default via 192.168.0.1 dev wlp1s0 proto dhcp metric 600 
192.168.0.0/24 dev wlp1s0 proto kernel scope link src 192.168.0.16 metric 600
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 600 0 0 wlp1s0
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp1s0

Puede confirmar que la ruta se ha eliminado de la tabla de enrutamiento.

Limpiar todas las rutas

Para vaciar todas las rutas en las tablas de enrutamiento, las opciones del comando ip route flush table main son usados. Los comandos completos para ejecutar son:

$ sudo ip route flush table main
$ ip route show

Una nueva comprobación de la tabla de enrutamiento debería volver vacía. Este comando debe usarse con precaución, ya que puede expulsarlo del servidor si no tiene una conexión directa o no tiene otros métodos de acceso como una consola, un módem, etc.

Vaciar una caché de enrutamiento

El kernel de Linux generalmente se refiere a la caché de enrutamiento antes de buscar una nueva ruta de las tablas de enrutamiento. Esta caché se puede borrar usando el comando.

$ sudo ip route flush cache

Confirme las rutas almacenadas en caché disponibles con:

$ sudo ip route show cache

Visualización de estadísticas de la caché de enrutamiento

Si desea obtener más información sobre las rutas en caché. usa los comandos:

$ sudo ip -s route show cache

Información adicional como «usado» Se proporciona un campo, que indica el número de veces que se ha accedido a esta ruta en la caché de enrutamiento.

Para una ruta estática persistente, puede colocar rutas en cualquiera de los siguientes archivos:

/etc/sysconfig/static-routes or /etc/sysconfig/network-scripts/route-<interface>  # Red Hat and its derivatives - CentOS, Fedora e.t.c
/etc/network/interfaces # Debian and its derivatives

Un ejemplo de rutas persistentes en CentOS 7 es:

# cat /etc/sysconfig/network-scripts/route-eth0

GATEWAY0=192.168.1.254
NETMASK0=255.255.255.0
ADDRESS0=192.168.5.0

GATEWAY1=10.10.10.1
NETMASK1= 255.255.255.240
ADDRESS1=10.164.234.132

Una línea en Ubuntu / Debian se verá a continuación:

up route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.1.254
down route del -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.1.254

Conclusión

En este tutorial, aprendimos cómo vaciar la tabla de enrutamiento del caché desde la terminal de Linux. Espero que haya disfrutado de la lectura y háganos saber sus sugerencias en la sección de comentarios a continuación.

Related Read: How to Use Linux Route Add Command

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