Я ищу корректный способ настроить сеть со статическим IP на Рабочем столе Ubuntu 18.04, но из командной строки а не GUI.
Спасибо
Я думаю, что это как близко к "корректному пути", поскольку можно добраться.
Сначала необходимо узнать, каково имя интерфейса. Чтобы сделать это просто работает 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.
Редактировать /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, что, вероятно, более точно соответствует названию этой темы, если не вопросу.
Лично я предпочитаю этот метод, потому что:
Серьезно, взгляните на вики-страницу Arch, где это очень подробно объясняется с примерами. Прочитайте все это, потому что есть несколько ошибок. https://wiki.archlinux.org/index.php/Systemd-networkd