Intentando entender la forma correcta de crear una ruta estática en CentOS, por favor ayuda

8

He estado tratando de entender cuál es la forma correcta de agregar una ruta estática en una máquina CentOS 6.x. En algunos foros dicen que se cree un archivo llamado route-dev_name(por ejemplo, route-eth0) con la ruta correspondiente y que se coloque en él /etc/sysconfig/network-scripts, en algunos foros dicen que se debe nombrar el archivo static-routes, en ambos casos no puedo establecer una ruta estática. Parece que en algunas versiones de CentOS funciona solo cuando se nombra el archivo route-dev_namey en algunas solo funciona cuando se nombra el archivo static-routes. ¿Alguien puede ayudarme? Este es el contenido de mi archivo de ruta:

192.168.20.0/24 via 192.168.20.253 dev eth0

Gracias por adelantado

Itai Ganot
fuente
Estoy usando diferentes versiones de CentOS en diferentes servidores, pero principalmente CentOS 6.3-6.5
Itai Ganot

Respuestas:

7

Las rutas dependientes del dispositivo de estilo RH definidas usando /etc/sysconfig/network-scripts/route-devicearchivos han causado muchos problemas.

Entonces los administradores de sistemas reales usan solo /etc/sysconfig/static-routesarchivos sin dependencia del dispositivo:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1

Problemas:

  • Cuando los dispositivos físicos están unidos, debe recordar también la posibilidad de enrutar el archivo del dispositivo
  • Cuando reorganiza adaptadores en una máquina virtual.

Naturalmente, uno siempre debe usar dispositivos de puente , por lo que uno podría evitar problemas de archivo de dispositivo de ruta .

Observe también la sintaxis en el /etc/sysconfig/static-routesarchivo, fragmento de /etc/init.d/network:

    # Add non interface-specific static-routes.
    if [ -f /etc/sysconfig/static-routes ]; then
       if [ -x /sbin/route ]; then
           grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
               /sbin/route add -$args
           done
       else
           net_log $"Legacy static-route support not available: /sbin/route not found"
       fi
    fi
arl
fuente
8

Cree un archivo en / etc / syconfig / network-scripts / route-eth0

agregar agregar lo siguiente

192.168.20.0/24 via 192.168.20.253 dev eth0

Siempre he usado este enfoque. He encontrado que este es el mejor enfoque.

FYI: Verificación: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html

vijay rajah
fuente
1
Bien, ese es el enfoque que he estado usando hasta ahora, pero recientemente en máquinas CentOS 6.5 descubro que el route-devXarchivo se ignora y los servidores no suben la ruta cuando se reinicia el servidor o se reinicia el servicio de red, alguna idea ¿Qué podría causarlo?
Itai Ganot
No estoy seguro ... ¿Aparece la interfaz en el arranque / reinicio? ... No tengo un cajero automático de caja de prueba CENTOS / RHEL 6.5. No estoy seguro de si hay algún cambio en las rutas ifup en RHEL 6.5.
vijay rajah
Sí, las interfaces funcionan correctamente ... solo que la ruta no aparece y estoy hablando de una máquina recién instalada o de unos 2-3 meses. De todos modos, veo que uso el enfoque correcto, así que aceptaré tu pregunta, gracias.
Itai Ganot
4

Hay una manera más fácil de agregar rutas ...

Este archivo - /etc/init.d/networkse inicia cuando la PC se inicia y usa un archivo /etc/sysconfig/static-routespara agregar rutas estáticas

Tienes que crearlo porque no existe.

Si lee detenidamente el archivo /etc/init.d/network, lee en este archivo cada línea para agregar rutas, esas líneas deben comenzar por "any", y "route add -" ya se conoce.

Entonces, en el archivo que va a crear >> / etc / sysconfig / static-routes, debe escribir:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
  • donde 10.0.0.0/24 es la red a la que desea llegar (255.255.255.0 es la máscara)
  • donde gw 192.168.0.1 es la puerta de enlace para llegar (ciertamente el enrutador)
  • donde eth0 es la interfaz donde usar.

Esta es la mejor manera de agregar rutas estáticas, 1 archivo para todo (no archivos X para interfaces X)

Tom
fuente
1

Siempre uso el route-ethXenfoque de archivo en mi CentOS 6.4 y 6.5:

Cree / edite el archivo /etc/sysconfig/network-scripts/route-ethX(donde X es su número de interfaz) y configure su ruta en este archivo:

192.168.20.0/24 via 192.168.20.253 dev eth0

También puede editar este archivo usando el siguiente formato (personalmente prefiero la primera sintaxis):

GATEWAY0=192.168.20.253
NETMASK0=255.255.255.0
ADDRESS0=192.168.20.0

Luego reinicie la red para aplicar los cambios:

service network restart

Más información: https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html

krisFR
fuente
0

En / etc / sysconfig / network-scripts hay un script ifup-routes . Busca archivos con el nombre route-dev_name, por ejemplo, route-eth0.

Sciurus
fuente
0

En mi caso, el archivo " / etc / sysconfig / network-scripts / route-device " no existía.

Procedo a agregar la red o IP requerida en el archivo " / etc / sysconfig / static-routes " y para que sea permanente, reinicié la máquina y resultó funcionar como se esperaba.

se hizo en un: cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)

Atentamente,

Manuel Lazo

Manuel Lazo
fuente