如何添加要重定向到现有 OpenVPN 配置的单个域?

如何添加要重定向到现有 OpenVPN 配置的单个域?

我是 VPN 配置方面的新手,几乎没有配置或调整 VPN 设置的经验。我有一个现有的工作.ovpn文件,用于配置我组织网络中的 VPN 连接。

我有一个组织域外的资源需要通过 VPN 访问。我知道我可以redirect-gateway def1在我的.ovpn文件中添加通过 VPN 重定向所有流量。一位同事的机器上有此配置。

OpenVPN 2.4 参考手册

--redirect-gateway 标志... 自动执行路由命令,使所有传出的 IP 流量通过 VPN 重定向。这是一个客户端选项。此选项执行三个步骤:为- 偏僻的地址,该地址转发到预先存在的默认网关。这样做是为了避免第三步创建路由循环。删除默认网关路由。将新的默认网关设置为 VPN 端点地址(来自--route-gateway或者第二个参数--ifconfig什么时候--dev tun已指定)。

[…]

选项标志:

[…]

定义1-- 使用此标志通过使用 0.0.0.0/1 和 128.0.0.0/1 而不是 0.0.0.0/0 来覆盖默认网关。这样做的好处是可以覆盖但不会消除原始默认网关。

我不喜欢这个选项,因为我希望只通过 VPN 重定向必要的流量,而不是所有传出的 IP 流量。

有没有办法只将附加域添加到我的.ovpn配置文件中?

例子

为了具体说明,假设我有以下工作.ovpn文件:

remote vpn.example.com 1194
proto udp
ns-cert-type server

client
dev tun
resolv-retry infinite
keepalive 10 120
nobind
comp-lzo
mssfix 1331
verb 3

## Certs etc. follow (omitted from example for brevity)

假设我还希望所有来自 的流量otherdomain.invalid都通过 VPN 重定向(例如foo.otherdomain.invalidbar.baz.otherdomain.invalid应通过 VPN 重定向)。我可以向此文件添加什么来实现此目的?

答案1

你可能不能。VPN 作用于 IP 地址,而不是域名。

您可以通过查找 otherdomain.invalid 及其子域使用的 IP 地址来获得所需行为的近似值,然后在配置中添加适当的路由行 - 例如

  route 1.2.3.0 255.255.255.0 

通过 VPN 发送 1.2.3.x 的所有内容。

我还没有尝试过,但也许可以将其更改为

  route otherdomain.invalid 255.255.255.255
  route subdomain.otherdomain.invalid 255.255.255.255

到您的配置文件。假设这有效,它将通过 vpn 将流量路由到 IP 地址(在隧道启动时解析) - 但不一定与 MX 记录或与子域相关的记录相关。当域名解析为多个 A 记录时(某些集群确实如此),它可能无法完全工作

相关内容