OpenVPN/Checklist guide
外观
< OpenVPN
(重定向自 OpenVPN Checklist Guide)本文总结了OpenVPN的安装过程。请参阅OpenVPN以获取更详细的教程。
安装
准备数据
- 将
/etc/easy-rsa复制到/etc/openvpn/easy-rsa并进入该目录 - 使用您想要的信息编辑
vars文件。有关详细信息,请阅读Create a Public Key Infrastructure Using the easy-rsa Scripts。 - 清理任何先前的密钥
# easyrsa clean-all
生成证书
- 创建CA创建的种子
# dd if=/dev/urandom of=pki/.rnd bs=256 count=1 iflag=fullblock
- 创建"证书颁发机构"密钥
# easyrsa build-ca nopass
- 为服务器创建证书和私钥
# easyrsa build-server-full <server-name> nopass
- 为服务器创建Diffie-Hellman pem文件。
# easyrsa gen-dh
- 为每个客户端创建证书。
# easyrsa build-client-full <client-name> nopass
所有证书都存储在pki目录中。如果您弄乱了,可以通过运行easyrsa clean-all来重新开始。
将ca.crt以及各自的crt和key文件复制到每个客户端。
设置服务器
创建/etc/openvpn/server/myvpnserver.conf,内容如下
/etc/openvpn/server/myvpnserver.conf
port <port> proto tcp dev tun0 ca /etc/openvpn/easy-rsa/pki/ca.crt cert /etc/openvpn/easy-rsa/pki/issued/<server-name>.crt key /etc/openvpn/easy-rsa/pki/private/<server-name>.key dh /etc/openvpn/easy-rsa/pki/<your pem file> server <desired base ip> 255.255.255.0 ifconfig-pool-persist ipp.txt keepalive 10 120 comp-lzo user nobody group nobody persist-key persist-tun status /var/log/openvpn-status.log verb 3 log-append /var/log/openvpn status /tmp/vpn.status 10
启动并可选地启用服务。在此示例中,服务名为openvpn-server@myvpnserver.service。
设置客户端
为每个客户端创建.conf文件,如下所示
/etc/openvpn/client/a-client-conf-file.conf
client remote <server> <port> dev tun0 proto tcp resolv-retry infinite nobind persist-key persist-tun verb 2 ca ca.crt cert <client crt file with full path> key <client key file with full path> comp-lzo
启动并可选地启用服务。在此示例中,单元名为openvpn-client@a-client-conf-file.service。
故障排除
如果openvpn服务器可以以root用户手动启动但不能通过systemd启动,您可以尝试修复权限。
# chown -R openvpn:network /etc/openvpn/*