参考文件
OpenVPN 安装文档
OpenVPN 配置文件
OpenVPN 证书配置
OpenVPN 安全加固 | OpenVPN
openvpn --genkey --secret ta.key
这个key需要通过安全通道同时复制到server和client上,可以跟.key和.crt同目录。
In the server configuration, add:
tls-auth ta.key 0
In the client configuration, add:
tls-auth ta.key 1
一、安装openvpn
yum install openvpn
二、配置server端配置文件
复制sample配置文件
cp /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/server.conf /etc/openvpn/server/
复制ca, cert, key, and dh到openvpn/目录
cp pki/ca.crt /etc/openvpn/
cp pki/issued/DR_RHA.crt /etc/openvpn/
cp pki/private/DR_RHA.key /etc/openvpn/
cp pki/dh.pem /etc/openvpn/
创建 ta.key,在密钥同目录下,执行:
openvpn --genkey --secret ta.key
修改 /etc/openvpn/server/server.conf 配置:
# 设置监听地址
local 0.0.0.0
# 修改端口,进行加固
port 11294
# 设置密钥等文件的路径
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh.pem
# 设置vpn网段
server 172.16.99.0 255.255.255.0
# 设置路由
push "route 172.16.99.0 255.255.255.0"
push "route 10.99.0.0 255.255.0.0"
# 设置开启 ta.key
tls-auth /etc/openvpn/ta.key 0
# 增加PAM认证配置
# plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
plugin openvpn-plugin-auth-pam.so login
# 增加客户端证书配置
verify-client-cert none
OpenVPN 设置PAM认证
1)设置pam认证
使用 openvpn-plugin-auth-pam.so 插件进行PAM认证[root@VM-201-9-centos server]# ls /usr/lib64/openvpn/plugins/ openvpn-plugin-auth-pam.so openvpn-plugin-down-root.so
2)取消客户端证书要求
默认,使用 auth-user-pass-verify or a username/password-checking plugin 会开启双因素认证:client-certificate and username/password authentication。
也可以禁用客户端证书,仅强制用户名/密码身份验证。虽然从安全角度来看不鼓励,但是方便啊~
- 客户端配置
添加 auth-user-pass 到客户端配置文件该模式下,客户端仅需要
ca.crt
、ta.key
文件,用于加密
开启内核包转发
临时:
echo 1 > /proc/sys/net/ipv4/ip_forward
长期:
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
sysctl -p
配置路由
How To Guide: Set Up & Configure OpenVPN Client/server VPN | OpenVPN
把VPN网段添加到路由,允许转发
iptables -t nat -A POSTROUTING -s 172.16.99.0/24 -o eth0 -j MASQUERADE
三、启动server端openvpn服务
最后面的server
由来:server.conf
去除.conf
作为服务名
systemctl status openvpn-server@server
设置自动启动
systemctl enable openvpn-server@server
四、客户端配置
1)安装客户端软件,自己想办法。
2)下载 /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/client.conf到本地,windows系统重命名为 yourclientname.ovpn。
3)如果选择省事、不使用证书,则下载 ca.crt、ta.key到目录;
如果选择使用证书,还要下载客户端证书、密钥。
修改配置文件:
# 配置OpenVPN服务器地址、端口
remote your_openvpn_ip 11294
# 注销证书和密钥
#cert client.crt
#key client.key
# 追加配置 auth with user/pass
auth-user-pass
五、客户端连接
最好选择管理员启动,否则可能会导致本地路由写入失败。