一键实现--强制通过VPN上网,VPN断线就断网
原帖是这里:强制通过VPN上网,VPN断线就断网
https://www.t00ls.com/thread-38739-1-1.html
看了之后好碉堡啊,以前还是通过监控网卡状态来判断VPN是否掉了然后禁用本地网卡,监控网卡状态总还是有延迟的!!!
BUT,现在GFW什么的很坑啊,时不时的给你掐断一下你的VPN通道,然而你本地VPN还在尝试重连,监听程序判断仍然没有断网,这里就有个延迟,鬼知道中间都发生了什么,是不是已经被登记快递地址了。
看了Twi1ight的文,感觉好猥琐啊。我喜欢!
但就是本人有点懒,凭什么linux下几条命令就搞定了,windows还要瞅半天的界面!
找点空子就看了下怎么写命令windows一键实现。
这里再标原创有点坑了,命令随便研究下就能写了,随意吧,谁让我懒。
很简单,三条命令搞定:还是这三步对防火墙进行设置:
1. 默认阻止所有出口流量
2. 在本地连接上设置允许通向VPN服务器的出口流量
3. 允许所有流量通过vpn链接出去
然后嫌麻烦,弄了个稍微人性化的bat一键版:
注:适合vista及以上版本,win7 8 10,server2008 2012 2016等。 03本应该也可以,命令好像不太一样,03不安全,抛弃。
需要管理员权限运行!!
说明:
可以重复添加IP及IP段范围地址,IP地址或范围段以英文逗号,隔开。多次添加会发现规则里有很多个重名的规则信息,这不影响。删除的时候是根据规则命名全部删除!
bat如下:自评TCV:0
https://www.t00ls.com/thread-38739-1-1.html
看了之后好碉堡啊,以前还是通过监控网卡状态来判断VPN是否掉了然后禁用本地网卡,监控网卡状态总还是有延迟的!!!
BUT,现在GFW什么的很坑啊,时不时的给你掐断一下你的VPN通道,然而你本地VPN还在尝试重连,监听程序判断仍然没有断网,这里就有个延迟,鬼知道中间都发生了什么,是不是已经被登记快递地址了。
看了Twi1ight的文,感觉好猥琐啊。我喜欢!
但就是本人有点懒,凭什么linux下几条命令就搞定了,windows还要瞅半天的界面!
找点空子就看了下怎么写命令windows一键实现。
这里再标原创有点坑了,命令随便研究下就能写了,随意吧,谁让我懒。
很简单,三条命令搞定:
netsh advfirewall set allprofiles firewallpolicy allowinbound,blockoutbound
netsh advfirewall firewall add rule name="allowvpn1" dir=out action=allow enable=yes remoteip="10.0.0.1"
netsh advfirewall firewall add rule name="allowvpnremote1" dir=out action=allow enable=yes interfacetype=ras
1. 默认阻止所有出口流量
2. 在本地连接上设置允许通向VPN服务器的出口流量
3. 允许所有流量通过vpn链接出去
然后嫌麻烦,弄了个稍微人性化的bat一键版:
注:适合vista及以上版本,win7 8 10,server2008 2012 2016等。 03本应该也可以,命令好像不太一样,03不安全,抛弃。
需要管理员权限运行!!
说明:
可以重复添加IP及IP段范围地址,IP地址或范围段以英文逗号,隔开。多次添加会发现规则里有很多个重名的规则信息,这不影响。删除的时候是根据规则命名全部删除!
bat如下:
@echo off
TITLE Set forced through the VPN to the Internet , plz run as administrator! by t00ls.net
:menu
echo.
echo ===============================================================================
echo.
echo 1. Set forced through the VPN to the Internet , plz run as administrator
echo 2. Delete your setttings in 1 , plz run as administrator
echo 3. Query your settings IP
echo 4. exit
echo. by t00ls.net
echo.
set /p select=plz select:
if /i "%select%"=="1" goto 1
if /i "%select%"=="2" goto 2
if /i "%select%"=="3" goto 3
if /i "%select%"=="4" goto 4
echo error select&pause&%0
:1
echo.
echo Examples:
echo 10.0.0.1 or 10.0.0.1-10.0.0.254 or 10.0.0.1/24
echo 10.0.0.1,192.168.1.1,10.10.10.0/24
echo use , to separate multiple IPs
echo.
set /p ip=Set Your IP Address:
echo netsh advfirewall set allprofiles firewallpolicy allowinbound,blockoutbound
netsh advfirewall set allprofiles firewallpolicy allowinbound,blockoutbound
echo netsh advfirewall firewall add rule name="allowvpn1" dir=out action=allow enable=yes remoteip="%ip%"
netsh advfirewall firewall add rule name="allowvpn1" dir=out action=allow enable=yes remoteip="%ip%"
echo netsh advfirewall firewall add rule name="allowvpnremote1" dir=out action=allow enable=yes interfacetype=ras
netsh advfirewall firewall add rule name="allowvpnremote1" dir=out action=allow enable=yes interfacetype=ras
goto menu
:2
echo.
echo netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound
netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound
echo netsh advfirewall firewall delete rule name="allowvpn1"
netsh advfirewall firewall delete rule name="allowvpn1"
echo netsh advfirewall firewall delete rule name="allowvpnremote1"
netsh advfirewall firewall delete rule name="allowvpnremote1"
goto menu
:3
echo.
echo You have set the IP
netsh advfirewall firewall show rule name="allowvpn1" |findstr IP
if %errorlevel% NEQ 0 (echo.
echo ----Not Found IP----
echo.
echo.) else echo.
goto menu
:4
exit
评论68次
楼主能在说说macOS怎么搞吗?用iptables不是好办法,我用 OpenVPN 客户端 Tunnelblink 好像有设置的地方,目前还在研究,研究出来了也发出来。
mac还是主要iptables,或者第三方类似软件。或者你使用14楼的删除路由表的方法,https://www.t00ls.com/redirect.php?goto=findpost&ptid=38860&pid=640885 其实我这个就是一种比较花俏的但确实能直观的感受到方法,方法之一而已。
楼主能在说说macOS怎么搞吗?用iptables不是好办法,我用 OpenVPN 客户端 Tunnelblink 好像有设置的地方,目前还在研究,研究出来了也发出来。
路由设置防火墙也可以。
使用之后一般故障,排查不出错误,心塞
使用之后只有连接你的VPN后才能ping通外网。 你是怎么使用的呢?删除配置后恢复没有?
删除配置后恢复,设置之后连不上。
设置后连不上,是指设置的VPN都连不上?还是可以连VPN,但上不了网?
使用之后一般故障,排查不出错误,心塞
使用之后只有连接你的VPN后才能ping通外网。 你是怎么使用的呢?删除配置后恢复没有?
删除配置后恢复,设置之后连不上。
使用之后一般故障,排查不出错误,心塞
使用之后只有连接你的VPN后才能ping通外网。 你是怎么使用的呢?删除配置后恢复没有?
使用之后一般故障,排查不出错误,心塞
居家旅行必备啊
太实用了,特别是对于不太懂的我
bat脚本实现监控和切换vpn,思路确实很好
这个必须顶起来 方便的一塌胡颓
这个确实比较实用
非常感谢,很实用的技巧,收藏了
这个说实话,很实用。VPN老是断,不知道干了什么 。。。
现在win的防火墙可以进行这么复杂的策略设置
真心不错嗷~~收藏了
这个太实用了...保护自己啊哈哈.. 另外链接多个vpn的情况呢? __
学xi了。
谢谢很实用 太有用了
再也不用蹲点趁wifi