Как использовать neworkd вместо NetworkManager на рабочем столе человечности 18.04

Я ищу корректный способ настроить сеть со статическим IP на Рабочем столе Ubuntu 18.04, но из командной строки а не GUI.

Спасибо

2
задан 19 May 2018 в 20:07

2 ответа

Я думаю, что это как близко к "корректному пути", поскольку можно добраться.

Сначала необходимо узнать, каково имя интерфейса. Чтобы сделать это просто работает ip address от Терминала. На моей машине это eno1 который может быть найден на первой строке:

me@pc:~$ ip address
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 90:b1:1c:aa:bb:cc brd ff:ff:ff:ff:ff:ff
    inet 10.1.2.16/24 brd 10.1.2.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::5cd1:3ee8:c461:6f12/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Затем просто необходимо отредактировать файл /etc/netplan/01-network-manager-all.yaml и заставьте его быть похожим на это для статического присвоения IP-адреса:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eno1:
      renderer: networkd
      match:
        name: eno1
      addresses: [10.1.2.16/24]
      gateway4: 10.1.2.1
      nameservers:
        search: [example.com]
        addresses: [10.1.2.10]

Это говорит netplan использовать networkd в интерфейсе eno1 вместо NetworkManager.

1
ответ дан 2 December 2019 в 04:43

TL;DR

Редактировать /etc/systemd/network/*.network

ПОЛНЫЙ ПРИМЕР:

Для правильной работы Wi-Fi ниже убедитесь, что вы заменили wlan0 с вашим точным именем Wi-Fi.

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

Изменить: /etc/systemd/network/10-eth0.network

[Match]
Name=eth0

[Network] 
Address=10.10.10.9/24
Gateway=10.10.10.1
DNS=9.9.9.9

Изменить: /etc/systemd/network/20-wlan0.network

[Match]
Name=wlan0
SSID=Wifi-SSID

[Network]
DHCP=ipv4

Я не использую сетевой план, поэтому предпочитаю его удалить:

apt purge netplan.io
rm -rf /etc/netplan

Включить systemd-networkd:

systemctl unmask systemd-networkd
systemctl enable systemd-networkd

Установить пароль Wi-Fi и запускать при загрузке:

wpa_passphrase Wifi-SSID Sweet-Password >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
systemctl enable  wpa_supplicant@wlan0.service

Ускорить время загрузки, отказавшись от ожидания сети при загрузке:

systemctl disable systemd-networkd-wait-online.service

ОБЪЯСНЕНИЕ:

Я вижу, что это старо, но я добавил здесь другой метод, который не использует уровень абстракции, например нетплан.io или NetworkManager, что, вероятно, более точно соответствует названию этой темы, если не вопросу.

Лично я предпочитаю этот метод, потому что:

  • Все основные дистрибутивы сейчас используют systemd, но немногие используют netplan.
  • это просто
  • это легко устранить
  • можно использовать с очень сложными настройками, включая мосты, соединения, вланы и т. д.
  • можно использовать для переименования устройств и изменения MAC-адресов
  • можно использовать для установить различные настройки на основе беспроводного SSID и других директив [Match]

Серьезно, взгляните на вики-страницу Arch, где это очень подробно объясняется с примерами. Прочитайте все это, потому что есть несколько ошибок. https://wiki.archlinux.org/index.php/Systemd-networkd

2
ответ дан 31 March 2020 в 10:57

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

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