两个异地的局域网怎么无感相互访问,最简单的办法就是购买异地组网服务,但是太贵实在用不起。有没有不用花钱也可以很好用方案了。
稍微借鉴一下现有的内网穿透工具就可以做到不花一分钱也没又快又好的将两个局域网连接在一起实现相互访问
我为什么不用ZeroTier这个工作ZeroTier也可以做的到,但是ZeroTier打洞的稳定性真心一般。如果强制走中转稳定是稳定,但是价格太贵目前国内云服务的流量是8毛1g成本太高,用不起。
原理简述1.使用wireguard建立一个虚拟局域网
2.通过虚拟局域网把两个异地局域网连接在一起
3.现在公网ipv4很难申请,但是新装的宽带都会带有ipv6,wireguard节点之间可以通过ipv6通讯。
需要准备的条件1.两个局域网中都必须得有一个可以运行wireguard的设备,这里推荐使用openwrt
2.一个域名,用来动态解析ipv6
3.两个局域网的路由器都能开放ipv6防火墙。
下面的操作以openwrt,阿里云域名作为示例一。申请阿里云域名以及动态解析域名申请很简单这里就略过了,主要说一下动态解析
首先需要启用阿里云的Accesskey并启用子用户,然后给子用户授权ddns权限



创建好子用户后下载Accesskey文件,按照下图操作



这样子动态域名解析就搞好了。
二,配置wireguard现在较新的openwrt固件都是自带了wireguard的,如果没有自带自行安装可能会失败,建议使用自带了wireguard的固件
为了方便理解,这里简单的画了张网络拓扑图,分别有两个局域网A和B以及由wireguard建立的虚拟局域网wg

先使用手机的wireguard客户端生成两对公钥私钥,当然你也可以用命令生成。为了方便记忆分别命名为A公钥私钥和B公钥私钥。在上图中A局域网的wg虚拟网卡ip为10.10.100.10,B局域网的wg虚拟网卡ip为10.10.100.20。
登录openwrt管理界面,下面的操作是以A局域网为示例,B局域网的操作是相似,只不过是B换成A,A换成B。
建立wireguard虚拟网卡,并配置



配置转发规则



配置静态路由

防火墙开放wireguard的端口

全部配置好以后,A和B两个局域网就通过wireguard连接在一起了
