避免 OpenVPN 客户端作为默认网关

避免 OpenVPN 客户端作为默认网关

我有一堆可以连接到客户网络的 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。

相关内容