我希望所有的互联网流量都通过 VPN,除了少数网站(例如,这样我可以正常流式传输节目,但通过 VPN 运行其他内容)。
我的 VPN 提供商为我提供了一个 .ovnp 文件。我应该很快提到我患有纤维肌痛并且无法正常思考。因此,我盲目地将中间某处逐字添加到以下 ovnp 文件中,这是我从其他线程获得的。
allow-pull-fqdn
route www.netflix.com 255.255.255.255 net_gateway
route www.disneyplus.com 255.255.255.255 net_gateway
route www.primevideo.com 255.255.255.255 net_gateway
但可惜的是,当我访问列出的网站时,我可以看到我通过了 VPN,因为它们的行为不正确,缺少显示或根本无法加载(而当我不使用 VPN 时,它们就很好) 。希望不是因为这些域有多个 ip 或其他原因。我正在运行 arch linux。文件中是否有一个特殊的位置需要放置我的块?该文件看起来像这样(我认为这些文件无论如何都是公开的,但我删除了密钥):
client
dev tun
proto udp
remote 89.47.234.171 1194
resolv-retry infinite
remote-random
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 0
ping-timer-rem
reneg-sec 0
comp-lzo no
<-- I tried here
remote-cert-tls server
auth-user-pass
verb 3
pull
fast-io
cipher AES-256-CBC
auth SHA512
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
...
-----END OpenVPN Static key V1-----
</tls-auth>
希望不是因为这些域有多个 ip 或其他原因。——他们确实这么做了。此外,他们可能会使用 DNS 循环负载平衡,这会导致每个 DNS 回复的答案可能有很大不同(不仅仅是顺序,而且整个 IP 集也可能不同),并且他们可能使用 DNS 支持的地理分布式 CDN,因此,DNS 对通过 VPN 和不通过 VPN 发出的查询的响应也会有所不同。当 OpenVPN 准备建立连接时,它会通过当前可用的本地配置的名称服务器查询 DNS,而当 VPN 连接建立时,可能会通过 VPN 进行查询,甚至查询的 DNS 服务器可能会更改为 VPN 提供的服务器,因此浏览器会获取初始化期间的答案与 OpenVPN 不同。
看:
两次连续查询,一次通过本地 DNS,另一次通过 Google。显然它使用了地理定位。我们还看到两个不同的 AWS 数据中心;我确信 AWS 的一些机制也在发挥作用。
因此,当您使用路由时,不要使用名称。相反,您应该确定要保证以某种方式路由的所有 IP,并将它们作为 IP 放入配置文件中。路由对名称一无所知,IP 地址才是它的主题。
至于 OpenVPN 配置文件格式:没有特殊的地方,您可以按任何顺序放置指令。只需确保不要将其放入
cert
其他此类块中。