我一直在设置 Wireguard VPN 网络以访问本地网络上的计算机。我需要访问的 LAN 由 EdgeRouter X (v1.10.9) 创建,其 WAN 连接由更大的网络提供,我无法对其进行端口转发或控制。为了解决这个问题,我设置了一个运行 Wireguard 的远程服务器 (VPS/Droplet),并计划将 EdgeRouter 和远程客户端都连接到该服务器。我能够成功将 EdgeRouter 和远程客户端(我的笔记本电脑)连接到服务器,但无法访问路由器后面的计算机。我大致遵循了以下指南:https://gist.github.com/insdavm/b1034635ab23b8839bf957aa406b5e39 查看下面的配置,我需要更改什么?我的本地网络是 10.10.1.1,我的 VPN 是 10.10.2.1。
服务器 Wireguard 配置:
[Interface]
Address = 10.10.2.1/24
PrivateKey = <private server key>
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wgo -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# EdgeRouter
[Peer]
PublicKey = <public router key>
AllowedIPs = 10.10.2.2/32, 10.10.1.0/24
# laptop
[Peer]
PublicKey = <public laptop key>
AllowedIPs = 10.10.2.3/32
笔记本电脑 Wireguard 配置:
[Interface]
PrivateKey = <private laptop key>
ListenPort = 51820
Address = 10.10.2.3/24
[Peer]
PublicKey = <public server key>
AllowedIPs = 10.10.0.0/16
Endpoint = <public server ip>:51820
PersistentKeepalive = 25
路由器 Wireguard 配置:
configure
edit interfaces wireguard wg0
set address 10.10.2.2/24
set listen-port 51820
set route-allowed-ips true
set peer <public server key> endpoint <public server ip>:51820
set peer <public server key> allowed-ips 10.10.2.1
set peer <public server key> allowed-ips 10.10.0.0/16
set peer <public server key> persistent-keepalive 25
set private-key <private router key>
exit
commit
save
exit
路由器在 WAN_LOCAL 中也有一条防火墙规则,允许 51820/udp。服务器也有防火墙,但允许 51820/udp。同样,路由器和笔记本电脑都连接并可以 ping 10.10.2.1,但两者无法 ping 对方,笔记本电脑无法 ping 10.10.1.0/24 范围内的任何内容。
如果您需要更多信息,请告诉我,谢谢!