首页 » 系统运维 » OpenVPN » 正文

阿里云CentOS6.8安装部署openvpn-2.2.2

环境:

系统:阿里云CentOS release 6.8 (Final)

OpenVPN服务端:http://build.openvpn.net/downloads/releases/openvpn-2.2.2.tar.gz

OpenVPN客户端:http://build.openvpn.net/downloads/releases/openvpn-2.2.2-install.exe

以上链接可能需要科学上网。


另外需要在安全组中开放 udp 1194 端口。


服务器端安装:

1. 安装依赖包:

yum install openssl openssl-devel lzo lzo-devel pam pam-devel rpm-build pkcs11-helper-devel

 

2. 下载openvpn至/data/software/(需科学上网)或上传已经下载下来的 openvpn-2.2.2.tar.gz 至 /data/software/ :

cd /data/software/

wget http://build.openvpn.net/downloads/releases/openvpn-2.2.2.tar.gz

 

3. 构建rpm包:

rpmbuild -tb openvpn-2.2.2.tar.gz

构建出来的rpm包在/data/software/rpmbuild/RPMS/x86_64/目录

 

4. 安装openvpn:

cd /data/software/rpmbuild/RPMS/x86_64/

rpm -ivh openvpn-2.2.2-1.x86_64.rpm


服务器端配置:

1. 初始化 PKI

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

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

vim vars

export KEY_COUNTRY="CN"export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="Beijing"
export KEY_EMAIL="x.chen@qooco.com"

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


2. 生成服务端的证书:

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

ln -s openssl-1.0.0.cnf openssl.cnf
source ./vars
./clean-all


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

002.png


2.2. 生成服务器证书,其中后面的 server是自定义的名字,一直回车,到最后会有两次交互,输入 y 确认。 

003.png

完成后会在 keys 目录下保存了 server.key、server.csr 和 server.crt 三个文件:

004.png


3. 创建用户秘钥与证书

创建用户名为 alexchen 的秘钥和证书,一直回车,到最后会有两次确认,只要按y确认即可。

005.png

完成后,在 keys 目录下生成 1024 位 RSA 服务器密钥 alexchen.key、alexchen.crt 和 alexchen.csr 三个文件。

006.png


4. 生成 Diffie Hellman参 数 

./build-dh

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

007.png


5. 将 /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/ 目录下的 ca.crt、server.crt、server.key、dh1024.pem 这4个文件复制到 /etc/openvpn下:

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

cp ca.crt server.crt server.key dh1024.pem /etc/openvpn/


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

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

 

7. server.conf 配置

配置完成后的内容如下:

008.png


8. 设置 iptables

设置前请确保 iptables 已经开启,而且 /etc/sysconfig/iptables 文件已存在。

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

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


保存 iptables 配置:

service iptables save


开启转发:

vim /etc/sysctl.conf

修改 net.ipv4.ip_forward = 0 为以下内容:

net.ipv4.ip_forward = 1


然后使内核参数生效:

sysctl -p


9. 启动 OpenVPN

/etc/init.d/openvpn start

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


Windows PC 客户端的配置 

1.下载openvpn 客户端(要这个版本,版本不同可能有问题)

http://build.openvpn.net/downloads/releases/openvpn-2.2.2-install.exe


2. 安装:Windows系统下安装,按照默认设置安装完成。


3. 将服务器中 /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/ 目录下的 ca.crt, alexchen.key、alexchen.crt  三个文件下载到需要连接 openvpn 的 Windows 客户端上。

保存路径为 openvpn 软件的安装路径下的 \OpenVPN\config 目录(如:C:\Program Files (x86)\OpenVPN\config\)。


4. 配置 client.opvn 

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

proto udp   去掉前面的分号,采用与服务器端相同的udp协议
remote x.x.x.x 1194  此处将x.x.x.x修改为服务器的公网IP地址

ca ca.crt
cert alexchen.crt
key alexchen.key


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

009.jpg


6. 连接成功后,图表会变成绿色。

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

010.png


注销OpenVPN用户:

员工离职后如何注销他的VPN证书: 

1. 进入 OpenVPN 安装目录的 easy-rsa 子目录。

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


2.执行 vars 命令 

./vars

 

3.使用 revoke-full 命令,吊销客户端证书。VPN 客户端证书的用户名称。例如:

revoke-full alexchen

 

这条命令执行完成之后, 会在 keys 目录下面, 生成一个 crl.pem 文件,这个文件中包含了吊销证书的名单。

成功注销某个证书之后,可以打开 keys/index.txt 文件,可以看到被注销的证书前面,已标记为R.

 

4.确保服务端配置文件打开了 crl-verify 选项

在服务端的配置文件 server.conf 中,加入这样一行:

crl-verify crl.pem


如果 server.conf 文件和 crl.pem 没有在同一目录下面,则 crl.pem 应该写绝对路径,例如

crl-verify /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/crl.pem

 

5.重启 OpenVPN 服务


参阅:https://www.alibabacloud.com/help/zh/faq-detail/42521.htm



赞 (0)

发表评论