Systemd-networkd

Материал из ALT Linux Wiki

Настройка сети с помощью systemd-networkd

Устанавливаем пакет systemd-timesyncd:

# 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 Делаем:

  1. systemctl disable NetworkManager && systemctl enable systemd-networkd systemd-timesyncd

После чего втыкаем шнур ethernet и делаем перезагрузку.

Создаём файл /etc/wpa_supplicant/wpa_supplicant-wlan0.conf:

  1. 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 точке:

  1. wpa_passphrase "имя точки доступа" "пароль" | sed '/#/d' >>/etc/wpa_supplicant/wpa_supplicant-wlan0.conf

Включаем Wi-Fi:

  1. systemctl enable wpa_supplicant@wlan0

Выдергиваем шнур ethernet и перезагружаемся.

Выключаем сервис network:

  1. systemctl disable --now network

При добавлении каждой новой точки доступа делаем:

  1. wpa_passphrase "имя новой точки доступа" "пароль новой точки доступа" | sed '/#/d' >>/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
  2. systemctl restart wpa_supplicant@wlan0

Плюсы systemd-networkd: 1) ключи от точек доступа никто не подберёт, поскольку в конфиге — их хэши. 2) Точка доступа подключается ещё на системном уровне, а не при входе юзера в иксы.

Для контроля состояния сети: $ networkctl $ ip -o a s | awk '!/inet6|lo /'


Переименовываем каталог /etc/net:

  1. mv -f /etc/net.old /etc/net

Удаляем пакеты openresolv, etcnet(тянет за собой NetworkManager):

  1. apt-get remove openresolv
  2. apt-get remove etcnet

Создаём файл /etc/systemd/timesyncd.conf.d/ntp.conf:

  1. touch /etc/systemd/timesyncd.conf.d/ntp.conf

Содержимое:

[Time] NTP = ntp0.zenon.net ntp1.zenon.net FallbackNTP = ru.pool.ntp.org

Делаем перезапуск сервиса systemd-timesyncd:

  1. systemctl restart systemd-timesyncd

Удаляем файл /etc/resolv.conf:

  1. rm -f /etc/resolv.conf

Создаем символьную ссылку /etc/resolv.conf на /run/systemd/resolve/resolv.conf:

  1. ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Перезагружаем компьютер:

  1. reboot


Для отключения Wi-Fi делаем: $ systemctl stop wpa_supplicant@wlan0

Для настроек имени компьютера создаём файл /etc/sysctl.d/sysname.conf:

  1. touch /etc/sysctl.d/sysname.conf

Содержимое: kernel.hostname = <имя компьютера>

Спасибо @gbIMoBou за знания!