如何使用 VPN 接口启用正确路由?

如何使用 VPN 接口启用正确路由?

我安装wireguard在局域网中的服务器上,两个组件之间存在单个问题ping。拓扑如下:

  • srv是一台 Linux 机器(Ubuntu 18.04),它有一个带 IP 的物理接口192.168.10.2和一个带 IP 的虚拟接口192.168.20.1
  • remote是一台通过 LAN 连接wireguard并具有 IP 的机器192.168.20.2
  • internal是 LAN 上的一台具有 IP192.168.10.5

一般来说,真实局域网上的机器在192.168.10.0/24,VPN 在192.168.20.0/24。任何地方都
没有任何iptables限制。
上启用了 IP 转发srv

问题:我可以从任何地方 ping 所有东西,除了192.168.10.2192.168.20.2(来自 VPN 上的远程机器的服务器上的物理 NIC IP)。

具体来说

  • 我可以从( )remote一侧以及 LAN 上的任何其他地方(srv在上面的列表中)进行访问。 wireguard192.168.20.1192.156.10.5
    • 我可以通过 VPNremote访问srv

路由表srvbr0是“物理”接口,实际上这是一个桥梁,但这里并不重要)

default via 192.168.10.1 dev br0 proto dhcp metric 1024
192.168.10.0/24 dev br0 proto kernel scope link src 192.168.10.2
192.168.20.0/24 via 192.168.20.1 dev wg0 proto static
192.168.20.0/24 via 192.168.10.2 dev br0 proto dhcp metric 1024

路由表remote

Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      10.237.76.1      10.237.78.2     25
      10.237.76.0    255.255.252.0         On-link       10.237.78.2    281
      10.237.78.2  255.255.255.255         On-link       10.237.78.2    281
    10.237.79.255  255.255.255.255         On-link       10.237.78.2    281
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
     192.168.10.0    255.255.255.0     192.168.20.1     192.168.20.2    135
     192.168.20.0    255.255.255.0         On-link      192.168.20.2    291
     192.168.20.2  255.255.255.255         On-link      192.168.20.2    291
   192.168.20.255  255.255.255.255         On-link      192.168.20.2    291
     192.168.56.0    255.255.255.0         On-link      192.168.56.1    281
     192.168.56.1  255.255.255.255         On-link      192.168.56.1    281
   192.168.56.255  255.255.255.255         On-link      192.168.56.1    281
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link      192.168.56.1    281
        224.0.0.0        240.0.0.0         On-link       10.237.78.2    281
        224.0.0.0        240.0.0.0         On-link      192.168.20.2    291
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link      192.168.56.1    281
  255.255.255.255  255.255.255.255         On-link       10.237.78.2    281
  255.255.255.255  255.255.255.255         On-link      192.168.20.2    291

192.168.20.2发送的数据包虽然经过,但却192.168.20.1无法到达,原因可能是什么192.168.10.2

答案1

问题出在双路线上

192.168.20.0/24 via 192.168.20.1 dev wg0 proto static
192.168.20.0/24 via 192.168.10.2 dev br0 proto dhcp metric 1024

第一个是作为 设置的一部分添加的wg0。它是正确的。

第二个是从 DHCP 检索的,它将这条路由发送给客户端,以便他们知道如何到达192.168.20.0/24,即 VPN 网络。

这些信息不仅对持有VPN的主机没有用,而且实际上有害,因为[发生了一些可怕的事情,我不知道是什么] 当来自 VPN 网络的数据包被路由到 VPN 服务器(同一主机)时

删除第二条路线解决了问题,但是又升起一个(不相关的)。

相关内容