@Ajex

Как получить доступ к локальной подсети клиента, находящегося за NATом через тоннель WireGuard VPN?

Есть необходимость получить доступ к локальной подсети клиента, находящемся за 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
  • Вопрос задан
  • 1687 просмотров
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Вам нужно установить маршруты на компухтерах в сети у вас и у клиента на роутеры, которые держат vpn. Чтобы они знали, куда пересылать пакеты для конкретных подсетей.
В конфигах wireguard разрешить соответствующие подсети.

Вот здесь подробнее - https://medium.com/@jmarhee/configuring-and-managi...
Ответ написан
Комментировать
@r0ck3r
Думаю, что Вам поможет следующее:
На компьютере с интерфейсом 192.168.0.1

#включим IP forwarding, если он не включен
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ИМЯ_ИНТЕРФЕЙС_С_192.168.0.1 -j MASQUERADE


На компьютерах из сети 10.x.x.x

route add -net 192.168.0.0/24 gw 10.0.0.2
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы