抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言

这才是 VPN(虚拟局域网) 的正确用途。
先根据网上的方法创建一个隧道。
此为同网段NAT-to-NAT
不同网段可以参考网上方案,或者忽略本方案的DHCP修改。
此方案基于OpenWrt,其他Linux版本需要将配置写在WireGuard的配置文件里(网卡的上下线事件)。

测试环境

路由器1:有公网IP地址,做服务器
路由器2:无公网地址,服务器建设在此设备的网络下
需要把对路由器1的访问转发到路由器2对应的设备上
WireGuard同网段组网

实验步骤

在此步应该已经建立起一个可以通过WireGuard互相访问的隧道

路由器1配置

WireGuard虚拟网卡

需要配置对端设备允许的IP地址,因为我需要访问一个IP段所以添加了 192.168.0.192/26

防火墙

WireGuard虚拟网卡建议单独放一个防火墙
名称随意
开启IP动态伪装(NAT), 允许转发到lan,允许来自lan转发。入站、出站、转发建议全部接受。

DHCP

因为两个网段的IP是一样的为了保证 一个IP对应一个设备,需要对DHCP做限制。
保留一些地址给路由器下的设备使用。
可以使用子网掩码分割地址
本次实验我通过控制DHCP的允许的客户端数量保留 192.168.0.192/26 范围的地址供 路由器2 的设备使用。

静态路由

这个步骤尤为关键, 因为我没有直接修改子网掩码,这一步做网络路由。告诉路由器192.168.0.192/26内的IP地址在别处。
如果是直接修改子网掩码的可以忽略这一步。因为对路由器来说那段地址已经不是它管的了,自然会去其他地方寻找。
根据上面步骤保留的IP地址配置
新建静态路由。

名称 内容
接口 WireGuard的虚拟网卡
目标 上面保留的地址,使用CIDR写法列如:IP段192.168.0.192/26或单个地址192.168.0.254/32
网关 下一跳地址,此处我填10.3.3.2(目标网段路由地址)

路由器2配置

防火墙

同路由器1配置
WireGuard虚拟网卡建议单独放一个防火墙
名称随意
开启IP动态伪装(NAT), 允许转发到lan,允许来自lan转发。入站、出站、转发建议全部接受。
因为路由器1已经开了NAT转换,所以对于路由器2来说是10.3.3.1访问了它。又因为10.3.3.1符合10.3.3.0/24网段,所以可以接受数据包,再经过NAT后访问目的地址。
目的设备也只能知道是10.3.3.1访问了它,这是这个方案的缺陷。

端口映射

现在可以在 路由器1直接映射 路由器2对应 192.168.0.192/26 范围内设备的端口,就像这个设备本来就在路由器1上一样(跟内网差不多)。
做到这一步,在路由器1上ping路由器2(10.3.3.2)和路由器2上的对应网段的设备(192.168.0.254)应该是可以直接ping通的。

评论




本站使用 Volantis 作为主题