多台windows设备使用wireguard加入同一内网
0x0 万恶之源
我原来用作机房的屋子被拆分成了两个互相独立的房间,而且直线距离大约二三十米,装了两套宽带。不过它们都分配了动态的公网ip,通过nat转发就可以访问到内网的一些服务。而且这些主机还都是windows变不了(有很多原因在这里)
为了把解体成为A、B的机房再拼起来我决定在A处搭建一个Wireguard服务器然后让B里面的主机加入这个vpn,从而在B也能通过ip地址访问A的主机。
0x1 配置
构想是在A中运行wg的服务端,并且通过nat转发到公网,在B和外地的主机加入,从而访问A内的主机。
a.预配置
首先A与B内网的网段不能相同,不然无法区分流量的网关。为此我们划分网段如下:
A内网 10.155.31.0/24 B内网 192.168.0.0/24 Wireguard使用的网段 10.155.32.0/24
b.配置
服务端配置参考 https://blog.csdn.net/babytiger/article/details/127111474,基本照抄。
在A中挑一台身强力壮的主机,以后他就是别人进入A网络的网关了。安装wireguard。wg在win上自带了gui,十分滴友好,
新建配置文件
1 |
|
启动后配置好nat转发到公网,就能通过公网地址连接到A了。
B中的对端配置:
1 |
|
在B中连上后发现只能通过10.155.32.1访问到网关主机,并不能访问到 10.155.31.0/24下的其他主机。
参照csdn上的做法,在网关上用管理员powershell作如下配置:
1 |
|
这时候在B的主机就能ping通10.155.31.0/24中的所有主机了。
但是我发现多个Peer(10.155.32.X)之间不能互相ping通,上网查了一下需要在网关上打开ip转发。
windows上打开ip转发的方法也不难:
1 |
|
在网关主机上运行即可打通10.155.32.0/24之间的互通。