Wireguard Site2Site с мобильным офисом

Я имею в виду сети, связанные с Wireguard.

Lan1:
  10.240.0.0/24
  via 10.100.1.1/32 on public static ip A.B.C.D/32

Lan2:
  192.168.0.0/24
  via 10.100.1.6/32 on dynamic ip from provider

Сеть 10.240.0.0 - это сеть защиты от проводов (wg0) над несколькими общедоступными серверами, и один сервер является «шлюзом») со специальным интерфейсом wg1 с 10.100.1.1.Таким образом, я могу подключиться со шлюза ко всем узлам в сети 192.168.0.0. На Lan2 это классическая локальная сеть с некоторыми серверами. Также на этом узле я могу подключиться ко всем узлам за Lan1.

Теперь я хочу добавить новый одноранговый узел где-нибудь в «дикой природе» - мобильный офис. Пользователь должен иметь доступ к Lan1 и Lan2 одновременно, например, достичь 10.240.0.0/24 и 192.168.0.0/24. одноранговый узел - это сотовый телефон с клиентом Wireguard в качестве примера.

Шлюз Lan1 wg1.conf

[Interface]
Address = 10.100.1.1/32
...

PostUp   = iptables  -A FORWARD -i %i -j ACCEPT; iptables  -A FORWARD -o %i -j ACCEPT; iptables  -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables  -D FORWARD -i %i -j ACCEPT; iptables  -D FORWARD -o %i -j ACCEPT; iptables  -t nat -D POSTROUTING -o eth0 -j MASQUERADE;

# road-warrior
[Peer]
PublicKey = ...
AllowedIps = 10.100.1.2/32

# Lan2 gateway
[Peer]
PublicKey = ...
AllowedIps = 10.100.1.6/32, 192.168.0.0/24

И узел Lan2

[Interface]
Address = 10.100.1.6/32
...

PostUp   = iptables  -A FORWARD -i %i -j ACCEPT; iptables  -A FORWARD -o %i -j ACCEPT; iptables  -t nat -A POSTROUTING -o ens18 -j MASQUERADE
PostDown = iptables  -D FORWARD -i %i -j ACCEPT; iptables  -D FORWARD -o %i -j ACCEPT; iptables  -t nat -D POSTROUTING -o ens18 -j MASQUERADE

# lan1_gate
[Peer]
PublicKey = ...
EndPoint = fqdn:port
AllowedIPs = 10.100.1.1/32, 10.240.0.0/24

Я могу определить (в моем понимании) только на этом сотовом телефоне однорангового узла шлюза lan1 , потому что у меня нет доступа к lan2_gateway, но я хочу направить весь трафик из 192.168.0.0 через lan1_gateway на lan2_gateway

[Interface]
Address = 10.100.1.2/32
...

[Peer]
PublicKey = ...
EndPoint = fqdn:port
AllowedIPs = 10.100.1.1/32, 192.168.0.0/24, 10.240.0.0/24

Когда я подключаю Road Warrior к lan1, я могу ch 10.240.0.0/24, но не 192.168.0.0. Что не так? Нужно ли мне другое правило пересылки на lan1_gate для пересылки трафика с 192.168.0.0 на 10.100.1.6? Это уже должно быть сделано.

#> ip r s
default via 172.31.1.1 dev eth0 onlink
...
10.100.1.2 dev wg1 scope link 
10.100.1.6 dev wg1 scope link 
...
10.240.0.4 dev wg0 scope link 
10.240.0.5 dev wg0 scope link 
...
172.31.1.1 dev eth0 proto kernel scope link src A.B.C.D 
192.168.10.0/24 dev wg1 scope link 

Есть идеи?

0
задан 29 July 2021 в 16:53
1 ответ

Если у вас нет дополнительных правил брандмауэра, настроенных на хосте шлюза Lan1, трафик с вашего мобильного телефона «road warrior» будет перенаправляться с вашего шлюза Lan1 на ваш шлюз Lan2 с использованием исходного адреса WireGuard телефона 10.100.1.2. Поэтому вам нужно добавить адрес телефона в параметр AllowedIPs в конфигурации WireGuard для узла шлюза Lan2:

AllowedIPs = 10.100.1.1/32, 10.100.1.2/32, 10.240.0.0/24

Шлюз Lan2 будет отбрасывать любые пакеты, которые он получает от своего соединения WireGuard со шлюзом Lan1, если адрес источника пакета не включен в этот параметр AllowedIPs.

1
ответ дан 30 July 2021 в 19:24