避免 OpenVPN Client 充當預設網關

避免 OpenVPN Client 充當預設網關

我有一堆可以連接到我的客戶網路的 OpenVPN 設定檔。我使用最新的 Windows openvpn GUI。

其中一些設定檔會造成麻煩,因為 VPN 連線定義了路由和名稱解析以專門使用客戶網路。這是一個問題,因為我只能存取伺服器白名單(DNS 伺服器、網際網路網關不在此列表中)。

因此,我正在尋找一種方法來將我的 VPN 連線設定為僅用於非常特定的子網,並避免使用客戶 DNS 伺服器解析名稱。

有通用的方法嗎?

我嘗試將其添加到我的個人資料中:

pull-filter ignore "dhcp-option DNS"
pull-filter ignore "route"
route-nopull
route 10.0.0.0 255.255.0.0

這個想法是禁用來自伺服器的任何路由和選項,並手動添加到客戶子網路的路由。

然而,這還不夠。

VPN 連線前的路由列印:

Destination réseau    Masque réseau  Adr. passerelle   Adr. interface Métrique
          0.0.0.0          0.0.0.0   192.168.20.254    192.168.20.58     55
        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.20.0    255.255.255.0         On-link     192.168.20.58    311
    192.168.20.58  255.255.255.255         On-link     192.168.20.58    311
   192.168.20.255  255.255.255.255         On-link     192.168.20.58    311
        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.20.58    311
  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.20.58    311

nslookup顯示 ns 是 192.168.20.254(這是我的本機路由器)。

打開VPN連線後:

Destination réseau    Masque réseau  Adr. passerelle   Adr. interface Métrique
          0.0.0.0          0.0.0.0   192.168.20.254    192.168.20.58     55
          0.0.0.0        128.0.0.0     10.100.100.5     10.100.100.6    291
         10.0.0.0      255.255.0.0     10.100.100.5     10.100.100.6    291
     10.100.100.4  255.255.255.252         On-link      10.100.100.6    291
     10.100.100.6  255.255.255.255         On-link      10.100.100.6    291
     10.100.100.7  255.255.255.255         On-link      10.100.100.6    291
        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
        128.0.0.0        128.0.0.0     10.100.100.5     10.100.100.6    291
    185.118.18.66  255.255.255.255   192.168.20.254    192.168.20.58    311
     192.168.20.0    255.255.255.0         On-link     192.168.20.58    311
    192.168.20.58  255.255.255.255         On-link     192.168.20.58    311
   192.168.20.255  255.255.255.255         On-link     192.168.20.58    311
        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      10.100.100.6    291
        224.0.0.0        240.0.0.0         On-link     192.168.20.58    311
  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      10.100.100.6    291
  255.255.255.255  255.255.255.255         On-link     192.168.20.58    311
===========================================================================

看來路線還是加了。

我可以透過以下方式驗證錯誤行為:

PS C:\WINDOWS\system32> Find-NetRoute -RemoteIPAddress 8.8.8.8 | Select IPAddress,NextHop

IPAddress    NextHop
---------    -------
10.100.100.6
             10.100.100.5

先謝謝您的幫助

答案1

附加路線是該選項的結果redirect-gateway

這會新增 3 條路由,前兩條路由一起跨越整個互聯網並重定向到隧道:

    dest   0.0.0.0  mask 128.0.0.0 gw 10.100.100.5
    dest 128.0.0.0  mask 128.0.0.0 gw 10.100.100.5

這些為所有互聯網位址提供了比預設網關(遮罩為零)「更好」的路由匹配。

第三個重定向真實 VPN 端點 IP 位址以使用原始網關,並將用於加密的 VPN 封包:

dest 185.118.18.66 mask 255.255.255.255 gw 192.168.20.254

這個巧妙的技巧允許在不觸及預設網關路由的情況下設定 VPN。

相關內容