OpenVPN:仅通过 VPN 路由特定的 IP 地址?

OpenVPN:仅通过 VPN 路由特定的 IP 地址?

在远程专用网络上有两台服务器——一台文件服务器和一台数据库服务器(如果有关系的话,这些都是 Win 机器)。

文件服务器有自己相当强大的身份验证机制,并允许我直接从远程位置连接。

数据库服务器使用简单的用户名和密码,为了防止未经授权的访问,它被锁定在本地网络中 - 外部流量被阻止。

为了访问数据库服务器,我使用 Windows 上的 OpenVPN 客户端连接到私有网络上的 VPN 服务器。

默认情况下,OpenVPN 会通过 VPN 路由所有发往 VPN 服务器所在远程网络的网络数据包。不幸的是,通过 VPN 访问文件服务器极其慢的!

问题:

如何配置 OpenVPN 客户端以仅通过 VPN 路由发往单个特定 IP 地址(即数据库服务器)的流量?

答案1

OpenVpn 的正确配置是:

route-nopull 
route 192.168.0.0 255.255.255.0

这些条目属于您的 .ovpn 文件,并将通过 VPN 引导所有 192.168.0.* 子网流量。

仅适用于一个IP(192.168.0.1):

route-nopull 
route 192.168.0.1 255.255.255.255

顺便说一句:route-nopull意思是“不要从服务器拉取路线”

答案2

目标

  • 默认使用普通互联网连接进行所有互联网流量,即使已连接 VPN。
  • 通过 VPN 将流量路由到一个特定的 IP 地址。

脚步

  1. Win+R并执行ncpa.cpl

  2. 右键单击 VPN 连接并转到属性 → 网络

  3. 选择Internet 协议版本 4并转到属性 → 高级...

  4. 取消选中在远程网络上使用默认网关并点击好的

  5. (可选)重复上述步骤Internet 协议版本 6

  6. (重新)连接到您的 VPN。

  7. 打开命令提示符并执行route print -4

  8. 接口列表和它的门户在活跃路线

    在我的计算机上,我有:

    Interface List
     32...........................Super Free VPN
    
    [...]
    
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0         On-link        10.6.6.127     31
             10.0.0.0        255.0.0.0        10.88.1.1      10.88.1.102     31
    

    这里,VPN 的网关是10.88.1.1,因为它是该块的网关10.xxx.xxx.xxx

  9. 添加一条持久路由,只要连接到 VPN,该路由就会附加到活动路由中:

    route -p add 23.22.135.169 10.88.1.1 if 32
    

    本例中,23.22.135.169是 的IP whatismyip.org10.88.1.1是网关的IP, 是32接口号。

  10. (可选)对 重复前面的步骤route print -6

  11. 测试设置。

    如果一切顺利的话,whatismyip.orgwww.whatismyip.cx现在将显示不同的 IP。

答案3

在你的 OpenVPN 客户端配置中,添加如下一行:

route The.IP.To.Go 255.255.255.255

(其中 The.IP.To.Go 是您希望通过 VPN 路由的 IP)

这将指示 OpenVPN 在您的操作系统的路由表中创建条目。

或者,可以通过在服务器配置中添加以下内容,让 OpenVPN 服务器将此路由配置“推送”到客户端:

push "route The.IP.To.Go 255.255.255.255"

编辑:有一件事我错过了解决 - 所有流量的默认转发...它可以在服务器上禁用,或者客户端可以选择忽略“推送”指令(因此我们的第二个选项“推送”路由不起作用)通过:

route-nopull

答案4

iptables -A PREROUTING -t mangle -i <LAN_interface> \
-d <remote_network>/<remote_netmask> -j ROUTE --gw <openvpn_host_ip>

相关内容