vpn,一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法,可以用作“梯子”(不是可靠的方式容易被检测流量性质,会被禁用IP或端口),移动办公,LAN连接LAN等,是一种加密的方式
1.协议
pptp:部署简单。加密性差,但是速度快
l2tp:不加密,一般需要配合ipsec来实现加密
ipsec:安全性最好,但是部署复杂
2.解决方案
a.ipsec
server:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $ yum install pptpd $ vim /etc/pptpd.conf #logtmp #分配地址,相当于dhcp localip 192.168.99.1 remoteip 192.168.99.10-200 vim /etc/ppp/options.pptpd #给window分配的DNS服务器 ms-dns 114.114.114.114 ms-dns 8.8.8.8 vim /etc/ppp/chap-secrets#设置登陆账户和密码 tom pptpd uplooking * #用户名、协议、密码、允许使用的主机
|
client:
1
| $ pppd noauth nobsdcomp nodeflate require-mppe-128 pty "pptp download.kaderfor.com" --nolaunchpppd" file /etc/ppp/options.pptp user yourname password yourpassword"
|
b.openvpn
server:
1 2 3 4 5 6 7 8
| $ yum install openvpn $ cp /usr/share/doc/openvpn-2.3.12/sample/sample-config-files/server.conf /etc/openvpn/ #vim /etc/openvpn/server.conf #push "redirect-gateway def1 bypass-dhcp" 取消注释,全部走VPN路由 #push "dhcp-option DNS 114.114.114.114" 分配win的DNS #duplicate-cn #支持多个人用 #tls-auth ta.key 0 #取消注释,也可以使用,若使用客户端也要使用为1 #mssfix 1400 #正确检测包的大小
|
CA中心生成证书:
1 2
| yum install easy-rsa cd /usr/share/easy-rsa/2.0/
|
server需要的文件:
ca.crt server.crt server.key dh2048.pem ta.key
clinet需要的文件:
ca.crt client.crt client.key ta.key
(以上文件需要在默认目录/etc/openvpn/)
1 2 3 4 5 6 7
| . vars #初始化 ./clean-all #删除keys目录中的文件,第一次执行就行了,后面不执行 ./build-ca #创建CA中心,即ca.key、ca.crt和ca.csr ./build-db #创建dh2048.pem文件 ./build-key-server server #创建server.key和server.crt ./build-key client #创建client.key和client.crt openvpn --genkey --secret ta.key #创建ta.key
|
3.梯子工具解决方案
a.shadowsocks
b.dog-tunnel
c.kcptun(tcp)
d.shadowvpn