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


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

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


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)


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


0

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


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.