Roteamento IP incorreto após a reinicialização da rede

2

Gostaria de tornar uma rota IP persistente, mas ela desaparece após a reinicialização ou reinicialização do serviço.

aqui minha net conf:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:ce:1c:48 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.56/16 brd 10.0.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.255.255.24/9 brd 10.255.255.255 scope global eth0:23
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fece:1c48/64 scope link
       valid_lft forever preferred_lft forever

cat ifcfg-eth0

ONBOOT=yes
DEVICE=eth0
BOOTPROTO=static
IPADDR=10.0.0.56
NETMASK=255.255.0.0
GATEWAY=10.0.0.1

cat ifcfg-eth0: 23

ONBOOT=yes
DEVICE=eth0:23
BOOTPROTO=static
IPADDR=10.255.255.24
CONNECTED_MODE=yes
NETMASK=255.128.0.0
GATEWAY=10.0.0.1

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth0
10.128.0.0      0.0.0.0         255.128.0.0     U     0      0        0 eth0

Quando eu quero ping 10.128.0.1, eu não posso fazer isso! Por outro lado, quando eu executo este comando:

ip r d 10.128.0.0/9 ; ip r a 10.128.0.0/9 via 10.0.0.1

eu posso pingar meu outro servidor (10.128.0.1) e minha rota é corrigida.

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth0
10.128.0.0      10.0.0.1        255.128.0.0     UG    0      0        0 eth0

ping 10.128.0.1

PING 10.128.0.1 (10.128.0.1) 56(84) bytes of data.
64 bytes from 10.128.0.1: icmp_seq=1 ttl=64 time=0.124 ms
64 bytes from 10.128.0.1: icmp_seq=2 ttl=64 time=0.109 ms

Ainda tomei o cuidado de adicionar o arquivo de rota em / etc / sysconfig / network-scripts / route-eth0

Assim:

default via 10.0.0.1 dev eth0
10.128.0.0/9 via 10.0.0.1 dev eth0

Eu não entendo porque meu trajeto está errado.

    
por BlaST77 05.09.2018 / 17:39

1 resposta

1

Verifique sua configuração de eth0:23 .

Seu endereço se sobrepõe a 10.128.0.0/9 , de modo que ele parece estar diretamente conectado ao sistema. É por isso que o sistema não permite adicionar uma rota através do gateway padrão!

Você pode ver por route -n que o gateway é 0.0.0.0 , o que significa conectado diretamente , então a linha

10.128.0.0/9 via 10.0.0.1 dev eth0

não pode ser executado (provavelmente dá um erro em algum arquivo de log também).

Obviamente, quando você exclui explicitamente a rota, o sistema permite que você adicione uma rota através do gateway padrão, já que ela não tem mais uma rota (a conectada diretamente) em suas tabelas.

Para corrigir isso, você precisa excluir a interface eth0:23 , pois 10.128.0.0/9 não é uma rede conectada e você não deve ter um endereço IP nessa máquina.

    
por 05.09.2018 / 17:48