Skip to content

wg中继多网段转发的一些折腾

wg的具体配置就不写了反正一大堆。

中继服务器系统是Centos7.两个对端是openwrt路由器。

各节点信息如下 中继服务器:100.64.0.1 对端A:100.64.0.11,lan:192.168.233.0/24 对端B:100.64.0.12,lan:172.16.233.0/24

拓扑大概就是:

(192.168.233.0/24)对端A(100.64.0.11)<-->中继服务器(100.64.0.1)<-->(100.64.0.12)对端B(172.16.233.0/24)

以下教程基于中继服务器和两个对端已配置好,两个对端分别可以和中继服务器互通,但两个对端不互通。

首先是开启系统流量转发,下面是ipv4的,ipv6有需要也可以开启。

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

完成后两个对端就可以互通了。 然后是两个对端后面的lan互通,需要对三端的wg进行配置。 中继服务器(省去了公钥私钥的配置)

[Interface]
Address = 100.64.0.1/32
ListenPort = 2333

[Peer] #对端A
AllowedIPs = 100.64.0.11/32,192.168.233.0/24

[Peer] #对端B
AllowedIPs = 100.64.0.12/32,172.16.233.0/24

对端,以A为例

[Interface]
Address = 100.64.0.11/32

[Peer] #服务器
EndPoint = xxx:xxx
AllowedIPs = 100.64.0.0/24,192.168.172.16.233.0/24(这里多一条到另一个对端的路由)

配置好后两个对端已经有到另一个对端的路由表了,中继服务器也有相对的路由表。 中继服务器

[root@server ~] ip route
default via xxx (省去无关的路由表)
100.64.0.11 dev wg scope link 
100.64.0.12 dev wg scope link 
192.168.233.0/24 dev wg scope link 
172.16.233.0/24 dev wg scope link

对端,以A为例

root@Openwrt-DCX1:~# ip route
default via xxx (省去无关的路由表)
100.64.0.0/24 dev wg proto static scope link 
172.16.233.0/24 dev wg proto static scope link (对端lan路由)
192.168.233.0/24 dev br-lan proto static scope link metric 10 (本机lan路由)

此时三端都已经获得了正确的路由信息,道理上是可以互通的了,但是由于三端都有防火墙,实际上从对端到中继服务器都不一定能通信。 咕咕咕下一篇继续