Systemd-networkd

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

Настройка сети с помощью 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 за переданные знания!