当前位置: > Linux服务器 > VPN >

CentOS 6.5 OpenVPN配置

时间:2016-01-03 01:12来源:linux.it.net.cn 作者:IT

1.系统环境: CentOS 6.5 64位

2.进行安装前先按照:https://help.aliyun.com/knowledge_detail/5974184.html 更新yum源为阿里云的内网yum源。 

3.安装依赖的软件包; 

yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel 

yum install -y pkcs11-helper pkcs11-helper-devel  

确认已经安装完成

rpm -qa lzolzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel

1-rpm.jpg  

4.安装openvpn服务 

(1)下载openvpn的源码包

wget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz 

(2)使用rpmbuild将源码包编译成rpm包来进行安装

rpmbuild -tb openvpn-2.2.2.tar.gz 

执行这条命令以后就会正常开始编译了,编译完成以后会在/root/rpmbuild/RPMS/x86_64目录下生成openvpn-2.2.2-1.x86_64.rpm安装文件 

(3) 执行rpm -ivh openvpn-2.2.2-1.x86_64.rpm 以rpm包的方式安装 

2-狿瀀洀.jpg  

5.配置OPENVPN服务(服务端) 

(1)初始化PKI

cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0 

进入到/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0目录下,找到vars证书环境文件,修改以下几行export定义的参数值  

exportKEY_COUNTRY="CN"   所在的国家

export KEY_PROVINCE="BJ"  所在的省份

exportKEY_CITY="Hangzhou"   所在的城市

exportKEY_ORG="aliyun"        所属的组织 

export KEY_EMAIL=my@test.com    邮件地址

上述参数的值可以自定义设置,对配置无影响。  

(2)生成服务端的证书:

ln -s openssl-1.0.0.cnf openssl.cnf 做个软链接到openssl-1.0.0.cnf配置文件 

source ./vars

./clean-all 

清除并删除keys目录下的所有key 

./build-ca 

生成CA证书,刚刚已经在vars文件中配置了默认参数值,多次回车完成就可以  

3-buledca.jpg 

./build-key-server aliyuntest 

生成服务器证书,其中aliyuntest是自定义的名字,一直回车,到最后会有两次交互,输入y确认,完成后会在keys目录下保存了aliyuntest.key、aliyuntest.csr和aliyuntest.crt三个文件。 

4-秿.jpg

(3)创建用户秘钥与证书 

./build-key aliyunuser  

创建用户名为aliyunuser的秘钥和证书,一直回车,到最后会有两次确认,只要按y确认即可。完成后,在keys目录下生成1024位RSA服务器密钥aliyunuser.key、aliyunuser.crt和aliyunuser.csr三个文件。

(4) 生成Diffie Hellman参数 

./build-dh 

执行了./build-dh后,会在keys目录下生成dh参数文件dh1024.pem,dh1024.pem文件客户端验证的时候会用到。  

(5)将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys目录下的所有文件复制到/etc/openvpn下

cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/*  /etc/openvpn/

(6)复制openvpn服务端配置文件server.conf文件到/etc/openvpn/目录下

cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf  /etc/openvpn/

(7)server.conf配置

配置完成后的内容如下:

[root@test openvpn]#egrep -v "^$|^#|^;" server.conf

local 1.1.1.1  此处请填写用户自己的云服务器的公网IP地址

port 1194

proto udp

dev tun

ca ca.crt

cert aliyuntest.crt   此处crt以及下一行的key,请填写生成服务器端证书时用户自定义的名称

key aliyuntest.key  

dh dh1024.pem

server 172.16.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 223.5.5.5"  

client-to-client

keepalive 10 120

comp-lzo

user nobody

group nobody

persist-key

persist-tun

status openvpn-status.log

log         openvpn.log

verb 3

0.jpg

(8)设置iptables(设置前请确保iptables已经开启,以及/etc/sysconfig/iptables文件存在)

开启转发

vi /etc/sysctl.conf

修改以下内容:

net.ipv4.ip_forward = 1

然后使内核参数生效:

sysctl -p 

添加iptables规则确保服务器可以转发数据包到阿里云内外网

iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE

保存iptables

service iptables save

6.启动openvpn

/etc/init.d/openvpn start

通过netstat -ano | grep 1194 查看1194端口在监听,确保openvpn在运行中

 

7.Windows PC客户端的配置 

(1)下载openvpn客户端:http://oss.aliyuncs.com/aliyunecs/openvpn-2.1.3-install.rar  

windows系统下安装,按照默认设置安装完成。

(2)将云服务器中/etc/openvpn/目录下的aliyunuser.key、aliyunuser.crt和aliyunuser.csr三个文件下载到需要连接openvpn的Windows客户端上(可以使用ftp或者xftp工具下载),保存到openvpn软件的安装路径下的\OpenVPN\config目录下。

(3)配置client.opvn 

将openvpn安装路径下的\OpenVPN\sample-config\目录中下的client.opvn复制到openvpn安装路径下的\OpenVPN\config目录下,然后修配置文件中的如下参数; 

proto udp   去掉前面的分号,采用与服务器端相同的udp协议 

remote  1.1.1.1  1194   此处将1.1.1.1修改为用户的云服务器的公网IP地址,同时将该行前面的注释分号去掉

cert aliyunuser.crt     

key aliyunuser.key 

(4)到C:\Program Files (x86)\OpenVPN\bin的目录下,找到openvpn-gui-1.0.3.exe文件,右键选择以管理员权限运行(避免普通用户运行导致添加路由失败) 

8-.jpg

8.连接成功后,通过访问阿里云的内网镜像源http://mirrors.aliyuncs.com/确认可以通过openvpn访问阿里云内网

7-.jpg

同时访问ip.cn,可以查看到此时Windows PC端的出口公网IP已经变为了云服务器的公网IP地址

6-ipcn.jpg

 

 

 

(责任编辑:IT)
------分隔线----------------------------