Ubuntu 18.04: переключитесь обратно в /etc/network/interfaces
Начиная примерно с Ubuntu 18.04, разработчики Ubuntu перестали использовать классический /etc/init.d/networking
а также /etc/network/interfaces
метод настройки сети и переключился на то, что называется netplan
, Это очень разозлило многих людей и считалось плохим ходом. Можно ли удалить netplan
и используйте правильный /etc/network/interfaces
способ настройки сети?
8 ответов
Следующая процедура работает для Ubuntu 18.04 (Bionic Beaver)
I. Переустановите пакет ifupdown:
# apt-get update
# apt-get install ifupdown
II. Сконфигурируйте ваш файл /etc/network/interfaces с помощью разделов конфигурации, таких как:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
address 192.168.1.133
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
# Only relevant if you make use of RESOLVCONF(8)
# or similar...
dns-nameservers 1.1.1.1 1.0.0.1
III. Сделайте настройку эффективной (перезагрузка не требуется):
# ifdown --force enp0s3 lo && ifup -a
# systemctl unmask networking
# systemctl enable networking
# systemctl restart networking
Внутривенно Отключите и удалите нежелательные сервисы:
# systemctl stop systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl disable systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl mask systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# apt-get --assume-yes purge nplan netplan.io
Тогда все готово.
Примечание. Конечно, вы ДОЛЖНЫ адаптировать значения в соответствии с вашей системой (сеть, имя интерфейса...).
V. DNS Resolver
Поскольку Ubuntu Bionic Beaver (18.04) использует преобразователь заглушки DNS, предоставленный SYSTEMD-RESOLVED.SERVICE(8), вы ДОЛЖНЫ также добавить DNS для контакта в файл /etc/systemd/resolved.conf. Например:
....
DNS=1.1.1.1 1.0.0.1
....
и затем перезапустите systemd-resolved service, когда закончите:
# systemctl restart systemd-resolved
Записи DNS в файле ifupdown INTERFACES(5), как показано выше, актуальны только в том случае, если вы используете RESOLVCONF(8) или аналогичный.
Команда Netplan опубликовала официальный ответ на свой FAQ здесь:
Как вернуться в ifupdown
...
В работающей системе netplan можно удалить, установив ifupdown и сконфигурировав /etc/network/interfaces вручную, как это делали пользователи ранее.
Во время установки пользователь может выбрать использование ifupdown, предварительно выполнив команду netcfg / do_not_use_netplan = true. Это можно сделать, добавив строку preseed в командную строку при загрузке установочного носителя (т. Е. В меню загрузки установочного носителя нажмите F6, введите "e" и добавьте в командную строку).
Смотрите ответ Nuxwin для более полных инструкций.
Ответ Nuxwin велик и почти полный, я бы просто добавить строки:
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Это гарантирует, что распознаватель может быть обновлен DHCP-клиентом, как это было раньше при использовании интерфейсов.
(Я бы добавил это как комментарий, но почему-то нужно 50 репутации, чтобы оставить комментарий)
Netplan и yaml в лучшем случае хрупки в среде только для сервера (ошибки отступов будут стоить вам). Интерфейсы были достаточно прощающими, что облегчало управление настройками сети на сервере.
Netplan вводит новые слои. Но настоящая проблема в том, что U18 ломается, если не работает, и не завершает работу с NetPlan. Если вы вернетесь в /etc/network/interfaces путем переустановки ifupdown, управление DNS больше не будет работать в файле интерфейсов. Все записи DNS-имен игнорируются. Вместо этого dns устанавливается в /etc/resolv.conf. Но вы не можете редактировать этот файл, потому что он перезаписывается каждый раз при загрузке машины. WTF?
Netplan был разработан для управления с помощью графического интерфейса, поэтому у тех из нас, кто находится в лагере только для серверов, осталась хрупкая система, вокруг которой мы должны ходить на цыпочках. Не хорошо Ubuntu!
почему бы не дать нам способ перенаправить настройки в /etc/network/interfaces в netplan при загрузке, чтобы помочь нам, пока вы заканчиваете netplan?
Почему бы просто не настроить с Netplan?
Ну, так как он настроен в 18.04-Desktop, он представляет собой одну линию, передающую управление всем интерфейсам NetworkManager.
Хотя это, вероятно, подходит для 95% пользователей, помните, что NetworkManager запускается только после входа в сеанс.
Если вы хотите, чтобы ваша машина работала в качестве сервера / рабочего стола, например, начала передавать файлы на локальные машины, выступать в качестве VNP-сервера и т. Д. Или что-то "навороченное" до того, как кто-либо вошел в систему, просто по тому простому факту, что у вас будут проблемы с настройкой в стандартном 18.04-Desktop.
Конечно, альтернативой может быть использование конфигурации сервер-Netplan, которая, насколько я прочитал (не проверял сам), вместо этого передает управление systemd-networkd. В этом случае вам лучше узнать, как systemd работает как замена старой инициализации System V.
Если вы пойдете по этому пути, вам все равно придется внести изменения в netplan yaml, поскольку в настольной версии управление передается NetworkManager.
Ключ зная, что cloud.init
настоящая программа управления
Это, как говорится, линия в netplan
Конфигурационный файл "необязательно: правда" является обязательным.
Зная, что это легко.
Я только что удалил 01-network-manager-all.yaml
и скопировал его в /root/save/
, Затем поместите вместо него известный хороший конфиг, 50-cloud-init.yaml
: его содержание следует:
network:
version: 2
renderer: networkd
ethernets:
eports:
match:
name: enp*
optional: true
bonds:
bond0:
interfaces: [eports]
addresses: [192.168.2.5/24]
gateway4: 192.168.2.1
nameservers:
addresses: [127.0.0.1, 8.8.4.4]
parameters:
mode: 0
mii-monitor-interval: 100
Затем перезагрузите компьютер и он должен работать нормально.
Известная хорошая конфигурация была получена из Configure связанной сети 802.3ad с использованием netplan в Ubuntu 18.04.
Почему бы просто не удалить netplan:
$ sudo apt remove netplan
$ rm -rf /etc/netplan
Раз и навсегда!
Согласно этому ответу, решение состоит в том, чтобы удалить все рабочие файлы.yaml: Ubuntu 17.10 отключить netplan
Я бы не стал ничего удалять без резервного копирования. Мы можем сделать это легко, просто переместив файлы в сторону. Сначала найдите файлы:
sudo updatedb
locate netplan | grep yaml
В моей системе 18.04 кажется, что единственный рабочий файл - это /etc/netplan/01-network-manager-all.yaml. Давайте переместим это:
mkdir ~/netplan
sudo mv /etc/netplan/01-network-manager-all.yaml /home/user/netplan
... где user - ваше имя пользователя.
Теперь убедитесь, что файл действительно пропал:
ls /etc/netplan
Теперь внесите необходимые дополнения в /etc/network/interfaces.
Перезагружать.
Есть ли улучшения?
Сноска: Точный процесс сделать это трудно найти. Возможно, нам нужно немного уточнить, как мы идем.