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
Vous n'avez pas déclaré 192.168.36.0/23
lien 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/23
doit être transmis à la passerelle 192.168.36.254
qui techniquement d'après le reste de la table de routage ne semble pas être un voisin (le noyau ne sait pas comment se rendre à 192.168.36.254
).
Aucune passerelle ne doit être affectée à 192.168.36.0/23
car selon votre adresse IP 192.168.36.132/23
il s'agit probablement d'une plage de liens locaux (les voisins réagissant 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 pour 192.168.36.0/23
et remplacer par une entrée telle que:
ip route add 192.168.36.0/23 dev eth0
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.