CentOS搭建OpenVPN服务

1. 安装OpenVPN软件包
默认的Centos软件源里面没有OpenVPN的软件包,我们可以添加rpmforge的repo,从而实现yum安装openvpn
针对CentOS 5

rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

针对CentOS 6

rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

安装完rpmforge的repo之后,执行yum命令安装OpenVPN

yum install -y openvpn

2.使用easy-rsa脚本产生OpenVPN所需的CA证书、CA私钥、服务端证书、服务端私钥、客户端证书、客户端私钥
先将easy-rsa脚本copy到/etc/openvpn,并添加可执行权限

cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa /etc/openvpn 
cd /etc/openvpn/easy-rsa/2.0 
chmod +x  *

然后使用easy-rsa的脚本产生证书

cd /etc/openvpn/easy-rsa/2.0 
 
ln -s openssl-1.0.0.cnf openssl.cnf
. vars
./build-ca server
./build-key-server server
./build-key client
./build-dh

执行以上命令后将在/etc/openvpn/easy-rsa/2.0/keys/目录下产生对应的证书和秘钥

3.生成OpenVPN服务端配置文件
编辑/etc/openvpn/server.conf文件,内容如下:

port        1194
proto       udp
dev         tun
ca          /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert        /etc/openvpn/easy-rsa/2.0/keys/server.crt
key         /etc/openvpn/easy-rsa/2.0/keys/server.key
dh          /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server      10.1.1.0 255.255.255.0
push        "redirect-gateway def1 bypass-dhcp"
push        "dhcp-option DNS 8.8.8.8"
log         /var/log/openvpn.log
keepalive   10 120
verb        3
client-to-client
comp-lzo
persist-key
persist-tun

4.开启OpenVPN服务
将openvpn设置为开机自启动的服务:

chkconfig openvpn on

立即启动openvpn服务

service openvpn start

5.服务端开启nat功能
客户端拨入OpenVPN后,默认网关会指向OpenVPN服务器,为了能使客户端可以上网,需要在服务端开启nat功能
首先,打开ip forward功能

sed -i '/net.ipv4.ip_forward/s/0/1/g' /etc/sysctl.conf 
sysctl -w net.ipv4.ip_forward=1

然后,配置iptables snat

iptables -A POSTROUTING -s 10.1.1.0/255.255.255.0 -j SNAT --to-source SERVER_IP

将SERVER_IP替换为服务器的出口ip

好了服务端准备就绪,接下来开始客户端配置
对于Windows客户端
1. 到http://openvpn.se/download.html 下载gui版的OpenVPN,按照提示安装完成后,进入到安装目录,如D:\Program Files\OpenVPN
将Linux服务端使用easy-rsa产生的客户端证书、私钥和ca证书下载到本地
即需要下载到本地的文件如下:

/etc/openvpn/easy-rsa/2.0/keys/ca.crt       #ca证书
/etc/openvpn/easy-rsa/2.0/keys/client.crt   #客户端证书
/etc/openvpn/easy-rsa/2.0/keys/client.key   #客户端私钥

将这些文件下载到D:\Program Files\OpenVPN\config下
编辑客户端OpenVPN配置文件client.ovpn,内容如下:

client
dev tun
proto udp
remote SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
redirect-gateway def1
route-method exe
route-delay 2

将SERVER_IP写成OpenVPN服务器的ip,然后打开OpenVPN的GUI,点击连接,完成OpenVPN拨入

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 68 queries in 0.435 seconds