Переключение сервера на статический IP с DHCP
Я использую установку сервера Ubuntu 10.04, и недавно мне пришлось переключить его с DHCP на статический ip. Я редактировал /etc/network/interfaces
файл и переключился
iface eth0 inet dhcp
в
iface eth0 inet static
address 192.168.1.167
netmask 255.255.255.240
network 192.168.1.160
broadcast 192.168.1.175
gateway 192.168.1.161
Вы заметите, что IP-адреса немного странные. Это связано с тем, что сервер теперь находится в специальной подсети, предназначенной для изоляции определенных серверов. Я также отредактировал файл resolv.conf, включив в него надлежащие DNS-серверы (включая один из Google на тот случай, если весь ад сломался).
Проблема в том, что, казалось бы, случайно, машина потеряет способность общаться с внешним миром. Я знаю, что машина все еще работает, но она действует так, как будто у нее вообще нет сети. Я думаю, что отчасти проблема заключается в том, что в этой подсети не запущен DHCP (и не будет), и кажется, что dhclient все еще иногда запускается, что вызывает некоторый конфликт (не знаю, что), что приводит к прекращению работы сети. Однако я не могу удалить пакет dhcp3-client, так как это также приводит к удалению пакета ubuntu-minimal, и это было бы плохо.
Итак, есть идеи? Что может вызвать dhclient и что я могу сделать, чтобы он не работал?
2 ответа
Если вы не перезагрузили компьютер с тех пор, это нормальное поведение. Переход с dhcp на статический ip должен быть:
sudo ifdown eth0
- изменить конфигурацию
sudo ifup eth0
Причина в том, что если вы делаете ifdown после изменения конфигурации, он ведет себя так, как будто он отключает статический интерфейс, и не убивает процесс dhclient, который будет просто портить вашу конфигурацию. В этом случае просто убейте процесс dhclient
sudo killall dhclient
и все должно получиться.
Как упомянул jneves, это, вероятно, клиент DHCP, который все портит вам.
В качестве альтернативы sudo ifdown eth0
-редактировать-sudo ifup eth0
можно просто запустить/etc/init.d/networking restart
после того, как вы отредактировали файл. Это также имеет то преимущество, что вы можете сделать это удаленно...
(Не имея достаточного количества баллов по Askubuntu, я не могу просто комментировать ответ jneves, поэтому, пожалуйста, считайте это комментарием...)
Редактировать: полностью забыл; так как приведенная выше команда не отключает вас в любое время, ваш SSH-сеанс должен фактически пережить повторную загрузку конфигурации. Очень приятно иметь возможность изменять настройки сети при подключении к указанной машине...