CentOS下搭建OpenVPN

简介
OpenVPN是一款开源的虚拟私人网络(VPN)软件,可以在CentOS系统下轻松搭建,通过OpenVPN,用户可以在公共网络上建立安全的加密通道,实现远程访问内部网络资源,本文将详细介绍在CentOS下搭建OpenVPN的步骤。
准备工作

- 确保CentOS系统已安装,推荐使用CentOS 7。
- 更新系统软件包:
sudo yum update
- 安装OpenVPN:
sudo yum install openvpn easy-rsa
配置OpenVPN
- 创建OpenVPN目录:
sudo mkdir -p /etc/openvpn
- 创建OpenVPN配置文件目录:
sudo mkdir -p /etc/openvpn/conf.d
- 配置easy-rsa目录:
cd /usr/share/easy-rsa
- 生成CA证书、服务器证书、私钥:
./clean-all ./gen-ca
- 生成服务器证书和私钥:
./gen-server server
- 生成客户端证书和私钥:
./gen-client client
- 生成Diffie-Hellman密钥:
./gen-dh
- 生成服务器配置文件:
cp /etc/openvpn/easy-rsa/keys/server.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/keys/server.key /etc/openvpn/ cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn/
- 创建服务器配置文件
server.conf:vi /etc/openvpn/conf.d/server.conf
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1" keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log - 生成客户端配置文件:
cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/keys/client.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/keys/client.key /etc/openvpn/ cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn/
- 创建客户端配置文件
client.conf:vi /etc/openvpn/conf.d/client.conf
添加以下内容(将
<server_ip>替换为服务器IP地址):client dev tun proto udp remote <server_ip> 1194 resolv-retry infinite nobind ca ca.crt cert client.crt key client.key ns-cert-type server comp-lzo keepalive 10 120 - 启动OpenVPN服务:
sudo systemctl start openvpn@server.service sudo systemctl enable openvpn@server.service
FAQs

问题:如何查看OpenVPN连接状态?解答:可以通过查看
/var/log/openvpn.log文件或使用sudo systemctl status openvpn@server.service命令来查看OpenVPN连接状态。问题:如何修改客户端配置文件?解答:编辑
/etc/openvpn/conf.d/client.conf文件,根据需要修改客户端配置参数,如服务器IP地址、端口等。

