[内网穿透] VPS 部署 Wireguard,本地 Openwrt 主路由如何保证客户端互相访问?

2023-07-10 12:15:12 +08:00
 zer

目前在 VPS 部署了一个 Wireguard 服务,姑且称之为服务端,10.88.88.1/24 。
Openwrt 的 peer 设置为 VPS ,为 Openwrt 分配到 10.88.88.3/24 。
此时 OP 和 VPS 都能互相 ping 通 Wireguard 的 IP 。
Openwrt 的 Lan 是 192.168.1.0/24 ,通过配置静态路由和防火墙,实现了 Lan 下的内网可以访问 10.88.88.1
静态路由

10.88.88.0/24 via 10.88.88.1 dev Wireguard proto static

防火墙

config zone
	option name 'WG'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option network 'Wireguard'
	option forward 'ACCEPT'
	option masq '1'

现在问题就是 VPS 和 Wireguard 的其他 peer 无法访问 192.168.1.0/24 的设备。
尝试在 VPS 上添加路由,无效。

ip route add 192.168.1.0/24 via 10.88.88.3 dev wg0

应该如何解决这个问题呢?

2161 次点击
所在节点    宽带症候群
7 条回复
yuchenr
2023-07-10 12:26:57 +08:00
vps 上有开 ip 转发吗?
ranaanna
2023-07-10 12:31:50 +08:00
这个好像要添加网络地址转换解决, 比如通过 ip
iptables -t nat -A POSTROUTING -s 10.88.88.0/24 ! -d 10.88.88.0/24 -j SNAT --to-source 192.168.140.1
或通过网络接口
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
oott123
2023-07-10 12:38:31 +08:00
wg 加 AllowedIPs
zer
2023-07-10 13:30:11 +08:00
@yuchenr 基本的转发是有的
iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
yuchenr
2023-07-10 13:58:09 +08:00
vps:
sysctl -w net.ipv4.ip_forward=1

allowedips 192.168.1.0/24
zer
2023-07-10 14:12:23 +08:00
@yuchenr 确实可以了,我在 VPS 的 wg0.conf 里的 10.88.88.3 这个 peer 下,给 AllowedIPs 加上了 192.168.1.0/24 。
他自动创建了一条路由
192.168.1.0/24 dev wg0 scope link
f14g
2023-07-11 00:05:53 +08:00
试试 OSPF

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/955478

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX