让VPN断线后自动断网

做坏事的时候一定需要VPN,但如果VPN莫名其妙掉线又会用本机真实IP去访问
这样真实IP就会被几率下来,于是呆呆呆

通过设置策略组实现VPN断线后自动断网太麻烦

功能:

拨入VPN后,如果VPN掉线,将不能访问任何网络,以防暴漏自己真实IP地址

Windows

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!#/usr/bin/env python
#coding=utf-8
#Author:z0z
import msvcrt
import time
import os
x=0
print "Enter 'q' to exit"
vpn=os.popen("ipconfig |find \"PPP\"").read()
if vpn=="":
print "No VPN"
else:
x=1
while x:
key=""
time.sleep(0.5)
if msvcrt.kbhit():
key=msvcrt.getch()
vpn=os.popen("ipconfig |find \"PPP\"").read()
if(vpn==""):
os.popen("ipconfig /release").read()
print "VPN Disable!!"
opt=raw_input("Network is Down. Need up?(y/n):")
if opt=='y':
os.popen("ipconfig /renew").read()
print "Network is Up!!!"
exit(1)
else:
print "%d check: VPN OK!"%(x)
x+=1
if key=="q":
print "Exiting..."
exit(1)
#os.system("ipconfig /renew")

编译后exe程序下载

链接: http://pan.baidu.com/s/1bYBkvG 密码: q7ud

(适用无python环境)

路由表

拨入vpn或者其他vpn客户端软件后,再本地路由表(route print) 可以看到两个网关信息,一个是本地网关记录,另一个是vpn网关记录
需要管理员权限来运行,可以自制bat

删除本地网关为192.168.1.1的默认路由(只通过vpn网关上网)

1
route delete 0.0.0.0 192.168.1.1

添加本地网关为192.168.1.1的默认路由(恢复网络)

1
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

Linux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
n=1
while true;do
ifconfig|grep ppp >/dev/null
if [ $? -eq 0 ];
then
echo "$n Check: VPN OK"
sleep 1
n=`expr $n + 1`
else
ifconfig eth0 down
echo "Network is Down"
echo "please run:ifconfig eth0 up"
exit
fi
done

目录

  1. 1. 功能:
    1. 1.1. Windows
      1. 1.1.1. Python
      2. 1.1.2. 路由表
    2. 1.2. Linux