WireGuard: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
# Клиент, которых может быть ощутимо больше одного | # Клиент, которых может быть ощутимо больше одного | ||
[WireGuardPeer] | [WireGuardPeer] | ||
PublicKey = FFly+CQaj1E2uVvGe4KIAOKn9238rxS/IOVQ2+JYDzs= | |||
AllowedIPs = 192.168.123.78/32,192.168.2.0/24 | AllowedIPs = 192.168.123.78/32,192.168.2.0/24 | ||
# Первый адрес — сам клиент, второй — его внутренняя сеть. | |||
</source> | </source> | ||
#<code>/etc/systemd/network/wg.network</code> | #<code>/etc/systemd/network/wg.network</code> | ||
Строка 23: | Строка 24: | ||
Name = wg | Name = wg | ||
# Сеть | # Сеть как для взаимодействия с клиентами, так и им между собой | ||
[Network] | [Network] | ||
Address = 192.168.123.182/24 | Address = 192.168.123.182/24 | ||
Строка 32: | Строка 33: | ||
Gateway = 192.168.123.102 | Gateway = 192.168.123.102 | ||
</source> | </source> | ||
=Мониторинг= | |||
Для журналирования активности модуля достаточно создать [на «железе» / в виртуалке] либо [на хост-системе / на всех узлах кластера контейнеризации] с ваергардом юнит <code>/lib/systemd/system/wg-log.service</code> следующего содержания: | Для журналирования активности модуля достаточно создать [на «железе» / в виртуалке] либо [на хост-системе / на всех узлах кластера контейнеризации] с ваергардом юнит <code>/lib/systemd/system/wg-log.service</code> следующего содержания: | ||
<source lang=ini> | <source lang=ini> |
Версия от 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
.