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