Jac*_*ner 10 windows vpn openvpn
我在带有 TAP 适配器的 Windows 上使用 OpenVPN。
我知道您可以指定到特定 IP 地址的路由以访问本地 Internet 连接。但是它不能对主机名/域做同样的事情。
有没有办法让我的流量保持在 VPN 上,但将请求路由到 www.google.com,例如通过我家里的默认网关(在我的情况下是 192.168.1.1)?
我在想我可以在我的 HOSTS 文件中设置 127.0.0.1 www.google.com 并运行本地 apache 并在那里处理规则集,但如果有另一个,我宁愿不必运行本地网络服务器/代理我不知道的方式。
Dav*_*lar 18
您可以将其添加到 .ovpn 文件中:
allow-pull-fqdn
route www.google.com 255.255.255.255 net_gateway
Run Code Online (Sandbox Code Playgroud)
然后在 openvpn 启动时,这将查找 www.google.com,获取它的 IP 地址,然后使用网络(而不是 VPN)为其添加路由。
问题是,google 使用多个 IP 地址,因此当您尝试访问 google 时,它仍将使用 VPN,除非您碰巧访问它在启动时查找的相同 IP 地址。
一种技巧是获取 google 使用的 IP 地址之一并将其添加到您的 /etc/hosts,这样您的机器将始终为 google 使用相同的 IP 地址,并且 openvpn route 命令将完成您想要的操作。
问题当然是,如果谷歌停止使用该 IP 地址,或者出于任何原因想要将您路由到不同的 IP 地址。然后它失败了。
小智 8
我知道这是项非常晚的比赛,但我最近花了几个小时研究这个同一主题,并想我会帮助其他人可能会寻找同样的事情。虽然最常见的用例是通过您的 VPN 路由所有内容,但在涉及 VPN 时有两种例外情况:
路由大多数但有例外 对于场景#1,David 的响应工作得很好。要解决多个 IP 问题,请执行 WHOIS 查找并为 IP 地址块创建路由,而不仅仅是 IP 地址。请注意,您可能需要执行多次查找才能获得整个 IP 地址块集。
# if your build doesn't support "net_gateway," replace it with your own default gateway
# I added extra spacing for legibility, but a single space is fine
route 172.217.0.0 255.255.0.0 net_gateway ; google.com
route 216.239.32.0 255.255.224.0 net_gateway ; google.com
allow-pull-fqdn ; my config works *without* this option, so test on your build
route google-public-dns-a.google.com net_gateway ; 8.8.8.8
route google-public-dns-b.google.com net_gateway ; 8.8.4.4
route ifconfig.co net_gateway ; confirm at least one exception is routing properly
route whatismyip.com net_gateway
Run Code Online (Sandbox Code Playgroud)
路由只是一些
David 的回应也适用于场景 #2;但是,您添加了该route-nopull选项,以防止服务器为 VPN 发送默认路由。 我还没有测试过,但我想你可以添加你自己的默认路由来指向你的 net_gateway。
route 1.2.3.0 255.255.255.0 vpn_gateway ; "vpn_gateway" is optional & 1.2.3.0 is fictitious
route 2.3.4.0 255.255.255.0 ; another example - perhaps an IPTV provider
allow-pull-fqdn
route ifconfig.me vpn_gateway
route myexternalip.com vpn_gateway
route-nopull
Run Code Online (Sandbox Code Playgroud)
测试配置 我喜欢为 ifconfig.co、ifconfig.me、whatismyip.com 和 myexternalip.com 添加路由,因为它允许我快速测试我正在运行的配置文件:完整 VPN 或拆分隧道。当我运行完整的 VPN 时,所有站点都会返回我的 VPN 地址;否则,ifconfig.co 和 whatismyip.com 将返回我的本地地址,而 ifconfig.me 和 myexternalip.com 将返回我的 VPN 地址。
C:\utils> for %f in (co me) do curl ifconfig.%f
Run Code Online (Sandbox Code Playgroud)
- 或者 -
PS C:\utils> "whatismyip", "myexternalip" | % { Start-Process ("http://{0}.com" -f $_) }
Run Code Online (Sandbox Code Playgroud)
我知道这没什么特别的,但是当我环顾四周时,我提供了一些真正对我有帮助的细节。我希望这至少可以帮助一个人。
我很想听听任何其他 VPN 提示或技巧。快乐安全冲浪!
小智 4
仅当您使用可在OpenVPN 手册--allow-pull-fqdn中找到的详细信息时,您才可以指定到主机名的路由
| 归档时间: |
|
| 查看次数: |
20339 次 |
| 最近记录: |