Systemd-networkd
Настройка сети с помощью systemd-networkd
Установка пакет systemd-timesyncd, который пригодится сразу после переезда, автоматически тянет за собой собственно systemd-networkd:
# apt-get install -y systemd-timesyncd
Переименовываем каталог /etc/net:
# mv -f /etc/net /etc/net.old
Создаём файл /etc/systemd/network/lan.network:
# touch /etc/systemd/network/lan.network
Содержимое:
[Match] Name = *0 [Network] DHCP = ipv4
Делаем:
# systemctl disable NetworkManager && systemctl enable systemd-networkd systemd-timesyncd
После чего втыкаем шнур ethernet и делаем перезагрузку.
Создаём файл /etc/wpa_supplicant/wpa_supplicant-wlan0.conf:
# touch /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
Содержимое:
ctrl_interface=/run/wpa_supplicant ctrl_interface_group=wheel eapol_version=2 fast_reauth=1
Добавляем пароль на подключение к Wi-Fi точке:
# wpa_passphrase "имя точки доступа" "пароль" | sed '/#/d' >>/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
Включаем Wi-Fi:
# systemctl enable wpa_supplicant@wlan0
Выдергиваем шнур ethernet и перезагружаемся.
Выключаем сервис network:
# systemctl disable --now network
При добавлении каждой новой точки доступа делаем:
# wpa_passphrase "имя новой точки доступа" "пароль новой точки доступа" | sed '/#/d' >>/etc/wpa_supplicant/wpa_supplicant-wlan0.conf # systemctl restart wpa_supplicant@wlan0
Плюсы systemd-networkd:
- ключи от точек доступа никто не подберёт, поскольку в конфиге — их хэши.
- Точка доступа подключается ещё на системном уровне, а не при входе юзера в иксы.
Для контроля состояния сети:
$ networkctl $ ip -o a s | awk '!/inet6|lo /'
Переименовываем каталог /etc/net:
# mv -f /etc/net.old /etc/net
Удаляем пакеты openresolv, etcnet(тянет за собой NetworkManager):
# apt-get remove openresolv # apt-get remove etcnet
Создаём файл /etc/systemd/timesyncd.conf.d/ntp.conf:
# touch /etc/systemd/timesyncd.conf.d/ntp.conf
Содержимое:
[Time] NTP = ntp0.zenon.net ntp1.zenon.net FallbackNTP = ru.pool.ntp.org
Делаем перезапуск сервиса systemd-timesyncd:
# systemctl restart systemd-timesyncd
Удаляем файл /etc/resolv.conf:
# rm -f /etc/resolv.conf
Создаем символьную ссылку /etc/resolv.conf на /run/systemd/resolve/resolv.conf:
# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Перезагружаем компьютер:
#reboot
Для отключения Wi-Fi делаем:
$ systemctl stop wpa_supplicant@wlan0
Для настроек имени компьютера создаём файл /etc/sysctl.d/sysname.conf:
# touch /etc/sysctl.d/sysname.conf
Содержимое:
kernel.hostname = <имя компьютера>
Спасибо @gbIMoBou за переданные знания!