изменение /etc/network/interfaces не дает никакого эффекта

изменение /etc/network/interfaces не дает никакого эффекта

Я прочитал много сообщений о том, что для изменения IP-адресации ПК со статической на DHCP-адресацию нужно изменить файл /etc/network/interfaces, а затем перезапустить сеть с помощью:

/etc/init.d/networking restart

Однако когда я это делаю, перезапуск вроде бы проходит нормально, но (например, при использовании статического адреса) я вижу, что IP-адрес не изменился (при использовании ifconfig eth0).

Однако когда я делаю это вручную:

sudo ifconfig eth0 192.168.3.20 netmask 255.255.255.0 up

Затем все работает нормально, но только если я удалю строку «auto eth0» из сетевого файла, в противном случае будет использоваться DHCP.

Похоже, сетевой файл используется, но я не могу заставить его работать со статическими IP-адресами :(

Вот содержимое моего сетевого файла:

#auto eth0 COMMENTED OUT iface eth0 inet static address 192.168.3.21 (USING .21 HERE TO DISTINGUISH BETWEEN MANUAL AND NETWORKING) netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255 gateway 192.168.3.1

Я что-то делаю не так?

решение1

Ваша ошибка в том, что вы удалили строку

       auto eth0

которые вместо этого должны оставаться на месте. Вы также можете добавить DNS, чтобы ваша сеть работала: добавьте в строфу eth0 строку

       dns-nameservers 8.8.8.8 8.8.4.4

Обратите внимание на множественное число, nameserverс, и отсутствие знаков препинания между двумя именами серверов. Если вам не нравится Google, вы можете выбрать любой другой.

Что касается разницы между service networking restartи ifdown eth0 && ifup eth0, то ее нет: файл /etc/init.d/networking, который выполняется при перезапуске сетевой службы, содержит строки:

       # Provides:          networking ifupdown
         ...........
        ifup $ifaces "$@"

и так далее: другими словами, service networking restartиспользует ifup/ifdown. Оба варианта использования допустимы.

Связанный контент