Почему dhclient все еще работает, когда я выбираю статический IP-адрес?

10

Я изменяю dhcp на static в / etc / network / interfaces (например, ниже).

# The primary network interface
auto eth0
iface eth0 inet static
netmask 255.255.0.0
address 10.10.130.128
gateway 10.10.1.1

Затем перезагрузите интерфейс.

$ sudo ifdown eth0; sudo ifup eth0
...
$ ifconfig
eth0      Link encap:Ethernet 
          inet addr:10.10.130.128  Bcast:10.10.255.255  Mask:255.255.0.0

Итак, новый адрес вступает.

Но DHCP все еще существует?

$ ps aux | grep dhc
root    ... dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0

Это нормально? Если нет, как перезапустить интерфейс в статическом IP-протоколе, одновременно остановив DHCP?

Большое спасибо.

    
задан user276851 01.05.2014 в 20:09
источник

3 ответа

16
  1. Сначала вам нужно отключить интерфейс (в режиме dhcp) sudo ifdown eth0
  2. Затем отредактируйте конфигурацию nano /etc/network/interfaces

    # The primary network interface
    auto eth0
    iface eth0 inet static
    netmask 255.255.0.0
    address 10.10.130.128
    gateway 10.10.1.1
    
  3. Верните интерфейс обратно sudo ifup eth0

В противном случае dhclient не корректно завершает работу,

    
ответ дан pvc 01.05.2014 в 20:24
источник
1

Я нашел для меня это из-за того, что NetworkManager от gnome все еще работает и думает, что он отвечает за устройство. Оглядываясь в прошлое, это должно было быть очевидно, поскольку ps показало, что dhclient запускается NetworkManager.

Как только я перезапустил свою систему, устройство перешло в «неуправляемый» в NetworkManager и перестало пытаться его настроить. Возможно, я мог бы добиться того же самого, просто остановив / перезапустив NetworkManager, я не уверен.

    
ответ дан fostandy 19.08.2014 в 02:54
1

У меня была такая же проблема (Ubuntu 16.04), но это был экземпляр облака, и я не мог легко справиться с этим интерфейсом.

короткий ответ: я удалил файл /etc/network/interface.d/50-cloud-init.cfg ifup был вызван этим конкретным файлом.

Длинный ответ: Я настроил интерфейс, используя /etc/network/interfaces со статическим IP-адресом, но я все еще нашел в daemon.log, что dhclient все еще запрашивал IP-адреса от DHCP, а dhclient запускался через systemd. В частности systemd называется unit.service unit, который называется ifup, который читает как файл интерфейсов, так и файл 50-cloud-init.cfg. Результатом является некоторые конфликты, но все же функциональная сеть.

    
ответ дан Patrick Deelman 20.04.2017 в 17:36