adiciona rota padrão para redhat permanentemente

1

Eu tenho um cluster composto por vários PCs RedHat_7. O nó mestre se conecta a duas redes (Interna e Internet). Eu costumava utilizar NAT para fornecer serviço de Internet para todos os computadores.

Por algum motivo, esse método não funciona agora. Os cmds do NAT são mostrados abaixo.

sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o em4 -j MASQUERADE
sudo sysctl -w net.ipv4.ip_forward=1

e, geralmente, eu tenho que adicionar uma rota padrão,

sudo route add default gw 'my_gateway' em4

Então, posso navegar na Internet. No entanto, ele funciona apenas por alguns minutos, então eu tenho que executar esses cmds periodicamente.

route -n fica abaixo:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.10   0.0.0.0         UG    100    0        0 em1
0.0.0.0         X.X.X.1         0.0.0.0         UG    101    0        0 em4
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 em1
X.X.X.0         0.0.0.0         255.255.224.0   U     0      0        0 em4
X.X.X.0         0.0.0.0         255.255.224.0   U     100    0        0 em4

e ip route show ficam abaixo:

default via 192.168.10.10 dev em1  proto static  metric 100 
default via X.X.X.1 dev em4  proto static  metric 101 
192.168.10.0/24 dev em1  proto kernel  scope link  src 192.168.10.10  metric 100 
X.X.X.0/19 dev em4  proto kernel  scope link  src MY_IP 
X.X.X.0/19 dev em4  proto kernel  scope link  src MY_IP  metric 100 

se eu executar o route add cmd, as alterações serão mostradas abaixo:

0.0.0.0         X.X.X.1      0.0.0.0         UG    0      0        0 em4

default via X.X.X.1 dev em4 

e depois de alguns minutos, essas mudanças se foram. Eu tenho algumas perguntas.

  1. por que a rota padrão é excluída depois de algum tempo?
  2. o marcador estático em ip route show significa o que?
  3. como resolver todo o problema?

Obrigado por qualquer ajuda.

EDITAR

O arquivo de configuração para esses dois arquivos é mostrado abaixo:

/ etc / sysconfig / scripts de rede / ifcfg-em1

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=em1
UUID=MYUUID
ONBOOT=yes
HWADDR=MYMAC
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.10.10
PREFIX=24
GATEWAY=192.168.10.10

/ etc / sysconfig / scripts de rede / ifcfg-em4

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=em4
UUID=MYUUID
ONBOOT=yes
HWADDR=MYMAC
PEERDNS=yes
PEERROUTES=yes
    
por stupig 03.03.2017 / 09:59

2 respostas

0

Parece que você pode estar usando o DHCP para sua rede interna e sua configuração de DHCP parece incluir uma rota padrão.

Seu problema é basicamente essas duas entradas:

default via 192.168.10.10 dev em1  proto static  metric 100 
default via X.X.X.1 dev em4  proto static  metric 101

Sua rota padrão em1 tem um custo um pouco menor do que seu gateway padrão em4, o que significa que a rota via 192.168.10.10 é a preferida.

Para o nó "principal" que fornece conectividade com a Internet, sua melhor opção é definir um IP estático (o nó mestre é presumivelmente um gateway, portanto, um IP estático faria sentido) e não usar DHCP.

Você também pode criar uma configuração específica do host no DHCP para seu nó mestre, mas suspeito que tornar o nó mestre estático é mais simples.

    
por 03.03.2017 / 10:24
0
sudo vi /etc/sysconfig/network

encontre e altere GATEWAY=x.x.x.x

sudo service network restart

Estático significa que ele foi estaticamente configurado por você, em vez de algum protocolo de roteamento.

    
por 03.03.2017 / 10:05