GNU/Linux >> Tutoriales Linux >  >> Cent OS

Centos:¿la mejor manera de agregar una ruta permanente?

Necesito agregar una ruta que no se eliminará después de reiniciar. Leí estas dos formas de hacerlo:

Añadir ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX al archivo /etc/network/interfaces

o

Cree el archivo /etc/network/if-up.d/route con:

#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX

y hacerlo ejecutable:

chmod +x /etc/network/if-up.d/route

Así que estoy confundido. ¿Cuál es la mejor manera de hacerlo?

Respuesta aceptada:

Mencionaste /etc/network/interfaces , entonces es un sistema Debian...

Cree una tabla de enrutamiento con nombre. Como ejemplo, he usado el nombre "mgmt" a continuación.

echo '200 mgmt' >> /etc/iproute2/rt_tables

Arriba, el kernel admite muchas tablas de enrutamiento y se refiere a ellas mediante números enteros únicos numerados del 0 al 255. También se define un nombre, mgmt, para la tabla.

A continuación, un vistazo a un /etc/iproute2/rt_tables predeterminado sigue, mostrando que algunos números están reservados. La elección en esta respuesta de 200 es arbitraria; uno podría usar cualquier número que no esté ya en uso, 1-252.

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#

A continuación, un archivo de interfaces de Debian 7/8 define eth0 y eth1 . eth1 es la red 172. eth0 podría usar DHCP también. 172.16.100.10 es la dirección IP para asignar a eth1 . 172.16.100.1 es la dirección IP del enrutador.

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The production network interface
auto eth0
allow-hotplug eth0
# iface eth0 inet dhcp 
# Remove the stanzas below if using DHCP.
iface eth0 inet static
  address 10.10.10.140
  netmask 255.255.255.0
  gateway 10.10.10.1

# The management network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
  address 172.16.100.10
  netmask 255.255.255.0
  post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.10 table mgmt
  post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
  post-up ip rule add from 172.16.100.10/32 table mgmt
  post-up ip rule add to 172.16.100.10/32 table mgmt

Reinicie o reinicie la red.

Actualización:exposición sobre EL

Noté en un comentario que "también se preguntaba por RHEL".
En Enterprise Linux ("EL":RHEL/CentOS/et al), cree una tabla de enrutamiento con nombre como se mencionó anteriormente.

EL /etc/sysconfig/network archivo:

NETWORKING=yes
HOSTNAME=host.sld.tld
GATEWAY=10.10.10.1

EL /etc/sysconfig/network-scripts/ifcfg-eth0 a continuación, usando una configuración estática (sin NetworkManager y sin especificar "HWADDR" y "UUID" para el ejemplo a continuación).

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=10.10.10.140
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255

EL /etc/sysconfig/network-scripts/ifcfg-eth1 (sin NetworkManager y sin especificar "HWADDR" y "UUID" para el ejemplo a continuación).

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=172.16.100.10
NETMASK=255.255.255.0
NETWORK=172.16.100.0
BROADCAST=172.16.100.255

EL /etc/sysconfig/network-scripts/route-eth1 archivo:

172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt

EL /etc/sysconfig/network-scripts/rule-eth1 archivo:

from 172.16.100.0/24 lookup mgmt

Actualización para RHEL8

Este método descrito anteriormente funciona con RHEL 6 y RHEL 7, así como con los derivados, pero para RHEL 8 y derivados, primero debe instalar network-scripts para utilizar el método descrito anteriormente.

dnf install network-scripts

La instalación produce una advertencia de que network-scripts se eliminará en una de las próximas versiones importantes de RHEL y que NetworkManager proporciona ifup /ifdown guiones también.

Relacionado:¿Por qué la expresión regular en bash funciona solo si es una variable y no directamente?
Cent OS
  1. Instalar Putty en CentOS 8 - ¿El mejor método?

  2. Instalar Nmap en CentOS 8 - ¿El mejor método?

  3. Instalar Go en CentOS 8 - ¿El mejor método?

  4. ¿Cuál es la mejor manera de contar el número de archivos en un directorio?

  5. Linux:¿la forma portátil de obtener la dirección de origen de la ruta predeterminada?

Cómo agregar un usuario a un grupo en RHEL 8 / CentOS 8

4 formas de comprobar la versión de CentOS

La forma no oficial de migrar a AlmaLinux desde CentOS 8

Agregar cliente al servidor FreeIPA en CentOS 8

Cómo agregar espacio de intercambio en servidores Linux (CentOS/RHEL) sobre la marcha

CentOS/RHEL:Cómo agregar una ruta nula en Linux