环境1:openwrt(带公网)LAN ip:10.0.0.1,通道ip:10.10.10.1
环境2:openwrt(无公网)LAN ip:172.16.50.1,通道ip:10.10.10.2
环境3:windows 2012R2 LAN ip:172.16.16.1,通道ip:10.10.10.3
3个网络环境均为异地单独接入宽带。
目的:环境1下的设备可以访问环境2与环境3下内网的设备,环境2跟3也可以访问环境1,但不允许环境2与环境3互访。
1. WireGuard服务器搭建。
仅环境1的设备带公网IP,本文使用10.0.0.1作为WireGuard的服务器。
进入软件包安装以下两个软件包。
luci-app-wireguard
luci-proto-wireguard
安装完毕后重启一次路由器。
2.配置服务器
进入网络 – 接口 新增一个接口。名称任意,协议选择 WireGuard VPN,确定后进行编辑。
点击 “生成新的密钥对”,保存下对应的密钥。
端口输入任意端口,如”7734″,需要到防火墙端口转发udp协议映射到外网。
IP地址为隧道IP,如:10.10.10.1/32,10.1即为本服务器隧道IP。
选择高级设置菜单 MTU设置为 1280 或 1420。
选择防火墙菜单,分配防火墙区域为你的“LAN”口。
3.配置对端。
配置环境2与环境3对端:选择“对端”菜单选项,添加对端,点击“生成新的密钥对”,“生成预共享密钥”,预共享密钥可不要,允许的IP内输入环境2的LAN网段与通道IP,“172.16.50.0/24,10.10.10.2/32”,勾选“路由允许的 IP”,不勾选不会通告路由,“持续 Keep-Alive”设置25即可,不设置这个端的话不会重连,且一段时间后需要进行访问才会重新建立连接。
环境3同理,配置大差不差。
允许的IP内输入环境2的LAN网段与通道IP,“172.16.16.0/24,10.10.10.3/32”,勾选“路由允许的 IP”,不勾选不会通告路由,“持续 Keep-Alive”设置25.
多个对端同上配置即可,密钥对最好生成不一样的。
以上操作均在环境1带公网的openwrt上操作。到这里服务器的配置就完成了,下面进行客户端配置。保存下配置重启下接口。
4.配置客户端。
进入环境2的后台中。安装好对应软件包后,同样的操作,新建一个WireGuard VPN协议的接口。
进入编辑,常规设置这里的“公钥”与“私钥”,输入上个步骤中服务器上配置对端生成的公钥密钥。
监听端口保持为空,IP地址,输入“10.10.10.2”,此为环境2通道IP。
切换到高级设置菜单,更改下MTU与服务器相同。防火墙同样选择为环境2设备的“LAN”口。
切换到对端菜单,添加一个对端,这里的公钥与密钥需要输入第二步骤服务器当时生成的公钥与密钥,如设置了预共享密钥同样要保持一致。
允许的IP,这里需要输入需要打通的网段,比如需要跟环境1打通,IP输入环境1的内网IP段“10.0.0.0/24”与“10.10.10.0/24”环境1服务器的通道ip。
勾选“路由允许的 IP”。
端点主机 输入环境1的服务器外网IP地址,支持域名。
端点端口为服务器已映射外网的7734端口。
节点的“持续 Keep-Alive”可以不设置,以服务器上设置为主。
设置完毕后保存,重启下接口,查看是否已连接。进行到这里,环境1跟环境2已经可以互访了。
下面进行环境3的配置。由于环境3的路由器系统无法安装wireguard,所以需要内网下某个设备来当跳板。
下面客户端任选其一,也可到官网下载最新版,TunSafe官网需要魔法才能下载。
安装完到安装目录的Config文件夹内新建一个配置,***.conf。
拷贝以下内容进去,更改相应内容。
[Interface]
PrivateKey = * #*更改为前面设置对端环境3的私钥。
Address = 10.10.10.3/32 #此为设置通道的ip
# ListenPort not defined
#DNS = 10.10.10.1
[Peer]
PublicKey = * #*更改为服务器的“公钥”
PresharedKey = * #将*更改为你设置的预共享密钥,如未设置,在最前面加#。
AllowedIPs = 10.10.10.0/24, 10.0.0.0/24 # 需要访问的网段。此处设置的是通道网段与环境1的网段。
Endpoint = ***:7734 #更改为服务器的ip与端口。
PersistentKeepAlive = 25
保存后软件上选择该配置文件进行连接。尝试ping服务器内网段 10.0.0.1,已经通了。
由于没有接入路由器,是没有相应转发功能的,只能访问到该设备。
选择WINDOWS做跳板建议使用 TunSafe,方便根据下面教程配置路由。
根据该文档启用路由功能,https://service.oray.com/question/11638.html,如不需要访问全网段请忽略。
由于wireguard的虚拟网卡在连接会自动生成,断开后自动删除,选择wireguard的话需要本地添加一个环回网卡,IP设置通道任意IP,网关设置为通道IP。然后NAT那将环回网卡设置为专用,本地网卡设置NAT。
按照配置完后环境1的任意设备均可访问环境2与环境3的网段下任意设备,环境2与环境3也可以访问环境1服务器的任意设备。
如需要3方互访,则需要在对端的设置中添加“对应对端”通道ip的路由。也可以直接添加整个通道网段,10.10.10.0/24。
如:环境3想访问环境2,需要在环境2允许IP中添加环境3的通道IP:10.10.10.3,或者整个通道网段10.10.10.0/24,然后在环境3允许IP内添加环境2的内网IP或者IP段进行路由。