一、前言
我在家中和单位宿舍申请了两条联通千兆宽带,每条均有公网ip,如何组成一个局域网,实现两条宽带下的设备使用对方的内网ip互相访问呢?
环境:
-
路由器A,内网ip为192.168.1.1,系统为iStoreOS,
-
路由器B,内网ip为192.168.0.1,系统和版本号同上
-
至少有一条具有公网ip的宽带,例如路由器A有公网ip(另外一条不做要求)。
二、安装wireguard
首先,打开系统-软件包,先更新列表,然后搜索wireguard,安装luci-app-wireguard,会把其他的依赖一起安装上。两台路由器都需要安装。
三、路由器设置防火墙
两台路由器上都要设置,首先新建一个防火墙区域,名称自取,入站数据、出站数据、转发都填接受,打开MSS钳制
再设置一条通行规则,协议填UDP,源区域填wan,目标区域填设备,目标端口填wg端口(稍后会在接口中设置,保持一致)
四、在有公网IP的路由器A上新建一个wg接口
首先在有公网ip的一端做好ddns,istoreos上自带了ddns,我买的是阿里云的域名。fun后缀10年¥180,6位数字的xyz 10年才¥80,确实很便宜了。
然后新建一个接口,名称自取
点击生成新的密钥对,保存好自己的公钥及私钥,不要泄漏!端口自定义一个不常见端口,IP地址填一个内网段的IP地址,如10.100.1.1/32
设置防火墙规则为刚刚新建的防火墙规则。
设置好后点击保存并应用。
五、在另一端的路由器上设置同样的防火墙,并且新建一个wg接口
防火墙设置类似上诉步骤,不再赘述。
接口设置如下:
六、路由器A上设置对端
在路由器A(有公网ip的一端)上,添加一个对端,
-
描述随意填写,
-
公钥填写路由器B(也就是对端)的公钥,
-
生成一个预共享密钥复制到记事本保存下来(待会儿要在路由器B上填写),
-
允许的IP先填wg内网段,再填想访问的对方路由器的网段,比如路由器A的内网段为192.168.1.0/24,路由器B的内网网段为192.168.0.0/24,我在路由器A上想实现输入192.168.0.1就能访问路由器B,所以这一行就填写192.168.0.0/24。
七、路由器B上设置对端
同样的,在路由器B(有无公网ip均可)上,设置对端。
-
公钥填路由器A的公钥
-
预共享密钥填刚刚在路由器A上设置的预共享密钥
-
允许的ip首先填写wg内网网段,再填写想访问的对方路由器的网段
端点主机记得填有公网ip的路由器A的DDNS地址
端点端口填路由器A的wg端口
八、两台路由器保存并应用,然后两台路由器都重启一下wg端口
自此,就设置好了iStoreOS通过wireguard实现异地组网了,这个组网是双侧都能互相访问,把异地两台路由器用wg组成了局域网,再也不用做端口转发把很多端口暴露在公网了,确实挺方便的。手机上也能实现类似的设置,使用移动数据也能组成局域网。