Это продолжение следующего вопроса. Я пытаюсь установить статический IP-адрес, изменив /etc/network/interfaces на следующее:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
  address 192.168.2.133
  netmask 255.255.255.0
  gateway 192.168.2.1
  dns-nameservers 8.8.8.8

и затем запустить /sbin/ifdown eth0; /sbin/ifup eth0 . Однако изменение IP-адреса, похоже, не вступит в силу без редактирования /etc/dhcp/dhclient.conf и комментирования следующего перед запуском ifdown; ifup:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers,
        dhcp6.fqdn, dhcp6.sntp-servers;

Странно, после комментирования этой строки, запускается ifdown; ifup работает, но когда я раскомментирую его, поведение не возвращается к предыдущему поведению игнорирования изменений в моих настройках в /etc/network/interfaces (это не кажется проблемой, но мне действительно нужно иметь возможность повторить эта проблема, так что я могу быть уверен, что мое решение является надежным) Кроме того, я бы предпочел не редактировать /etc/dhcp/dhclient.conf для изменения моего статического IP- адреса, так как кажется, что я смогу сделать это, только отредактировав interfaces

Может ли кто-нибудь объяснить проблемы, которые я вижу выше, и предложить лучший способ внесения изменений в статические IP-адреса, обеспечивающий воспроизводимость, чтобы я мог быть уверен, что мой подход работает?

2 ответа2

0

Если в вашей системе есть файл /etc/network/interfaces , то он основан на Debian и, вероятно, имеет Network Manager, который а) классно игнорирует файл interfaces и б) запускает dhclient без запроса , даже когда устройство работает и работает так, как вы хотите.

Предполагается, что более новые версии NetworkManager будут игнорировать устройства с ручной или статической конфигурацией. Удачи с этим.

Network Manager отлично подходит для ноутбуков или любого ПК с картой Wi-Fi. На настольном ПК с локальной сетью Ethernet это вызывает больше проблем, чем решает, ИМХО.

Три решения, которые я видел, выберите наиболее подходящее:

  1. $ sudo su -c 'echo manual > /etc/init/network-manager.override'
  2. Добавьте строку NM_CONTROLLED=no в раздел устройства (кажется, больше в стиле RHEL)
  3. $ sudo apt-get remove --purge network-manager
0

Вы должны убедиться, что dhclient все еще не запущен, и выдать ip для eth0 когда он вернется.

Проверьте для dhclient:

ps aux | grep dhclient

Если работает, убейте его, затем выполните ifdown; ifup .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .