在校园网下有两个路由器,分别在宿舍和实验室。互相可以ping通。 希望两台路由器下的设备都可以互相ping通。 网上教程有很多过时和错误的。于是撰写此博客。 内容分为两部分,互相有ip可以连通与只有单方有公网ip。
必要条件: 至少一方可以ping通对方。 两台或多台路由器的网段不一样, e.g. 192.168.1.X, 192.168.2.X, ….
首先OpenWrt 更新软件包列表并查找安装 luci-proto-wireguard, 选择这一项即可,会自动安装依赖。
之后大概率要先重启一次才可以正确识别下一次的端口。
然后去网络-接口-添加新接口,名字随意,协议选择WireGuard VPN.
互相可以ping通的组网
主机端配置
可以生成一对密钥,这里填写的地址是虚拟网络的地址,需要和在使用的ip段不一样。
例如 11.10.10.X/32, 这里X的话是用来区分不同设备的,比如1,2,3这样。
防火墙设置添加lan
添加对端(还是这个地方的选项卡)
先为对方生成一个基本的配置,密钥对和预共享。
允许的ip添加两部分,一部分是组网ip端,另一部分是对方路由器的ip段。
这里都用 X.X.X.0/24, 表示范围。 (e.g. 11.10.10.0/24, 192.168.2.0/24)
可以ping通的情况下,对端主机填写对方机器的WAN地址。 Keep-Alive如果不是点对点直连的话可以设置为25 (这里不存在多级网络结构的话设置0,否则设置25).
点击最下面的生成配置,然后复制二维码右侧的参数( [xxx] …… [xxx] …. 这样子的).
从机端配置
这里其实并不区分主从,只是为了区分A和B所以这样说。
首先和前面一样,安装wireGuard,添加端口。
添加的时候不要生成新的,从最底下选择导入配置,导入之后是本机和对端的配置都有,对端没有保存私钥不影响。
也是类似的方法,常规设计里面填写设置的私网ip/32,然后对端允许的ip里面添加私网ip/24, 对方路由网段/24, 端点主机添加一下对方的ip。
然后或许要重启一次。
之后去状态-WireGuard 状态, 可以看一下是否成功建立连接。
千兆对等网络下测速,可以跑到600-700Mbps,有点吃处理器性能,m3,4C可以基本吃满,13900HX,4C占用25%左右。
单方公网ip的组网
基于刚才校园网内网组网,决定把家里有公网ip的路由器/网络也加入进来。 有公网一方可以被ping,校园网的设备没有公网ip。
有公网的记作A,没公网的记作B。
A端添加B端,ip和端口留空,NAT25。
B端添加A端,ip端口设置为A的DDNS。
失败 ?