阿里云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@chenxie.net"
上述参数的值可以自定义设置,对配置无影响。
2. 生成服务端的证书:
清除并删除 keys 目录下的所有 key
ln -s openssl-1.0.0.cnf openssl.cnf source ./vars ./clean-all
2.1. 生成 CA 证书,刚刚已经在 vars 文件中配置了默认参数值,多次回车完成就可以 :
2.2. 生成服务器证书,其中后面的 server是自定义的名字,一直回车,到最后会有两次交互,输入 y 确认。
完成后会在 keys 目录下保存了 server.key、server.csr 和 server.crt 三个文件:
3. 创建用户秘钥与证书
创建用户名为 alexchen 的秘钥和证书,一直回车,到最后会有两次确认,只要按y确认即可。
完成后,在 keys 目录下生成 1024 位 RSA 服务器密钥 alexchen.key、alexchen.crt 和 alexchen.csr 三个文件。
4. 生成 Diffie Hellman参 数
./build-dh
执行了./build-dh后,会在 keys 目录下生成 dh 参数文件 dh1024.pem。该文件客户端验证的时候会用到。
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 配置
配置完成后的内容如下:
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 文件,右键选择以管理员权限运行(避免普通用户运行导致添加路由失败):
6. 连接成功后,图表会变成绿色。
访问 ip.cn,可以查看到此时 Windows PC 端的出口公网 IP 已经变为了云服务器的公网 IP 地址:
注销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 条评论