Как использовать Neworkd вместо NetworkManager на рабочем столе Ubuntu 18.04
Я ищу правильный способ настройки сети со статическим IP на Ubuntu Desktop 18.04, но из командной строки, а не из графического интерфейса.
Спасибо
1 ответ
Я думаю, это как можно ближе к "правильному пути".
Сначала вы должны узнать, как называется ваш интерфейс. Для этого просто запустите 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.
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
Я не использую netplan, поэтому предпочитаю его удалить:
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
ПОЯСНЕНИЕ:
Я вижу, что это устарело, но я добавил сюда другой метод, который не использует уровень абстракции, например netplan.io или NetworkManager, который, вероятно, более точно отвечает на заголовок этой ветки, если не на вопрос.
Лично я предпочитаю этот метод, потому что:
- Теперь все основные дистрибутивы используют systemd, но немногие используют netplan.
- это просто
- легко устранить неполадки
- может использоваться с очень сложными настройками, включая мосты, соединения, vlan и т. д.
- может использоваться для переименования устройств и изменения MAC-адресов
- может использоваться для установки различных настроек на основе беспроводного SSID и других директив [Match]
Серьезно, взгляните на вики-страницу Arch, которая очень подробно объясняет это с примерами. Прочтите все, потому что есть несколько ошибок. https://wiki.archlinux.org/index.php/Systemd-networkd