Centos系统下OpenVPN安装配置
Centos系统下OpenVPN安装配置
由于最近公司的一个客户需求通过VPN来访问国外的业务,这个事情由我来负责但我从来都没有做过于是就各种百度、google一顿狂找OpenVPN方面的资料.根据网上查找到的资料结合自己的理解总结如下文档,给大家在这里分享下.
一、安装OpenVPN前的准备工作
1、安装OpenVPN版本
Centos6.3 64位 客户端系统Win7 64位 服务端IP:114.26.162.35
2、服务端软件版本
openvpn-2.0.9tar.gz
lzo-2.03.tar.gz
3、客户端安装软件版本
openvpn-2.2.0-install.exe
4、配置网络yum源,跟新所需的库文件,避免安装报错
yum groupinstall "DevelopmentTools"
5、在安装之前确认一下你买的vps是否开启tun/tap的支持,burst vps默认是不开启tun/tap的,可以使用cat /dev/net/tun进行检查出现下面的代表正确了
[root@YZW ~]# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state
6、清空防火墙配置关闭Selinxu
[root@YZW ~]# iptables -F
[root@YZW ~]# service iptables save
[root@YZW ~]# service iptables stop
[root@YZW ~]# setenforce 0
二、安装LZO库
[root@YZW ~]# cd /wang
[root@YZW wang]# tar xf lzo-2.03.tar.gz
[root@YZW wang]# cd lzo-2.03
[root@YZW lzo-2.03]# ./configure --prefix=/application/lzo-2.03
[root@YZW lzo-2.03]# make && make install
[root@YZW lzo-2.03]# echo $?
0
[root@YZW lzo-2.03]# ln -s /application/lzo-2.03/application/lzo
[root@YZW lzo-2.03]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib/
/usr/local/pcre/lib/
/lib
/lib64
/usr/lib
/usr/lib64
重新加载动态库
[root@YZW lzo-2.03]# ldconfig
三、安装OpenVPN
[root@YZW ~]# cd /wang
[root@YZW wang]# tar zxvf openvpn-2.0.9.tar.gz
root@YZW wang]# cd openvpn-2.0.9
[root@YZW openvpn-2.0.9]# ./configure --prefix=/application/openvpn-2.0.9 --with-lzo-headers=/application/lzo/include--with-lzo-lib=/application/lzo/lib --with-sslheaders=/usr/include/openssl--with-ssl-lib=/usr/lib
[root@YZW openvpn-2.0.9]#make
[root@YZW openvpn-2.0.9]#make install
[root@YZW openvpn-2.0.9]# ln -s /application/openvpn-2.0.9 /application/openvpn
[root@YZW openvpn-2.0.9]# mkdir /etc/openvpn
[root@YZW openvpn-2.0.9]# cp -R easy-rsa/ /etc/openvpn/
[root@YZW openvpn-2.0.9]# cd /etc/openvpn/easy-rsa/2.0/
[root@YZW 2.0]# ls
[root@YZW 2.0]# ./vars
注:如果你执行了./clean-all,系统将删除/etc/openvpn/easy-rsa/2.0/keys下的文件
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/2.0/keys
[root@YZW 2.0]# vim vars
60 export KEY_COUNTRY="CN"
61 export KEY_PROVINCE="BJ"
62 export KEY_CITY="BJ"
63 export KEY_ORG="YZWOpen ORG"
64 export KEY_EMAIL="[email protected]"
65 export KEY_OU="yzwVPN"
更新刚才修改的配置
[root@YZW 2.0]# source ./vars
四、初始化keys文件,生成服务端CA证书及文件
清空所有证书
[root@YZW 2.0]# ./clean-all
生成服务端证书
[root@YZW 2.0]# ./build-ca
[root@YZW 2.0]# cd keys/
查看生成的证书
[root@YZW keys]# ls
ca.crt ca.key index.txt serial
再生成diffie hellman参数,用于增强openvpn安全性
[root@YZW keys]# cd ..
[root@YZW 2.0]# ./build-dh
[root@YZW 2.0]# cd keys/
[root@YZW keys]# ls
ca.crt ca.key dh1024.pem index.txt serial
生成服务器端密钥证书,server是一个名字而已
[root@YZW 2.0]# ./build-key-server server
[root@YZW keys]# cp ca.crt ca.key server.crt server.key dh1024.pem /etc/openvpn/
五、初始化keys文件,生成客户端CA证书及文件
[root@YZW keys]# cd ..
[root@YZW 2.0]# ./build-key-server client
[root@YZW 2.0]# mkdir /key
[root@YZW 2.0]# cd keys/
[root@YZW keys]# ls
01.pem ca.key client.key index.txt.attr serial server.csr
02.pem client.crt dh1024.pem index.txt.attr.old serial.old server.key
ca.crt client.csr index.txt index.txt.old server.crt
将key目录下的这几个文件下载到win7系统上面去
[root@YZW keys]# cp ca.crt ca.key client.crt client.csrclient.key /key/
六、配置openvpn文件
[root@YZW key]# cp /wang/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/openvpn.conf
26 local 这里写上你服务器的ip地址
33 port 1194
38 proto tcp
54 dev tun
79 ca /etc/openvpn/ca.crt //这个是文件实际所在的路径
80 cert /etc/openvpn/server.crt
81 key /etc/openvpn/server.key # This file should be kept secret
88 dh /etc/openvpn/dh1024.pem
97 server 10.8.0.0 255.255.255.0 //客户端获取的IP地址
104 ifconfig-pool-persist ipp.txt
127 push "route 0.0.0.0 0.0.0.0" //客户端会添加一条这个路由所有的流量通过vpn,也可以设置部分通过vpn
128 push "dhcp-option DNS 202.106.0.20"
198 client-to-client
211 duplicate-cn //开启这个可以共用一个客户端key,否则需要单独创建每个客户端key
220 keepalive 10 120
245 comp-lzo
256 user nobody
257 group nobody
263 persist-key
264 persist-tun
269 status /etc/openvpn/logs/openvpn-status.log
278 log /etc/openvpn/logs/openvpn.log
279 log-append /etc/openvpn/logs/openvpn.log
288 verb 3
[root@YZW key]# cd /etc/openvpn/
[root@YZW openvpn]# mkdir logs
[root@YZW openvpn]# chmod -R o+w logs/
七、启动OpenVPN
修改完毕后,即可以启动vpn,--daemon为后台守护进程模型启动
[root@YZW ~]# /application/openvpn/sbin/openvpn --daemon --config /etc/openvpn/openvpn.conf
[root@YZW ~]# netstat -an | grep 1194
tcp 0 0 114.26.162.35:1194 0.0.0.0:* LISTEN
八、在服务端开启路由转发
[root@YZW ~]# vi /etc/sysctl.conf
7 net.ipv4.ip_forward = 1 //将0修改为1
[root@YZW ~]# sysctl -p //重新加载
九、配置防火墙设置nat转发
保证VPN地址池可路由出外网
在win7系统下也就是你的客户端用telnet 你服务器里边的外网IP地址 1194看是否可以进去
[root@YZW ~]# iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
[root@YZW ~]# /etc/rc.d/init.d/iptables save
十、win7客户端安装配置
双击运行这个exe程序一直next安装完成就可以!
安装完成到openvpn的安装目录将sample-config这个目录下的client.ovpn文件到config目录
client # 定义是一个客户端
devtun # 定义使用路由IP模式,与服务端一致
prototcp # 定义使用的协议,与服务端一致
remote 114.26.162.35 1194 # 指定服务端地址和端口,可以用多行指定多台服务器
resolv-retry infinite # 解析服务器域名
nobind # 客户端不需要绑定端口
user nobody
group nobody
persist-key
persist-tun
ca ca.crt # 就是指定ca和客户端的证书
cert client.crt
keyclient.key
ns-cert-type server
comp-lzo # 使用lzo压缩,与服务端一致
verb 3
route-method exe
route-delay 2
redirect-gateway def1
十一、验证结果
双击桌面的下面图标
桌面右下边有个红色的小电脑图标,右键---》Connect,如果正常会弹出一个框显示连接信息,然后电脑图标变成绿色了就证明连接上了
本文出自 “卓越军” 博客,请务必保留此出处http://wxj121.blog.51cto.com/7136845/1589609
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。