WireGuard: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
Запускать ваергарда в связке с systemd-networkd под Альтом проще, чем во многих других дистрибутивах. | |||
=Настройка= | |||
Всего пара файлов: | |||
#<code>/etc/systemd/network/wg.netdev</code> | |||
#:<source lang="ini"> | |||
[NetDev] | |||
Name = wg | |||
Kind = wireguard | |||
# Сервер | |||
[WireGuard] | |||
ListenPort = 51820 | |||
PrivateKey = <хэш той же длины, что и у публичного ключа> | |||
# Клиент, которых может быть ощутимо больше одного | |||
[WireGuardPeer] | |||
AllowedIPs = 192.168.123.78/32,192.168.2.0/24 | |||
PublicKey = FFly+CQaj1E2uVvGe4KIAOKn9238rxS/IOVQ2+JYDzs= | |||
</source> | |||
#<code>/etc/systemd/network/wg.network</code> | |||
#:<source lang="ini"> | |||
[Match] | |||
Name = wg | |||
# Сеть, через которую можно как взаимодействовать с клиентами, так и им между собой | |||
[Network] | |||
Address = 192.168.123.182/24 | |||
# Пример маршрутизации к одному из таких клиентов | |||
[Route] | |||
Destination = 192.168.1.0/24 | |||
Gateway = 192.168.123.102 | |||
</source> | |||
==Мониторинг== | ==Мониторинг== | ||
Для журналирования активности модуля достаточно создать [на «железе» / в виртуалке] либо [на хост-системе / на всех узлах кластера контейнеризации] с ваергардом юнит <code>/lib/systemd/system/wg-log.service</code> следующего содержания: | Для журналирования активности модуля достаточно создать [на «железе» / в виртуалке] либо [на хост-системе / на всех узлах кластера контейнеризации] с ваергардом юнит <code>/lib/systemd/system/wg-log.service</code> следующего содержания: |
Версия от 06:19, 17 марта 2022
Запускать ваергарда в связке с systemd-networkd под Альтом проще, чем во многих других дистрибутивах.
Настройка
Всего пара файлов:
/etc/systemd/network/wg.netdev
[NetDev] Name = wg Kind = wireguard # Сервер [WireGuard] ListenPort = 51820 PrivateKey = <хэш той же длины, что и у публичного ключа> # Клиент, которых может быть ощутимо больше одного [WireGuardPeer] AllowedIPs = 192.168.123.78/32,192.168.2.0/24 PublicKey = FFly+CQaj1E2uVvGe4KIAOKn9238rxS/IOVQ2+JYDzs=
/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
.