Назад | Перейти на главную страницу

Debian Jessie: dhclient всегда активен

При новых установках Debian Jessie после того, как я установил статический IP-адрес, DHCP-клиент все еще активен. Он даже возвращается к IP-адресу dhcp при продлении аренды.

шаг 1: модифицирую / etc / network / interfaces:

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
        address   192.168.0.8
        netmask   255.255.255.0
        network   192.168.0.0
        broadcast 192.168.0.255
        gateway   192.168.0.5

шаг 2: перезапускаю сеть systemctl restart networking.service (нет сообщения об ошибке)

шаг 3: проверьте, запущен ли dhclient: ps x | grep [d]hclient
-> dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

Если я перезагружаюсь, dhclient все равно запускается.
У меня такое поведение наблюдается на каждом Debian Jessie, который я устанавливаю со статическим IP-адресом.

Я не нашел, был ли запущен dhclient: find и grep ничего не нашел в /etc и /usr/lib
Я не привык к systemd и не понимаю, запускается dhclient с помощью systemd или нет.

Выполняемые процессы (я удалил свой сеанс Bash):

/sbin/init
/lib/systemd/systemd-udevd
/lib/systemd/systemd-journald
/usr/sbin/cron -f
/usr/sbin/atd -f
/lib/systemd/systemd-logind
/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
/usr/sbin/rsyslogd -n
/usr/sbin/acpid
/bin/login --
/usr/sbin/exim4 -bd -q30m
dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
/usr/sbin/sshd -D
/usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 108:113

Вопрос 1: как запускается dhclient?
Вопрос 2: каков "официальный" способ предотвратить его запуск? (кроме apt-get remove/purge)

Простое объяснение:

  • Вы перенастраиваете eth0 на ручной
  • перезапуск сети сделает:
    • отключение eth0 (вниз)
    • включение eth0 (вверх)
    • установка вашего статического IP-адреса

Поскольку для интерфейса не было установлено значение «dhcp» при остановке, dhclient не был остановлен.

Правильный способ:

  • стоп / если вниз
  • переконфигурировать
  • start / ifup

Или заботиться о dhclient вручную. Да и после перезагрузки он точно не должен запускаться.

Клиент dhcp просто не может обнаружить, что кто-то настроил другой IP-адрес. Так что вам нужно убить его, когда вы установите статический адрес.

Единственная загадка: почему, когда я перезагружал тестовый сервер, dhcp-клиент все еще был там?
Я только что снова провел тест на другом сервере и никаких проблем. Думаю, это был только я. Я что-то пропустил или забыл.