openwrt通过wireguard实现局域网互通并单向访问扩展网络

一、wireguard简介

WireGuard是一个非常简单而且快速,又现代化的一个安全的3层加密隧道网络软件,主要工作在内核里面。 使用了最先进的加密技术,工作在3层。 基于linux内核虚拟网络接口实现。 出现的目的是替换ipsec以及流行在用户态运行的基于tls的解决方案,比如openvpn这类vpn。

二、背景目的

A区域网络与B区域网络实现双向互通,同时A区域网络可以访问B区域网络的扩展区域,B区域在一个超大的C区域中,以一个中继网络的形式存在.

如下图客户端192.168.1.2可以访问192.168.10/24以及6.6.6.0/16网段未被防火墙限制的客户端,同时192.168.10.2可以访问192.168.1/24网段未被防火墙限制的客户端

三、实现思路条件

A区域网络必须拥有一个公网IP地址,可以是固定也可以是动态,动态的话需要通过脚本实现动态ddns,A区域做为wg的服务端,供其他区域的wg调用,并创建隧道,进行隧道连接之后需要配置静态路由实现网络互通

四、配置wireguard

在 OpenWrt 中安装 luci-proto-wireguard、wireguard-tools、kmod-wireguard、luci-app-wireguard、qrencode等包

网络-接口-创建接口

服务端配置

生成秘钥对,配置本段虚拟地址,配置服务端监听接口,这里需要注意服务端和客户端的ip地址要在一个子网内,否则不能通信

客户端配置

生成秘钥对,配置本段虚拟地址,这里监听接口不用填,系统会自动分配,这里需要注意服务端和客户端的ip地址要在一个子网内,否则不能通信

服务端生成对端配置

对端-将客户端的常规配置中的公私钥配在里面,同时生成共享秘钥增加安全性

客户端生成对端配置

对端-将服务端的常规配置中的公私钥配在里面,把服务端生成的共享秘钥copy过来,添加服务端的公网ip及端口

配置两端防火墙

网络-防火墙-添加,两端一样

添加路由

服务端添加路由

网络-路由-添加

客户端添加路由

网络-路由-添加

配置完成后,两端openwrt重启再次查看,两边网络即可互联互通了,同时可以访问对端扩展网络

此条目发表在openwrt分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注