我已经创建了一个 wireguard VPN 服务器,但是客户端无法访问服务器后面的某些网络,
wireguard-server
eno1: 10.10.10.2/24 (GW)
eno2: 10.10.11.2/24
wg0: 10.66.66.1/24
我希望 wireguard VPN 的客户端可以访问网络 10.10.11.0/24(它与 10.10.10.2/24 一起工作)。
路线-n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 eno1
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
10.10.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eno2
10.66.66.0 0.0.0.0 255.255.255.0 U 0 0 0 wg0
iptable -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p udp -m udp --dport 44021 -j ACCEPT
-A FORWARD -i wg0 -j ACCEPT
-A FORWARD -i eno1 -o wg0 -j ACCEPT
我尝试使用 ip route 和 masquerade iptable,但是没有用,请帮帮忙。
解决了!
通过在 wg0.conf 中添加以下几行来解决:
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eno2 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eno2 -j MASQUERADE
答案1
帖子 无法访问 Wireguard VPN 服务器后面的网络。客户端上的 Split-tunneligt 配置 有这个答案:
解决方案非常简单。
不需要任何脚本来实现分割隧道。
1. 在 wg0.conf 中添加以下几行:
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
2. 按照如下方式修改客户端 WG 配置:
[Peer] AllowedIPs = 192.168.99.0/24, 192.168.30.0/24
net.ipv4.ip_forward = 1
3.在 WG 服务器上启用。因此,我没有通过 WG 服务器访问互联网的路由,只有指定的网络。
以下是更多详细信息: https://iliasa.eu/wireguard-how-to-access-a-peers-local-network/
第 1 项足以解决海报的问题。