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