Impossible d'ajouter une route statique: SIOADDRT: le réseau est inaccessible


15

Je frappe ma tête contre un mur depuis quelques jours en essayant de comprendre ceci: Mon ifconfig est:

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

Lorsque j'essaie d'ajouter une route statique pour sortir de eth0, j'obtiens l'erreur suivante:

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

Ma passerelle par défaut est:

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 production

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

Pourriez-vous s'il vous plaît ajouter la sortie de /sbin/ip addret /sbin/ip route? Ils sont plus utiles pour le débogage que ifconfig et netstat.
daff

route 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

Je voulais dire, veuillez modifier votre message d'origine et inclure les informations que j'ai demandées. Coller cette sortie dans les commentaires la rend entièrement illisible.
daff

J'ai également rencontré le même problème avec mes serveurs HPUX lors de l'ajout de l'itinéraire par défaut car je n'ai pas pu accéder aux serveurs disponibles en dehors de mon réseau. j'ai donc obtenu la commande correcte pour ajouter la valeur par défaut et pour vérifier la table de routage dans hpux ici, vous pouvez également essayer, j'espère que cela peut vous aider à résoudre votre problème aussi :)

Réponses:


16

Vous n'avez pas déclaré le 192.168.36.0/23lien local, même si une adresse lui est attribuée, aucun itinéraire lien local ne semble être répertorié dans vos itinéraires.

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

Au lieu de cela, son déclaré 192.168.36.0/23devrait être transmis à la passerelle 192.168.36.254qui, techniquement, selon le reste de la table de routage, ne semble pas être un voisin (le noyau n'a aucune idée de comment y accéder 192.168.36.254).

Aucune passerelle ne doit être affectée 192.168.36.0/23car, selon votre adresse IP, 192.168.36.132/23elle est probablement destinée à être une plage de liaison locale (les voisins répondent directement via ARP).

Vous devriez avoir une entrée comme celle-ci à la place:

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

Pour résoudre ce problème, vous devez supprimer la déclaration de passerelle 192.168.36.0/23et la remplacer par une entrée telle que:

ip route add 192.168.36.0/23 dev eth0

C'est le problème! Je ne sais pas ce qui en est la cause. Quelque part sur ce serveur, l'adresse IP est déclarée incorrecte, bien que je ne puisse pas voir où.
AnonPoster

0

Si c'est le cas, oubliez la ligne de commande, ajoutez simplement l'entrée de fichier Ethernet directement et «service network restart». Ça marche! Je pense que l'ordinateur est stupide, car cela m'a énervé en premier - puis le même itinéraire fonctionne parfaitement tout en ajoutant avec force dans le fichier.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.