【发布时间】:2016-02-02 23:57:21
【问题描述】:
我使用 VPN 服务已有一段时间了,但某些网站 (twitch.tv) 不允许我通过 VPN 连接到它们。所以我在 Windows 上查找了如何绕过这些域的 VPN 并找到了静态路由。
我想如何做到这一点是在启动时运行一个批处理文件,该文件会自动路由一组给定的所有 IP 地址 域。
- 独立于默认网关地址
- 独立于使用的网络适配器
- 域更改 IP 地址后无需调整
- 处理整个域 IP 地址集(nslookup?)
这是我通过反复试验得出的结论。
@echo off
FOR /F "tokens=3" %%F in (
'route print ^|findstr "\<0.0.0.0\>"'
) Do if not defined DefaultGateway set "DefaultGateway=%%F"
FOR /F "tokens=2" %%F in ('nslookup twitch.tv') DO (
SET var1=%%F
)
route -p add %var1% mask 255.255.255.255 %DefaultGateway%
FOR /F "skip=5 tokens=1" %%F IN ('nslookup twitch.tv') DO (
route -p add %%F mask 255.255.255.255 %DefaultGateway%
)
我想你可以看出这是我从 SO 上的 sn-ps 创建的一些可怕的科学怪人代码。它现在可以工作,但我怎样才能让它更优雅?第二个和第三个 FOR 循环可以合并为一个吗?如何做到这一点,以便如果我要添加一个新域,我可以将其添加到列表中,而不是添加另外 2 个 FOR 循环?
【问题讨论】:
标签: windows batch-file automation network-programming vpn