OpenVPN/检查清单指南
< OpenVPN
本文总结了 OpenVPN 所需的安装过程。有关详细的步骤,请参阅 OpenVPN。
安装
准备数据
- 将
/etc/easy-rsa
复制到/etc/openvpn/easy-rsa
并 cd 进入该目录 - 使用您想要的信息编辑
vars
文件。阅读 使用 easy-rsa 脚本创建公钥基础设施 以了解详细信息。 - 清理任何之前的密钥
# 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/*