Невозможно добавить статический маршрут: SIOADDRT: сеть недоступна

15

Я несколько дней бился головой о стену, пытаясь понять это: Мой 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

Когда я пытаюсь добавить статический маршрут для выхода из eth0, я получаю следующую ошибку:

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

Мой шлюз по умолчанию:

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 выход

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
источник
Не могли бы вы добавить вывод /sbin/ip addrи /sbin/ip route? Они более полезны для отладки, чем ifconfig и netstat.
Дафф
ip route: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
Я имел в виду, пожалуйста, отредактируйте ваш оригинальный пост и включите информацию, которую я запрашивал. Вставка этого вывода в комментарии делает его совершенно нечитаемым.
Дафф
Я также столкнулся с той же проблемой с моими серверами HPUX при добавлении маршрута по умолчанию, потому что я не смог получить доступ к серверам, которые доступны за пределами моей сети. поэтому я получил правильную команду, чтобы добавить значение по умолчанию и проверить таблицу маршрутизации в hpux, здесь вы также можете попробовать, я надеюсь, что это также может помочь вам решить вашу проблему :)

Ответы:

16

Вы не объявили 192.168.36.0/23локальную ссылку, несмотря на то, что для нее назначен адрес, в ваших маршрутах не отображается маршрут локальной ссылки.

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

Вместо этого его объявленное значение 192.168.36.0/23должно быть передано на шлюз, 192.168.36.254который технически в соответствии с остальной таблицей маршрутизации не является соседом (ядро не знает, как к нему добраться 192.168.36.254).

Для него не должен быть назначен шлюз, 192.168.36.0/23потому что в соответствии с вашим IP-адресом 192.168.36.132/23он, вероятно, должен быть локальным диапазоном связи (соседи напрямую реагируют через ARP).

У вас должна быть такая запись:

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

Для исправления необходимо удалить объявление шлюза 192.168.36.0/23и заменить его записью, такой как:

ip route add 192.168.36.0/23 dev eth0
Мэтью Ифе
источник
Это проблема! Я не знаю, что вызывает это все же. Где-то на этом сервере IP-адрес объявляется неверным, хотя я не вижу, где.
AnonPoster
0

Если это так, забудьте командную строку, просто добавьте запись файла Ethernet напрямую и перезапустите сервисную сеть. Это работает! Я чувствую компьютер глупо, потому что это меня сначала раздражало - тогда тот же маршрут отлично работает, но принудительно добавляет в файл.

Гянешвор Похрел
источник
-4

(Qouting) Whevener добавит маршрут по умолчанию, необходимо указать метрику 1 и выполнить команду route add:

Выполните приведенную ниже команду, чтобы добавить маршрут по умолчанию в HPUX:

#route add default 192.168.178.1 1
add net default: gateway 192.168.178.1

Маршрут по умолчанию добавлен.

Согласно этому http://expertisenpuru.com/1-easy-command-to-add-default-route-in-hpux/

Сефер
источник