У меня есть сервер Ubuntu 10.04 со статической конфигурацией IP-адреса:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.2.51
network 192.168.2.0
netmask 255.255.255.0
broadcast 192.168.2.255
gateway 192.168.2.1
Время от времени (раз в месяц или раз в 3 дня в зависимости от нагрузки) сервер самопроизвольно сбрасывает этот IP-адрес и меняет его на настроенный через DHCP.
Когда это происходит, мне нужно подключиться к серверу по SSH (используя его .local
имя хоста) и делаем /etc/init.d/networking restart
чтобы он снова использовал статический IP-адрес.
Как это может случиться и, что более важно, как я могу это остановить?
Возможно ли, что процесс DHCP-клиента все еще работает?
Возможно, вы изменили сервер с DHCP на статический, выполнили перезапуск сети, но процесс dhclient завершился некорректно.
Ты можешь сделать
johnf@zoot:~$ ps ax | grep [d]hclient
28248 ? S 0:00 /sbin/dhclient # Other args
Проверять.
Если да, то отключите этот процесс или перезагрузите компьютер.
Почему бы не настроить DHCP-сервер для выдачи нужного IP-адреса на основе MAC-адреса сервера? С ISC dhcpd (де-факто стандартный DHCP-сервер для систем unix) просто добавьте что-то вроде этого в конфигурацию (убедитесь, что маска подсети и шлюз уже настроены правильно):
host server01
{
hardware ethernet MA:CA:DD:RE:SS;
fixed-address 192.168.2.51;
option host-name "server01";
}