Não foi possível adicionar uma rota estática: SIOADDRT: a rede está inacessível


15

Eu estive batendo minha cabeça contra uma parede por alguns dias tentando descobrir isso: Meu ifconfig é:

eth0      Link encap:Ethernet  HWaddr 00:50:56:BB:XX:XX
          inet addr:192.168.36.132  Bcast:192.168.37.255  Mask:255.255.254.0

eth1      Link encap:Ethernet  HWaddr 00:50:56:BB:XX:XX
          inet addr:116.xx.xx.xx    Bcast:116.xx.xx.xx    Mask:255.255.255.192

Quando tento adicionar uma rota estática para sair do eth0, recebo o seguinte erro:

servername-test:/ # route add -net 10.248.12.0 netmask 255.255.255.240 gw 192.168.36.254 dev eth0 
SIOCADDRT: Network is unreachable

Meu gateway padrão é:

servername-test:~ # netstat -anr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
116.xx.xx.xx    0.0.0.0         255.255.255.192 U         0 0          0 eth1
192.168.238.0   192.168.36.254  255.255.255.0   UG        0 0          0 eth0
192.168.239.0   192.168.36.254  255.255.255.0   UG        0 0          0 eth0
192.168.36.0    192.168.36.254  255.255.254.0   UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         116.xx.xx.xx    0.0.0.0         UG        0 0          0 eth1

ip route list resultado

116.66.240.64/26 dev eth1 proto kernel scope link src 116.xx.xx.xx 
192.168.238.0/24 via 192.168.36.254 dev eth0 
192.168.239.0/24 via 192.168.36.254 dev eth0 
192.168.36.0/23 via 192.168.36.254 dev eth0
169.254.0.0/16 dev eth0 scope link 
127.0.0.0/8 dev lo scope link 
default via 116.xx.xx.xx dev eth1

Você poderia adicionar a saída de /sbin/ip addre /sbin/ip route? Estes são mais úteis para depuração do que ifconfig e netstat.
22614

rota ip:116.66.240.64/26 dev eth1 proto kernel scope link src 116.xx.xx.xx 192.168.238.0/24 via 192.168.36.254 dev eth0 192.168.239.0/24 via 192.168.36.254 dev eth0 192.168.36.0/23 via 192.168.36.254 dev eth0 169.254.0.0/16 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 116.xx.xx.xx dev eth1
AnonPoster

2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.36.132/23 brd 192.168.37.255 scope global eth0 inet6 fe80::xxx:xxx:xxx:xxx/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:50:56:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 116.xx.xx.xx/26 brd 116.xx.xx.xx scope global eth1 inet6 fe80::xxx:xxx:xxx:xxx/64 scope link valid_lft forever preferred_lft forever
AnonPoster

Queria editar sua postagem original e incluir as informações solicitadas. Colar essa saída nos comentários a torna totalmente ilegível.
22614

Também enfrentei o mesmo problema com meus servidores HPUX ao adicionar a rota padrão porque não consegui acessar os servidores disponíveis fora da minha rede. então eu tenho o comando correto para adicionar o padrão e verificar a tabela de roteamento em hpux aqui você também pode tentar, espero que isso pode ajudá-lo a resolver o seu problema também :)

Respostas:


16

Você não declarou o 192.168.36.0/23link local, apesar de ter um endereço atribuído a ele, nenhuma rota local do link parece estar listada em suas rotas.

192.168.36.0    192.168.36.254  255.255.254.0   UG        0 0          0 eth0
192.168.36.0/23 via 192.168.36.254 dev eth0

Em vez disso, seu declarado 192.168.36.0/23deve ser passado para o gateway 192.168.36.254que tecnicamente, de acordo com o restante da tabela de roteamento, não parece ser um vizinho (o kernel não tem idéia de como chegar 192.168.36.254).

Não deve haver um gateway atribuído, 192.168.36.0/23pois, de acordo com o seu endereço IP 192.168.36.132/23, provavelmente ele deve ser um intervalo local de link (vizinhos diretamente responsivos via ARP).

Você deve ter uma entrada como esta:

192.168.36.0    0.0.0.0  255.255.254.0   U        0 0          0 eth0
192.168.36.0/23 dev eth0 scope link

Para corrigir, você precisa remover a declaração do gateway 192.168.36.0/23e substituir por uma entrada como:

ip route add 192.168.36.0/23 dev eth0

Este é o problema! Eu não sei o que está causando isso. Em algum lugar deste servidor, o endereço IP está sendo declarado errado, embora eu não possa ver onde.
AnonPoster # 11/14

0

Nesse caso, esqueça a linha de comando, basta anexar diretamente a entrada do arquivo Ethernet e 'reiniciar a rede de serviço'. Isso funciona! Sinto-me bobo por computador, porque isso me irritou primeiro - então a mesma rota funciona perfeitamente enquanto adiciona com força no arquivo.


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.