转:Openwrt使用wireguard实现异地组网

一直在用wireguard访问办公室的资源,但是又要经常出差导致很不方便,所以萌生了用两台OP组网的想法,大概原理明白

但是在实际操作中,还是碰到各种问题。最后参考了下面文章组网成功。

PS:组网如果涉及到局域网内有不同的外网网关,需要在其他网关上也设置下静态路由,才能访问这个对端网关下的主机。

补充多网关情况

例如:A地有一条宽带,路由器为A。B地,有两条宽带。两个路由器分别为B和B1。A路由和B路由通过wireguard组网成功。 B地局域网内,指向B-1路由的设备是无法访问A地局域网内设备,需要在B-1上设置一条静态路由 地址:10.0.0.0/24 网关:192.168.20.1,才可以。

 

前言

事情是这样的,早在2022年我换上了Pixe之后惊奇的发现android13默默移除了L2TP的支持,只能使用IPsec的VPN了,对于我这样的懒狗来说,配置IPsec是不可能的,这辈子都是不可能的

所以!我换掉了原先家中使用的某品牌成品AC,改用支持wireguard的Openwrt开发板来作为主路由使用。并开始了这一次的折腾

设备及环境介绍

在实作过程中,踩了不少坑,并且由于openwrt版本不同的情况下软件包会有一点区别,所以在此标注本次实操的系统版本等信息,需要注意:请保证两端LAN的网段不能有重合!

设备 A地路由(拥有ipv4公网IP) B地路由(无ipv4公网IP) B-1路由(无ipv4公网IP)
系统版本 openwrt-22.03 openwrt-22.03 openwrt-22.03/任意
LAN口IP 192.168.10.1/24 192.168.20.1/24 192.168.20.2/24
wg网段IP 10.0.0.1/24 10.0.0.2/24 无需设置或10.0.0.2/24

A地路由设置

添加防火墙

首先需要添加一个wireguard的防火墙区域,依照下图设置即可

添加wireguard虚拟接口

 网络-接口 页面新建一个接口,名字随意并选择协议为Wireguard VPN

虚拟接口配置

点击生成新的密钥对生成本机的公钥和私钥,并填写下方监听端口我们规划好的此设备在wireguard虚拟网络中的ip

记得配置此接口所在的防火墙区域

到这里,我们就可以暂时保存端口的设置了,等B设备配置好后我们再回来配置对端设置。(其实此处可以先在这台路由上将B端的公私钥生成好并填写对端配置)

配置静态路由

为了让局域网下的设备访问到对端网段下的设备,最好请添加以下静态路由(实测好像不加也没事)

上图中的含义为:当接口区域wg有去往192.168.20.0/24网段的数据包时,将其网关设为本机在wireguard虚拟网络中的ip地址

B地路由设置

添加防火墙

首先需要添加一个wireguard的防火墙区域,依照下图设置即可

添加wireguard虚拟接口

 网络-接口 页面新建一个接口,名字随意并选择协议为Wireguard VPN

虚拟接口配置

点击生成新的密钥对生成本机的公钥和私钥,并填写下方我们规划好的此设备在wireguard虚拟网络中的ip,由于此地无公网ip所以监听端口是否配置其实无所谓(默认其实会开一个)

记得配置此接口所在的防火墙区域

配置对端(A地路由信息)

在对端选项卡中添加一个对端,并填入A路由的对应信息

在允许的ip选项中除了要填A端路由在虚拟网络中的ip(10.0.0.1/24)外,要加A地LAN的网段(192.168.1.0/24)

私钥和预共享密钥为可选项。

配置静态路由

为了让局域网下的设备访问到对端网段下的设备,最好请添加以下静态路由(实测好像不加也没事)

上图中的含义为:当接口区域wg有去往192.168.10.0/24网段的数据包时,将其网关设为本机在wireguard虚拟网络中的ip地址

A地路由的对端设置

回到A地路由器的配置,我们将B端信息填入对端选项卡中并保存应用

使配置生效

在保存并应用配置后就已完成所有配置项,但建议重启wg虚拟端口,最好直接重启路由器,以免系统抽风没有无法正常使用。

版权声明:
作者:Jays
链接:https://ijays.com/2024/12/2-openwrt-wireguard-sdwan.html
来源:颓废的美
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>