Como ingeniero de redes, probablemente dedique mucho tiempo a pensar y planificar su infraestructura de red.
Usted planifica cómo se conectarán las computadoras, físicamente usando cables específicos pero también lógicamente usando tablas de enrutamiento .
Cuando se construya su plan de red, tendrá que implementar cada enlace que teorizó en papel.
En algunos casos, si usa computadoras con Linux, es posible que deba agregar algunas rutas para vincularlo a otras redes de su empresa.
Agregar rutas en Linux es extremadamente simple y sin costo:puede usar el Administrador de red daemon (si está ejecutando una distribución reciente) o el ifconfig one .
En este tutorial, aprenderá cómo puede fácilmente agregar nuevas rutas en una máquina Linux para vincularlo a su red física.
Requisitos
Para agregar rutas en su máquina Linux, debe tener derechos de administrador.
Para verificarlo, puede ejecutar el “sudo ” seguido del comando “-v ” (para actualizar sus credenciales almacenadas en caché).
$ sudo -v
Si no tiene derechos de sudo, puede consultar nuestros artículos dedicados a obtener derechos de administrador en Ubuntu o CentOS.
Agregar ruta en Linux usando ip
La forma más fácil de agregar una ruta en Linux es usar el comando "ip route add" seguido de la dirección de red que se desea alcanzar y la puerta de enlace que se usará para esta ruta.
$ ip route add <network_ip>/<cidr> via <gateway_ip>
# Example
$ ip route add 10.0.3.0/24 via 10.0.3.1
De forma predeterminada, si no especifica ningún dispositivo de red, su primera tarjeta de red , su loopback local excluido, será seleccionado .
Sin embargo, si desea tener un dispositivo específico, puede agregarlo al final del comando.
$ ip route add <network_ip>/<cidr> via <gateway_ip> dev <network_card_name>
Como ejemplo, supongamos que desea que dos redes LAN puedan comunicarse entre sí.
La topología de red tiene tres máquinas Linux diferentes:
- Una computadora con Ubuntu que tenga 10.0.2.2/24 dirección IP;
- Otra computadora Ubuntu que tiene el 10.0.3.2/24 dirección IP;
- Una computadora RHEL 8 que actuará como un simple enrutador para nuestras dos redes.
La primera computadora no puede hacer ping a la otra computadora, no están en la misma subred:10.0.2.0 para la primera red de computadoras y 10.0.3.0 para la segunda red.
Como los dos hosts no forman parte de la misma subred, el comando ping va a la puerta de enlace predeterminada.
Para ver las rutas ya definidas en su máquina, utilice la “ruta ip Comando sin argumentos. También puede utilizar el comando "ip r" como abreviatura.
$ ip r
Esta es la tabla de enrutamiento de su computadora Linux:cada computadora tiene una. Un enrutador administra muchas más rutas que esa, pero básicamente utiliza la misma sintaxis de enrutamiento.
Entonces, ¿cómo se lee eso?
Para comprender este resultado, debe leer de arriba a abajo:
- Por predeterminado , las llamadas de la red se reenviarán a la puerta de enlace predeterminada local, que es 10.0.2.1.
- A MENOS QUE su llamada es para la red 10.0.2.0/24. En este caso, simplemente se enviará a su red local a través de su enlace físico predeterminado (físicamente un cable de red CAT)
- A MENOS QUE su llamada es para la red 169.254.0.0/16. En este caso, también se enviará a su red local utilizando su enlace físico predeterminado.
Nota :¿Sabías? La dirección 169.254.0.0/16 se llama APIPA (para el direccionamiento automático de direcciones IP) . Es la IP predeterminada utilizada por un sistema que no pudo comunicarse con un servidor DHCP en la red.
En nuestro caso, para poder llamar al 10.0.3.2/24 dirección IP, la llamada se desviará a nuestro 10.0.2.1 enrutador.
Sin embargo, ¿puede nuestro enrutador reenviar llamadas dirigidas a la red 10.0.3.0/24?
Un simple comando "ip r" en el enrutador puede darnos una pista.
Como puede ver, el enrutador solo está vinculado a la red 10.0.2.0/24, lo que obviamente es un problema.
Para agregar una ruta en nuestro enrutador Linux, usamos el “ip route add ” comando.
$ sudo ip route add 10.0.3.0/24 via 10.0.3.1
Ahora, si hiciera ping a su segunda computadora en la primera computadora, podría alcanzarla.
¡Impresionante, ha agregado con éxito una ruta de una computadora Linux a otra!
Agregar configuración de ruta permanente en Ubuntu
En Ubuntu, hay tres formas de agregar una ruta permanente a su máquina Linux:
- Puede agregarlo a su Administrador de red archivo de configuración;
- Puede editar su Netplan YAML archivo de configuración;
- Puede agregar su ruta a la "/etc/network/interfaces ” si está utilizando una distribución antigua de Ubuntu.
Uso del administrador de red
Para agregar una ruta permanente a Network Manager, debe navegar hasta el archivo de conexión ubicado en "/etc/NetworkManager/system-connections".
Edite su "conexión por cable ” y agregue una “ruta1 ” propiedad en la parte IPv4 de la configuración de la red.
La ruta debe definirse como:la dirección IP de la red seguida del CIDR, luego la puerta de enlace predeterminada y finalmente el siguiente salto.
Para que se apliquen los cambios, puede reiniciar su conexión de red y ejecutar el comando "ruta -n" para ver su ruta.
$ sudo nmcli connection reload
¡Impresionante, ha agregado una ruta permanente a su servidor Linux!
Usando Netplan
Netplan es exclusivo de Ubuntu, pero puede ser bastante útil si desea configurar su red usando un archivo YAML simple.
Para agregar una ruta permanente usando Netplan, agregue la siguiente sección a su archivo de configuración “/etc/netplan”.
$ sudo vi /etc/netplan/<configuration_file>.yaml
Para que se apliquen los cambios, deberá ejecutar el comando "netplan" con el argumento "aplicar".
$ sudo netplan apply
Felicitaciones, ha configurado su red usando Netplan . Si desea leer más sobre Netplan y sus objetivos, puede consultar la documentación dedicada.
Uso de /etc/network/interfaces
Para agregar una ruta permanente a una distribución usando ifup y ifdown, edite el archivo "/etc/network/interfaces" y agregue la siguiente sección.
$ sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.0.2.2
netmask 255.255.255.0
up route add -net 10.0.3.0 netmask 255.255.0.0 gw 10.0.2.1
Agregar configuración de ruta permanente en RHEL
Al agregar la ruta en la sección anterior, existe la posibilidad de que su distribución haya creado un archivo para que la ruta se conserve.
Sin embargo, si no es el caso, debe agregarlo para mantener su ruta al reiniciar su servidor.
En las distribuciones RHEL y CentOS, debe crear un archivo llamado "ruta-
$ sudo vi /etc/sysconfig/network-scripts/route-enp0s3
Agregar ruta en Linux usando nmcli
Otra forma de agregar una ruta en Linux es usar la utilidad "nmcli" y agregar una ruta IPV4 usando el comando "modificar".
$ sudo nmcli connection modify <interface_name> +ipv4.routes "<network_ip> <gateway_ip>"
Nota :¿necesita un artículo completo sobre Network Manager? Tenemos un artículo completo sobre cómo configurar su red usando Network Manager.
Por ejemplo, utilizando la infraestructura del apartado anterior, para añadir una ruta ejecutaríamos el siguiente comando.
$ sudo nmcli connection modify enp0s3 +ipv4.routes "10.0.3.0/24 10.0.3.1"
Como los cambios no se realizan en vivo, deberá volver a cargar sus conexiones de red desde el disco usando la función "nmcli reload ” comando.
$ sudo nmcli connection reload
¡Impresionante! Ahora hay una ruta entre su primera y segunda red.
Como consecuencia, podrá hacer ping a su segunda computadora desde la primera computadora.
Agregar una ruta usando la interfaz gráfica de red
Si no le gusta ejecutar comandos en la terminal, afortunadamente para usted, existe una manera de agregar una ruta en Linux usando una interfaz gráfica.
No importa si está en Ubuntu, Debian o RHEL, ya que todos comparten el mismo panel de red en GNOME.
En la esquina superior derecha de su pantalla, busque un pequeño icono de red y haga clic en él.
Haga clic en "Conectado por cable ” y busque la “Configuración por cable ” panel debajo de él.
Cuando se abra el panel, busque el mensaje "Cableado ” y haga clic en la pequeña rueda dentada justo al lado.
En el "Cableado ”, se le presentarán muchos parámetros diferentes:su dirección IPv4 actual, su dirección MAC actual, una dirección IPv6 opcional y su velocidad de enlace.
En el “IPv4 ", se le presentará su IP actual configurada (probablemente dos para que su computadora actúe como un enrutador Linux).
Justo debajo, verás las “Rutas " sección. Allí, puede especificar la entrada de las secciones anteriores.
Cuando haya terminado, haga clic en "Aplicar ” botón azul en la esquina superior derecha de la ventana.
Para que se apliquen los cambios, deberá reiniciar su red. Puede lograrlo haciendo clic en el botón "activar/desactivar" en la ventana "Con cable" de los parámetros de red.
¡Hecho!
Ha agregado con éxito una ruta en Linux usando la interfaz gráfica, sus computadoras ahora deberían poder comunicarse entre sí.
Resolución de problemas de Internet en Linux
En algunos casos, es posible que desee agregar una ruta en su Linux porque desea poder llegar a sitios web fuera de su red local, por ejemplo, 8.8.8.8.
Como ejemplo, supongamos que tiene un enrutador local vinculado a "Internet" que reside en 192.168.178.1/24.
Inspeccionar sus rutas actuales es una manera fácil de adivinar por qué no puede llegar a los sitios web de Internet.
El proceso de pensamiento es bastante simple:
- ¿La IP a la que intento acceder es parte de mi subred o no?
- Si es así, debería poder alcanzarlo sin ninguna ruta, todo será manejado por el protocolo ARP y Ethernet.
- Si no, necesito tener una ruta desde mi computadora a un enrutador que pueda reenviar solicitudes a Internet.
Sin embargo, recuerde que las rutas son autopistas de dos carriles:debe poder llegar a una IP externa, pero la IP externa debe poder comunicarse con usted.
Como consecuencia, las rutas deben definirse correctamente en la arquitectura de su red local. Como un diagrama es más útil que mil palabras, aquí tienes una forma de entenderlo.
Siempre que esté solucionando problemas de Internet, debe pensar con rutas:¿tengo una ruta desde mi computadora a la computadora que estoy tratando de alcanzar?
¿Las computadoras o los enrutadores entre el objetivo y yo están configurados para manejar mis llamadas?
Llegar a una parte de la red es excelente, pero, ¿esta parte de la red puede responderme?
En nuestro diagrama detallado anteriormente, nuestro enrutador puede recibir una respuesta de Google, pero tiene que saber qué hacer con la solicitud. En su red doméstica local, no tiene que preocuparse por eso, ya que la mayoría de las solicitudes se reenvían mediante el protocolo NAT. (abreviatura de Protocolo de traducción de direcciones de red).
Conclusión
En este tutorial, aprendió cómo puede agregar fácilmente una nueva ruta en muchas distribuciones de Linux diferentes.
En este momento, en cuanto a otros temas, algunas herramientas coexisten en Linux, lo que a veces hace que la configuración de la red sea un poco complicada.
Sin embargo, enumeramos la mayoría de las opciones que puede encontrar. Si nos olvidamos de una opción, asegúrese de dejar un comentario para que lo sepamos.
Si está interesado en Administración del sistema Linux , asegúrese de echar un vistazo a nuestra sección dedicada en el sitio web.