![Wireguard Site2Site com escritório móvel](https://rvso.com/image/768916/Wireguard%20Site2Site%20com%20escrit%C3%B3rio%20m%C3%B3vel.png)
Tenho redes conectadas ao 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
A rede 10.240.0.0 é uma rede wireguard (wg0) em vários servidores públicos e um servidor é um "gateway" com uma interface wg1 especial com 10.100.1.1. Assim, posso acessar a partir do gateway todos os nós da rede 192.168.0.0. Na Lan2 é uma rede local clássica com alguns servidores. Também nesse ponto posso alcançar todos os nós atrás da Lan1.
Agora quero adicionar um novo peer em algum lugar "selvagem" - um escritório móvel. O usuário deve ter acesso a Lan1 e Lan2 ao mesmo tempo, por exemplo, atingir 10.240.0.0/24 e 192.168.0.0/24. O peer em si é um telefone celular com o cliente Wireguard como exemplo.
Gateway 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
E o host 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
Só consigo definir (no meu entendimento) nesse celular o peer do gateway lan1, pois não tenho acesso ao lan2_gateway mas quero rotear todo o tráfego de 192.168.0.0 de lan1_gateway para 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
Quando conecto o road warrior com lan1, posso alcançar 10.240.0.0/24, mas não 192.168.0.0. O que está errado? Preciso de outra regra de encaminhamento em lan1_gate para encaminhar o tráfego de 192.168.0.0 para 10.100.1.6? Isso já deveria estar feito.
#> 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.0.0/24 dev wg1 scope link
Alguma ideia?
Responder1
A menos que você tenha algumas regras de firewall adicionais configuradas no host do gateway Lan1, o tráfego do seu celular "road warrior" será encaminhado do seu gateway Lan1 para o seu gateway Lan2 usando o endereço de origem WireGuard original do telefone, 10.100.1.2
. Portanto, você precisa adicionar o endereço do telefone à AllowedIPs
configuração do WireGuard para o host do gateway Lan2:
AllowedIPs = 10.100.1.1/32, 10.100.1.2/32, 10.240.0.0/24
O gateway Lan2 descartará todos os pacotes recebidos de sua conexão WireGuard com o gateway Lan1 quando o endereço de origem do pacote não estiver incluído nesta AllowedIPs
configuração.