Я использую установку сервера 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, и это было бы плохо.
Итак, есть идеи? Что может вызывать клиент и что я могу сделать, чтобы он не работал?
Если с тех пор вы не перезагружали машину, это нормальное поведение. Переход от 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, мне не разрешают просто прокомментировать ответ jneve, поэтому считайте это комментарием...),
Править: Полностью забыл; поскольку вышеупомянутая команда не разъединяет Вас никогда, Ваша SSH-сессия должна на самом деле пережить перезагрузку конфигурации. Довольно хорошо смочь изменить настройки сети, будучи подключенным к упомянутой машине...