OpenWrt WireGuard 不分配密钥 将局域网主机纳入组网 并使用路由聚合 使其能访问真正的peer

3 篇文章 0 订阅

背景分析

有时在组网中,多台主机本身处于同一物理网络,也在同一局域网下,想访问一个wg网上peer的服务。如果将每台主机视为一个peer,都分别分配一个key加入wg网,则稍显繁琐。因此,考虑是否可以将局域网网关作为一个peer,转发其他局域网主机的连接请求。

最终效果

配置完成后,整体像位于同一个子网内,但实际上局域网到wg peer的通信无形之中加了一层“防火墙”,局域网主机可以用自己的IP直接与虚拟内网上的服务器通信,反之则无法实现。同时,还可以选择哪些主机能够与peer通信,哪些不能。

实现原理

  • 按照路由聚合的思想,将wg组成的网络看作一个大网,如192.168.7.0/24,将本局域网看成大网中的一个小网,如192.168.7.0/25,当然也可按需求进行更多的划分。这些小网的主机都不会在wg.conf中注册,仅通过转发与wg网通信。
  • wg网虽然看作一个大网,但实际上其地址空间不能占用任何一个小网的地址。使用大网仅是为了转发方便。
  • 如果有多个小网,则小网之间的通信理论上不受之前说的防火墙效果限制。
  • 合理配置路由聚合,即可在不配置任何额外网关节点的情况下实现通信。

实现步骤

以实现原理中的wg网192.168.7.0/24,局域网192.168.7.0/25为例配置

  1. 接口中添加wg接口wire,配置本机IP地址为192.168.7.129/24(在局域网外,wg网内)。

  2. 将该接口加入新的防火墙区域,默认接受入站出站,拒绝转发。

  3. 添加允许lan转发到wirewire转发到lan
    1

  4. 配置欲访问peer,将允许IP设为peer的ip+wg大网段,并勾选路由允许的IP,具体如下图。由于最长掩码匹配原则,新增加的192.168.7.0/24路由表项并不会将局域网IP路由到wire,而是按正常路径(未配置wg网时的路径)转发,只有在访问超出小网范围的地址时才匹配wg网,保证了正常的网络通信不受影响。
    2

  5. 编辑peerwg.conf,将自己的地址设为192.168.7.254/32,并添加路由器为peer,允许的IP如下。

[Peer]
PublicKey = xxx
AllowedIPs = 192.168.7.129/32
AllowedIPs = 192.168.7.0/24
; 下面填写欲允许访问的小内网IP
AllowedIPs = 192.168.7.16/32
AllowedIPs = 192.168.7.17/32
AllowedIPs = 192.168.7.xx/32
  1. 配置成功,可以ping检测一下了。

3

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值