记录一下openvpn for win的一些操作步骤
今天我一个侄子,说他公司网络限制了很多,很多网站不能上,视频、游戏不能用,问有没有办法解除这些限制,首先就想到了openvpn,以前使用wap无限流量包月时最喜欢搞这个了,好几年没用了,折腾了半天才弄通,后来弄通了让人测试没问题了,告诉他现在可以用了,结果他折腾了半天也搞不上,后来才弄明白,他公司是华硕在上海的一个点,妈的,浪费老夫许多时间,大公司的防火墙可没这么容易突破啊,结果是失败,人家直接连我的ip都ping不通,无语了,不过过程还是要记下来,也许以后有用。
首先在vmware server上做了个虚拟机,装了个windows 2003,IP设为192.168.2.4,安装了openvpn,一路默认就行。
1、先进入openvpn安装目录,进入easy-rsa文件夹,用文本编辑器编辑vars.bat.sample,不要用记事本咯,记事本不知道换行,我用的editplus,如果openvpn安装不是默认的c:\program files\openvpn,那就需要设置一下set HOME,可以根据安全需求设置一下set KEY_SIZE=2048,再修改一下set KEY_COUNTRY=CN,set KEY_PROVINCE=GD,set KEY_CITY=ShenZhen,set KEY_ORG=dagai,set KEY_EMAIL=admin@xxx.com,设好保存。
2、打开命令行窗口,进入到openvpn安装目录的easy-rsa目录,运行init-config.bat初始化配置文件。
3、运行vars.bat设置一下要用的变量什么的。
4、运行clean-all.bat来清除一些以前生产的文件什么的,新装的就无所谓咯,注意,这个运行了会清空keys目录的所有文件。
5、运行build-dh.bat来创建dh文件。
6、运行build-ca.bat来创建ca文件,有些参数比如国家省份城市什么的都已经在vars.bat里设置了,可以直接回车就行了,还有个common name,自己随便设置一下就行了。
7、运行build-key-server.bat server来建立服务器端的key文件,密码什么的根据自己的需求来设置吧,是否需要签署证书那两个都回答y。
8、运行build-key.bat client来建立客户端key文件,后面的client名根据需求更换可以建立多个不同的客户端key,不过注意不能重复,一些参数根据需求自己设置就行了,与server的差不多。
9、将keys目录下生成的几个文件ca.crt、ca.key、dh2048.pem、server.crt、server.key复制到config目录去。
10、在sample-config目录找到server.ovpn复制到config目录,编辑server.ovpn文件,主要注意几处设置
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 35 36 37 38 39 40 41 42 | local 192.168.2.4 #本地监听IP port 443 #监听端口,咱们要穿越防火墙不是,走443多安全啊。 proto tcp #协议,选TCP或UDP ;proto udp ;dev tap dev tun #虚拟设备,tun或tap ;dev-node MyTap ca ca.crt #证书和key等 cert server.crt key server.key dh dh1024.pem #dh文件,看你生成的是1024位还是2048位来修改 server 10.0.0.0 255.255.255.0 #vpn服务的ip网段 ifconfig-pool-persist ipp.txt ;server-bridge 10.0.0.4 255.255.255.0 10.0.0.50 10.0.0.100 push "route 192.168.2.0 255.255.255.0" #把要出去路由信息推送给客户端 ;push "route 10.0.0.0 255.255.255.0" ;client-config-dir ccd ;route 192.168.40.128 255.255.255.248 ;client-config-dir ccd ;route 10.9.0.0 255.255.255.252 ;learn-address ./script push "redirect-gateway" #告诉客户端重定向网关到vpn服务器的 push "dhcp-option DNS 4.2.2.2" #推送DNS信息 ;push "dhcp-option WINS 10.0.0.1" ;client-to-client #让客户端可以互访 duplicate-cn #让你的同一个配置可以给多个客户端同时连 keepalive 10 120 ;tls-auth ta.key 0 ;cipher BF-CBC ;cipher AES-128-CBC ;cipher DES-EDE3-CBC comp-lzo max-clients 10 #最大连接客户端数 ;user nobody ;group nobody persist-key persist-tun status openvpn-status.log ;log openvpn.log ;log-append openvpn.log verb 3 ;mute 20 |
11、设置好保存,然后connect把服务器上线。
12、然后设置客户端,在sample-config找到client.ovpn,编辑,注意以下几个设置
client
dev tun #与服务端要一样
proto tcp #与服务端要一样
remote ip-ddns 443 #服务器的ip与端口,可以使用ddns
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt #客户端要使用的三个文件,证书和key文件
cert client.crt
key client.key
comp-lzo
verb 3
13、将client.ovpn与ca.crt、client.crt、client.key文件一起给客户端放到config目录下,就可以连接上服务器了。
14、不能上网,为什么客户端不能上网呢,可以桥接openvpn服务器端的真实网卡与虚拟网卡,也可以用sygate、isa server之类的软件,我就用sygate,于是OK了,当然,要注意在网关上映射openvpn服务器的443端口呃。