Есть необходимость получить доступ к локальной подсети клиента, находящемся за NATом используя WireGuard тоннель.
Имеется:
Поднятый WireGuard сервер с белым интернет адресом x.x.x.x (внутренний 10.0.0.1)
Подключенные к нему клиенты:
Клиент 1 , подключенный к этому серверу (интерфейс1 10.0.0.2 , интерфейс2 192.168.0.1)
Клиент 2 , подключенный к этому серверу (10.0.0.3)
Все 3 хоста друг друга видят , трафик бегает. Однако мне необходимо с
Клиента 2 получить доступ к подсети 192.168.0.0/24
Клиента 1.
Как правильно в данной ситуации настроить маршрутизацию и роутинг?
Системы хостов - не принципиально, допустим linux
VPN - WireGuard , да знаю про OpenVpn и и прочие, но в данной ситуации мне очень удобен именно WireGuard. Да и не принципиально.
Конфиг сервера wg0.conf[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = ...
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat
[Peer]
PublicKey = ...
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = ...
AllowedIPs = 10.0.0.3/32
Конфиг клиентов wg2.conf[Interface]
PrivateKey = ...
ListenPort = 51820
[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
Endpoint = x.x.x.x:51820
PersistentKeepalive = 21
Интерфейс клиентовiface wg2 inet static
address 10.0.0.2
netmask 255.255.255.0
pre-up ip link add $IFACE type wireguard
pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
post-down ip link del $IFACE