Я пытаюсь переключиться с использования 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).
Так что, если кто-то еще получает эту ошибку, вероятно, это потому, что у вас установлен неправильный шлюз. Почему это ошибка с «Нет такого процесса», я не понимаю.