Я использую установку сервера 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 и что я могу сделать, чтобы он не работал?
sudo dhcpclient eth0
и прокомментируйте, если сеть была нарушена впоследствии. И последние строки,/var/log/syslog
если это возможноsudo ifdown eth0
согласно art.ubuntuforums.org/showthread.php?t=1419803ps auxf | less
, вы сможете увидеть список процессов, организованных в виде древовидной структуры. Затем вы можете увидеть, какой процесс spwaneddhclient
(просто зайдите на ветку); например, на моем компьютереdhclient
сынNetworkManager
процесса.Ответы:
Если вы не перезагрузили компьютер с тех пор, это нормальное поведение. Переход с dhcp на статический ip должен быть:
sudo ifdown eth0
sudo ifup eth0
Причина в том, что если вы делаете ifdown после изменения конфигурации, он ведет себя так, как будто он отключает статический интерфейс, и не убивает процесс dhclient, который будет просто портить вашу конфигурацию. В этом случае просто убейте процесс dhclient
и все должно получиться.
источник
Как упомянуто jneves , это, вероятно, клиент DHCP, который портит вам жизнь.
В качестве альтернативы
sudo ifdown eth0
-edit-sudo ifup eth0
вы можете просто запустить/etc/init.d/networking restart
после редактирования файла. Это также имеет то преимущество, что вы можете сделать это удаленно ...(Не имея достаточного количества баллов по Askubuntu, я не могу просто комментировать ответ jneves, поэтому, пожалуйста, считайте это комментарием ...)
Редактировать : полностью забыл; так как приведенная выше команда не отключает вас в любое время, ваш SSH-сеанс должен фактически пережить повторную загрузку конфигурации. Это является достаточно хорошо , чтобы быть в состоянии изменить сетевые настройки при подключении к указанной машине ...
источник
/etc/init.d/networking restart
(на сервере 10.04) после редактирования файла конфигурации - dhclient все еще работал. Мне пришлось вручную убить процесс dhclient (а затем я сделал перезагрузку, чтобы убедиться, что он не возобновится после перезапуска)