WireGuard
Версия от 06:22, 17 марта 2022; Дым (обсуждение | вклад)
Запускать ваергарда в связке с systemd-networkd под Альтом проще, чем во многих других дистрибутивах.
Настройка
Всего пара файлов:
/etc/systemd/network/wg.netdev
[NetDev] Name = wg Kind = wireguard # Сервер [WireGuard] ListenPort = 51820 PrivateKey = <хэш той же длины, что и у публичного ключа> # Клиент, которых может быть ощутимо больше одного [WireGuardPeer] PublicKey = FFly+CQaj1E2uVvGe4KIAOKn9238rxS/IOVQ2+JYDzs= AllowedIPs = 192.168.123.78/32,192.168.2.0/24 # Первый адрес — сам клиент, второй — его внутренняя сеть.
/etc/systemd/network/wg.network
[Match] Name = wg # Сеть как для взаимодействия с клиентами, так и им между собой [Network] Address = 192.168.123.182/24 # Пример маршрутизации к одному из таких клиентов [Route] Destination = 192.168.1.0/24 Gateway = 192.168.123.102
Мониторинг
Для журналирования активности модуля достаточно создать [на «железе» / в виртуалке] либо [на хост-системе / на всех узлах кластера контейнеризации] с ваергардом юнит /lib/systemd/system/wg-log.service
следующего содержания:
[Unit]
Description = WireGuard events logging
ConditionPathExists = /sys/kernel/debug/dynamic_debug/control
ConditionPathIsDirectory = /sys/module/wireguard
After = network.target systemd-modules-load.service
[Service]
Type = oneshot
RemainAfterExit = yes
ExecStart = echo module wireguard +p >/sys/kernel/debug/dynamic_debug/control
[Install]
WantedBy = multi-user.target
И запустить его навсегда командой # systemctl enable --now wg-log
Отслеживать текучку по journalctl -kf
.