![openvpn 拆分隧道用于黑名单](https://linux22.com/image/787485/openvpn%20%E6%8B%86%E5%88%86%E9%9A%A7%E9%81%93%E7%94%A8%E4%BA%8E%E9%BB%91%E5%90%8D%E5%8D%95.png)
我希望除了少数网站之外的所有互联网流量都通过 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>
答案1
希望不是因为这些域名有多个 IP 或类似的原因。— 他们肯定会这样做。此外,他们可能会使用 DNS 循环负载平衡,这会导致对每个 DNS 回复的回答可能存在很大差异(不仅是顺序,而且整个 IP 集都可能不同),并且他们可能使用 DNS 支持的地理分布 CDN,因此通过 VPN 和不使用 VPN 进行的查询的 DNS 回答也会不同。当 OpenVPN 准备建立连接时,它会通过当前可用的本地配置名称服务器查询 DNS,而当 VPN 连接建立时,它可能通过 VPN 进行查询,甚至要查询的 DNS 服务器可能会更改为 VPN 提供的服务器,因此浏览器在初始化期间获得的答案与 OpenVPN 不同。
看:
merlin@hpprobook ~ $ host www.netflix.com
www.netflix.com is an alias for www.dradis.netflix.com.
www.dradis.netflix.com is an alias for www.eu-west-1.internal.dradis.netflix.com.
www.eu-west-1.internal.dradis.netflix.com is an alias for apiproxy-website-nlb-prod-1-5675d5ecda6efdd8.elb.eu-west-1.amazonaws.com.
apiproxy-website-nlb-prod-1-5675d5ecda6efdd8.elb.eu-west-1.amazonaws.com has address 54.246.79.9
apiproxy-website-nlb-prod-1-5675d5ecda6efdd8.elb.eu-west-1.amazonaws.com has address 54.170.196.176
apiproxy-website-nlb-prod-1-5675d5ecda6efdd8.elb.eu-west-1.amazonaws.com has address 52.214.181.141
apiproxy-website-nlb-prod-1-5675d5ecda6efdd8.elb.eu-west-1.amazonaws.com has IPv6 address 2a05:d018:76c:b685:3b38:679d:2640:1ced
apiproxy-website-nlb-prod-1-5675d5ecda6efdd8.elb.eu-west-1.amazonaws.com has IPv6 address 2a05:d018:76c:b684:8e48:47c9:84aa:b34d
apiproxy-website-nlb-prod-1-5675d5ecda6efdd8.elb.eu-west-1.amazonaws.com has IPv6 address 2a05:d018:76c:b683:f711:f0cf:5cc7:b815
merlin@hpprobook ~ $ host www.netflix.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
www.netflix.com is an alias for www.dradis.netflix.com.
www.dradis.netflix.com is an alias for www.eu-west-1.internal.dradis.netflix.com.
www.eu-west-1.internal.dradis.netflix.com is an alias for apiproxy-website-nlb-prod-2-b4de62b516adfbbf.elb.eu-west-1.amazonaws.com.
apiproxy-website-nlb-prod-2-b4de62b516adfbbf.elb.eu-west-1.amazonaws.com has address 54.155.246.232
apiproxy-website-nlb-prod-2-b4de62b516adfbbf.elb.eu-west-1.amazonaws.com has address 18.200.8.190
apiproxy-website-nlb-prod-2-b4de62b516adfbbf.elb.eu-west-1.amazonaws.com has address 54.73.148.110
apiproxy-website-nlb-prod-2-b4de62b516adfbbf.elb.eu-west-1.amazonaws.com has IPv6 address 2a05:d018:76c:b685:c898:aa3a:42c7:9d21
apiproxy-website-nlb-prod-2-b4de62b516adfbbf.elb.eu-west-1.amazonaws.com has IPv6 address 2a05:d018:76c:b683:e1fe:9fbf:c403:57f1
apiproxy-website-nlb-prod-2-b4de62b516adfbbf.elb.eu-west-1.amazonaws.com has IPv6 address 2a05:d018:76c:b684:b233:ac1f:be1f:7
两个连续的查询,一个通过本地 DNS,另一个通过 Google。显然它使用了地理位置。我们还看到两个不同的 AWS 数据中心;我确信这里也有一些 AWS 机制在发挥作用。
因此,当您使用路由时,请不要使用名称。相反,您应该确定要保证以某种方式路由的所有 IP,并将它们作为 IP 放入配置文件中。路由对名称一无所知,IP 地址是其主题。
OpenVPN 配置文件格式:没有特殊位置,您可以按任意顺序放置指令。只需确保不要将其放在cert
和其他此类块内。