Назад | Перейти на главную страницу

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

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

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

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

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

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

Выполните следующую команду, чтобы добавить маршрут по умолчанию в 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/