Openwrt使用wireguard实现异地组网
设备及环境介绍
在实作过程中,踩了不少坑,并且由于openwrt版本不同的情况下软件包会有一点区别,所以在此标注本次实操的系统版本等信息,需要注意:请保证两端LAN的网段不能有重合!
设备 | A地路由(拥有ipv4公网IP) | B地路由(无ipv4公网IP) |
---|---|---|
系统版本 | openwrt-22.03 | openwrt-22.03 |
LAN口IP | 192.168.10.1/24 | 192.168.20.1/24 |
wg网段IP | 10.0.0.1/24 | 10.0.0.2/24 |
A地路由设置
添加防火墙
首先需要添加一个wireguard
的防火墙区域,依照下图设置即可
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6IWI2hSf6gWTFm-arkRrzz_CpbFLap01UcRnRKK5Kt4LL-5tzbIfi69o6UaNYGL0iUdhw4vYT4sgbYkvt5vAgKlP7yFoap21HGlAB11XSkImcBbDlK8pmB1RKmVIlnWDUwZlntAdy8eGYQCm7Sj3uCE-eLjb_X-MEcG1K2-EF8LoR7YU244FYnuRCDII/s1600-rw/161014-1.jpg)
添加wireguard虚拟接口
在 网络
-接口
页面新建一个接口,名字随意并选择协议为Wireguard VPN
Wireguard VPN
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifHlXaPwkGaY2nrv4Cg8w9KdCUaHWXzw6oAFHdWKa07xqnBa65PzBGYVLRMxrGtolGJDG3fqZ12BEjJDaRI9zjhJXfxC-6QzTx2GPQo4N43f87lLFCKA5uYCEuedaVWPeiGPiFxy80MdaM2E76wbGkYtss3Bg7V_Oo6URwi2-qC3FvaxeFWVQ0J6h2Emw/s1600-rw/161014-2.jpg)
虚拟接口配置
点击生成新的密钥
对生成本机的公钥和私钥,并填写下方监听端口我们规划好的此设备在wireguard虚拟网络中的ip
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhclrY6FvcJvocvPNOkqGEseXhSiYr3LwqnemZjneyXbBptZk2-D-tsBr2QcBf6tX9fJMd3zVk2SJy8ezhDBPXz7Euc0egAJ-16EuUcFTS7CuIm4jrLc_4Dr-I1nV-1YQf226gtAUsi38C20_PWe2yHkz9EO56qL6CIAOQ_H-JovCWzLLy81ksgivGOUVE/s1600-rw/161014-3.jpg)
记得配置此接口所在的防火墙区域
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUoyGX4dDWNQMOSpv8hv0n1QVMWONDRg2XXOJE2TRITUx3TtH2w_QuVTapeOK2jR1ldf7ap858uoBowua3RHErd38TSwN8c6cJHEGhV83Xz921a_tMnkaPBH3jgOm6C_0BlvkZETUAKQCScBEAllG-ur7mmim6PFGXfjX1ZjesSRl0RuAErsanR_sZ0Qc/s1600-rw/161014-4.jpg)
到这里,我们就可以暂时保存端口的设置了,等B设备配置好后我们再回来配置对端设置。(其实此处可以先在这台路由上将B端的公私钥生成好并填写对端配置)
配置静态路由
为了让局域网下的设备访问到对端网段下的设备,最好请添加以下静态路由(实测好像不加也没事)
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHECS0Kbq1cObLgaqWeTr-r4asDeAdwzaO-R4W3JOMWK0JDLb7KG8wpp9oDblmpUTo4nF2MkkFmJYRS9MEWWZ913Hi8MDEsfHoKwk2FXL-L7seTjV2EHzTdx_Px0hAhETr_yAfpSQMe40X1xiUSR2WqWO29ESZ-mriu14V0ClH5SgqD8tb83OuTku3W08/s1600-rw/161014-5.jpg)
上图中的含义为:当接口区域wg有去往192.168.20.0/24网段的数据包时,将其网关设为本机在wireguard虚拟网络中的ip地址
B地路由设置
添加防火墙
首先需要添加一个wireguard的防火墙区域,依照下图设置即可
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYGp8BBJg33gO7WVhiaeV8IJkfZUk8oLzfEttCHPzU3DU5dh-m0_nLLT2kiI__JnkFf_YokAF4lM0P9Gr5TB7UoanbDKCfGj9Fd7t0DwsSdPv_5-3OHIqFgo3C7ZQdFPVv54cIMZnwNCZuI3tOcvLq01u_TYIW_OFM_Wszd-EUIoGKiotPzp0EEhnaKLQ/s1600-rw/161014-6.jpg)
添加wireguard虚拟接口
在 网络
-接口
页面新建一个接口,名字随意并选择协议为Wireguard VPN
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg_LLDMpVyFPdy70C3HmGfLJZoA27f-BKndC-S97813NTcPlUZikqAfwmo3OGT3I0TTaohSWRHpcq0V-0JO6e0i0CZS5h8pNiLj_6t3ktcqo75bT0pb1CU2oMoBb1t37R5xQB-E0qiEelWV37ZYFf0HW23CsxRmtEBZvGVxnX0GHMzRVh2UTtRe2OKJok/s1600-rw/161014-7.jpg)
虚拟接口配置
点击生成新的密钥对生成本机的公钥和私钥,并填写下方我们规划好的此设备在wireguard虚拟网络中的ip,由于此地无公网ip所以监听端口是否配置其实无所谓(默认其实会开一个)
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnuYqI7ZjsJcDx2rmhdfs2fvGUv_3d_uXXv5iHLi5_dFTQWAQ4-JiRzdoC9fyfe321LjE6wjJ4vmj7xleTv9Mq4Sx4XNN4A-kA9jgyr_1IyOEcQhmrb5oUwZ2cG65CqV0q21H8gCZ-9z3bPaN5SHgIIFt-e6v1RR0MkgDCAHbk6J-xqi41OuJvW4hL9p8/s1600-rw/161014-8.jpg)
记得配置此接口所在的防火墙区域
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYyJrF24VG7Y95LN7CHe45NgoLto4XucJH6XcZBCQnA3RXgIn5RVXMZ3XcRz27uKg48CrUKI_Gs_X6frlEGtooxCsk23Com2MoDtCvDg4LIXxZFSNeJgxX2bVBgAPV4NsqZbwwNveal-q5-pBRcYny_yfnlVjjZl6-Zdx5BcBA_SMb2GXaNqMO3WnBcv4/s1600-rw/161014-9.jpg)
配置对端(A地路由信息)
在对端选项卡中添加一个对端,并填入A路由的对应信息
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw4_KGEGLzq5Xr0f5Djk0AvnS4SeOwKB_HrsoIxJxBvbS_bTDPjWVaoAyVUxvcLTaiEaasgKoS1fDLdhWc_TSDRsotareSk8CG_fUHthRjNmTIV1XurD_YujLSsj1uqalWtyZtBvjEAJW4nGMnS03q9sklAKKRZqlQvmPMQAn37JFkbXS37qEwDcZydic/s1600-rw/161014-10.jpg)
在允许的ip选项中除了要填A端路由在虚拟网络中的ip(10.0.0.1/24)外,要加A地LAN的网段(192.168.1.0/24)私钥和预共享密钥为可选项。
配置静态路由
为了让局域网下的设备访问到对端网段下的设备,最好请添加以下静态路由(实测好像不加也没事)
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFHiWoOTIe0FjcgsRZUCszgaULKF2EsHi9Zxb8NrnWmsgrJl0KE7U5MBf-quVSI9pfw203cYfIkNI00lYcw9U_mxoPcds2d5d4WJC8YZXkx4xCWcOVQJI3UHJ4e9kGt5Z5wuAQRpxa_Rk9tnf10dQnIeOnpIyyiMrdOyceFLJWB8mhlL7vFUSGdZrj6cY/s1600-rw/161014-11.jpg)
上图中的含义为:当接口区域wg有去往192.168.10.0/24网段的数据包时,将其网关设为本机在wireguard虚拟网络中的ip地址
A地路由的对端设置
回到A地路由器的配置,我们将B端信息填入对端选项卡中并保存应用
![Openwrt使用wireguard实现异地组网 - 科学上网 IYIO.NET](http://wsrv.nl/?url=//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWfbZn67belMqKFYwUUNuOnQ7UmjTZLYcBCe8IJB_VmiqUzeftpzv0QH4S99XU6Qt5qe11R_FyjWTTYylN_apWmFy_r547YPC8Cj0MW7xaaQDgnBkj_bU19WYqxyDqAJXsbygEb_BZPJ5BBBHIHYgxx7Ks6W4ZWD3dnqIyeViIp88S0u-HhKiuA7MHM0w/s1600-rw/161014-12.jpg)
使配置生效
在保存并应用配置后就已完成所有配置项,但建议重启wg虚拟端口,最好直接重启路由器,以免系统抽风没有无法正常使用。
加入对话