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

Что означают ошибки SIOCDELRT и SIOCADDRT?

Я пытаюсь переключиться с использования dhcp на статический IP-адрес на сервере Ubuntu 10.04.

В / etc / network / interfaces я изменил

auto eth0
iface eth0 inet dhcp

к

auto eth0
iface eth0 inet static
address 210.4.211.xxx
netmask 255.255.255.xxx
gateway 210.4.211.xxx

и добавил строку в / etc / hosts так

210.4.211.xxx servername.example.com servername

Теперь, когда я перезапускаю сеть изнутри SSH-соединения, я получаю

user@servername:~$ sudo /etc/init.d/networking restart
 * Reconfiguring network interfaces...
SIOCDELRT: No such process

и сеть все еще работает с использованием адреса DHCP.

Хуже того, если я перезапускаю сеть с консоли виртуального сервера (или перезагружаю сервер), не удается запустить eth0 и сервер недоступен.

user@servername:~$ sudo /etc/init.d/networking restart
 * Reconfiguring network interfaces...
SIOCADDRT: No such process
Failed to bring up eth0

Что означают эти ошибки и как их исправить?

Ах, глупый я. После дальнейшего поиска выясняется, что SIOCADDRT и SIOCDELRT как минимум связаны с маршрутами ADDING и DELETE.

Поскольку я использовал причудливую маску подсети 255.255.255.192, я не заметил, что у меня был установлен шлюз на базовый адрес подсети, а не на маршрут по умолчанию (в данном случае используется .64 вместо .65).

Так что, если кто-то еще получает эту ошибку, вероятно, это потому, что у вас установлен неправильный шлюз. Почему это ошибка с «Нет такого процесса», я не понимаю.