Tentando entender a maneira correta de criar uma rota estática no CentOS, por favor, ajude


8

Eu tenho tentado entender qual é a maneira correta de adicionar uma rota estática em uma máquina CentOS 6.x. Em alguns fóruns, eles dizem para criar um arquivo chamado route-dev_name(por exemplo, route-eth0) com a rota relevante e colocá-lo /etc/sysconfig/network-scripts. Em alguns fóruns, eles dizem que o arquivo deve ser nomeado static-routes; em ambos os casos, não consigo definir uma rota estática. Parece que em alguns lançamentos do CentOS, ele funciona apenas ao nomear o arquivo route-dev_namee, em alguns, apenas ao nomear o arquivo static-routes. Alguém pode me ajudar? Este é o conteúdo do meu arquivo de rota:

192.168.20.0/24 via 192.168.20.253 dev eth0

desde já, obrigado


Estou usando diferentes versões do CentOS em servidores diferentes, mas principalmente CentOS 6.3-6.5
Itai Ganot

Respostas:


7

As rotas dependentes de dispositivo do estilo RH definidas usando /etc/sysconfig/network-scripts/route-devicearquivos causaram muitos problemas.

Assim, os administradores de sistemas reais usam apenas /etc/sysconfig/static-routesarquivos sem dependência de dispositivo:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1

Problemas:

  • Quando os dispositivos físicos estão ligados, você também deve lembrar-se de criar um arquivo de dispositivo de rota por acaso
  • Quando você reorganiza os adaptadores em uma máquina virtual.

Naturalmente, sempre se deve usar dispositivos de ponte , para evitar problemas de arquivo de dispositivos de rota .

Observe também a sintaxe no /etc/sysconfig/static-routesarquivo, sniplet 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

Crie um arquivo em / etc / syconfig / network-scripts / route-eth0

add adiciona o seguinte

192.168.20.0/24 via 192.168.20.253 dev eth0

Eu sempre usei essa abordagem. Eu descobri que essa é a melhor abordagem.

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


1
Tudo bem, essa é a abordagem que tenho usado até agora, mas recentemente, nas máquinas CentOS 6.5, acho que o route-devXarquivo está sendo ignorado e os servidores não seguem a rota quando o servidor é reiniciado ou o serviço de rede é reiniciado, alguma idéia o que poderia causar isso?
Itai Ganot 17/02

Não tenho certeza .. A interface aparece na inicialização / reinicialização? .. Não tenho uma caixa ATM do CENTOS / RHEL 6.5. Não tenho certeza se há alguma alteração nas rotas ifup no RHEL 6.5.
Vijay rajá

Sim, as interfaces operam corretamente ... apenas a rota não está chegando e estou falando de uma máquina recém-instalada ou com cerca de 2 a 3 meses de idade. De qualquer forma, vejo que uso a abordagem correta, por isso vou aceitar sua pergunta, obrigado.
Itai Ganot

4

Existe uma maneira mais fácil de adicionar rotas ...

Este arquivo - /etc/init.d/network- é iniciado quando o PC está inicializando e usa um arquivo /etc/sysconfig/static-routespara adicionar rotas estáticas

Você precisa criá-lo porque não existe.

Se você ler atentamente o arquivo /etc/init.d/network, ele lê neste arquivo cada linha para adicionar rotas, essas linhas devem começar por "any" e "route add -" já é conhecido.

Portanto, no arquivo que você irá criar >> / etc / sysconfig / static-routes, você deve escrever:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
  • onde 10.0.0.0/24 é a rede que você deseja acessar (255.255.255.0 é a máscara)
  • onde gw 192.168.0.1 é o gateway a ser alcançado (certamente o roteador)
  • onde eth0 é a interface onde usar.

Esta é a melhor maneira de adicionar rotas estáticas, 1 arquivo para tudo (não arquivos X para interfaces X)


1

Eu sempre uso a route-ethXabordagem de arquivo no meu CentOS 6.4 e 6.5:

Crie / edite o arquivo /etc/sysconfig/network-scripts/route-ethX(em que X é o número da sua interface) e defina sua rota neste arquivo:

192.168.20.0/24 via 192.168.20.253 dev eth0

Você também pode editar este arquivo usando o seguinte formato (pessoalmente, prefiro a primeira sintaxe):

GATEWAY0=192.168.20.253
NETMASK0=255.255.255.0
ADDRESS0=192.168.20.0

Em seguida, reinicie a rede para aplicar as alterações:

service network restart

Leitura adicional: https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html


0

Em / etc / sysconfig / network-scripts, há um script ifup-routing . Ele procura por arquivos com o nome route-dev_name, por exemplo, route-eth0.


0

No meu caso, o arquivo " / etc / sysconfig / network-scripts / route-device " não existia.

Continuo adicionando a rede ou ip necessário no arquivo " / etc / sysconfig / static-routes " e, para torná-lo permanentemente, reinicializei a máquina e ela funcionou conforme o esperado.

foi feito em um: cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)

Cumprimentos,

Manuel Lazo

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.