Невозможно добавить статический маршрут: 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

4 ответа

Решение

Вы не заявили 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

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

Изменить: я добавил этот ответ перед форматированием, проблема в сетевой системе компьютера, возникла проблема с сетевой картой. Ни одно из решений не сработало. Пришлось менять материнскую плату. Edit2: Возможно, вы подключили кабель не к тому месту, дважды проверьте кабели.

(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/

Другие вопросы по тегам