Переключение сервера на статический 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-сеанс должен фактически пережить повторную загрузку конфигурации. Очень приятно иметь возможность изменять настройки сети при подключении к указанной машине...

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