Ubuntu 18.04: переключитесь обратно в / etc / network / interfaces

Начиная примерно с Ubuntu 18.04, разработчики Ubuntu прекратили использовать классические /etc/init.d/networking и /etc/network/interfaces методы настройки сети и переключились на некоторые вещи , называемые netplan . Это очень разозлило многих людей и считалось плохим ходом. Можно ли удалить netplan и использовать правильный метод /etc/network/interfaces для настройки сети?

44
задан 28 December 2018 в 14:14

7 ответов

Следующая процедура работает на Ubuntu 18.04 (Бионический Бобр)

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

IV. Отключите и удалите нежелательные сервисы:

# 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

Поскольку Ubuntu, Бионический Бобр (18.04) использует сопоставитель тупика DNS в соответствии с SYSTEMD-RESOLVED.SERVICE (8), НЕОБХОДИМО также добавить DNS для контакта в/etc/systemd/resolved.conf файл. Например:

....
DNS=1.1.1.1 1.0.0.1
....

и затем перезапустите systemd-разрешенный сервис, однажды сделанный:

# systemctl restart systemd-resolved

Записи DNS в ИНТЕРФЕЙСАХ ifupdown (5) файл, как показано выше, только релевантен при использовании RESOLVCONF (8) или подобный.

43
ответ дан 23 November 2019 в 00:00

Почему не просто настраивают с netplan?

Ну, поскольку это настроено в С 18.04 рабочими столами, это - одна строка, передающая управление всем интерфейсам к NetworkManager.

В то время как это, вероятно, подходит для 95% пользователей, помните, что NetworkManager только выполняется, после того как Вы зарегистрированы к сессии.

Если Вы хотите, чтобы Ваша машина действовала как сервер/рабочий стол, например, начните служить файлам локальным машинам, действуя как сервер VNP, и т.д...., или что-либо "полагает", прежде чем любой будет когда-либо зарегистрирован, только очевидным фактом, это идет, Вы испытаете затруднения из-за того, как это настроено в стандарте, С 18.04 рабочими столами.

Конечно, альтернатива должна была бы использовать конфигурацию сервера-Netplan, которая, насколько я читал (не проверенный один), передает управление systemd-networkd вместо этого. В этом случае необходимо изучить, как systemd делает вещи как замену старой System V init.

Если Вы идете этот путь, все еще необходимо внести изменение в netplan yaml, с тех пор на настольной версии контроль дан к NetworkManager.

2
ответ дан 23 November 2019 в 00:00

Согласно этому ответу, решение состоит в том, чтобы удалить все операционные .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

... где пользователь является Вашим именем пользователя.

Теперь проверьте, чтобы удостовериться, что файла действительно не стало:

ls /etc/netplan

Теперь сделайте свои дополнения к/etc/network/interfaces как требуется.

Перезагрузка.

Какое-либо улучшение?

Сноска: точный процесс, чтобы сделать это трудно найти. Мы, возможно, должны совершенствовать немного, когда мы идем.

0
ответ дан 23 November 2019 в 00:00

Ключ знает это 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

Затем перезагрузка и это должны хорошо работать.

Известная хорошая конфигурация прибыла из, Настраивают связанный 802.3ad сеть с помощью netplan на Ubuntu 18.04.

1
ответ дан 23 November 2019 в 00:00

Netplan и yaml, в лучшем случае хрупкий в среде только для сервера (ошибки добавления отступа будут стоить Вам). Interfaces прощала достаточно, что это сделало управление параметрами сети на сервере довольно легким.
Netplan представляет новые слои. Но настоящая проблема состоит в том, что U18 повреждает ifupdown и не заканчивает задание с NetPlan. Если Вы возвращаетесь к/etc/network/interfaces путем переустановки ifupdown, управление DNS больше не работает в файле интерфейсов. Любые записи серверов имен DNS проигнорированы. Вместо этого DNS установлен в/etc/resolv.conf. Но Вы не можете отредактировать тот файл, потому что он переписывается каждый раз, когда машина загружается. WTF? Netplan был разработан, чтобы управляться GUI, таким образом, те из нас в лагере только для сервера оставляют с хрупкой системой, мы должны ходить на цыпочках вокруг. Не хорошая Ubuntu!
почему бы не дать нам способ перенаправить настройки в/etc/network/interfaces в netplan на начальной загрузке для помощи нам, в то время как Вы заканчиваете netplan?

9
ответ дан 23 November 2019 в 00:00

Команда Netplan отправила официальный ответ на их FAQ здесь:

Как вернуться к ifupdown

...

В рабочей системе netplan может быть удален путем установки ifupdown и конфигурирования/etc/network/interfaces вручную, поскольку пользователи сделали прежде.

Во время установки пользователь может решить использовать ifupdown предварительным отбором netcfg/do_not_use_netplan=true. Это сделано путем добавления строки перед семенем к командной строке при начальной загрузке установочного носителя (т.е. в меню начальной загрузки медиа установки, нажмите F6, тип 'e', и добавьте к командной строке).

См. ответ Nuxwin для большего количества полных инструкций.

10
ответ дан 23 November 2019 в 00:00

Ответ Nuxwin отличный и почти полный, я бы просто добавил строки:

rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Это гарантирует, что резолвер может быть обновлен DHCP -клиент, как это было раньше при использовании интерфейсов.

(Я бы добавил это как комментарий, но почему-то нужно 50 репутации, чтобы оставить комментарий)

6
ответ дан 17 November 2020 в 08:58

Другие вопросы по тегам:

Похожие вопросы: