Networking

如何使用 VPN 介面啟用正確路由?

  • March 16, 2019

我安裝在 LAN 中的伺服器上,兩個組件之間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是區域網路上的一台機器,它有 IP192.168.10.5

一般來說,真實區域網路上的機器都在192.168.10.0/24.VPN裡面192.168.20.0/24.

任何地方都沒有iptables限制。

IP 轉發在 上啟用srv

問題:我可以****從任何地方ping所有東西,除了192.168.10.2``192.168.20.2(伺服器上的物理網卡IP來自遠端機器上的VPN)。

具體來說

  • 我可以從( )remotesrv兩側和 LAN 上的其他任何東西(在上面的列表中)到達。

wireguard``192.168.20.1``192.156.10.5

  • 我可以remotesrv(通過 VPN)到達

上的路由表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

問題出在雙路

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 伺服器(同一主機)時[發生了一些可怕的事情,我不確定是什麼]

刪除第二條路線解決了問題,但提出了另一條路線(不相關)。

引用自:https://serverfault.com/questions/958439