随着远程办公与分布式团队的普及,虚拟私人网络(VPN)已成为企业保障网络安全的重要工具,对于Linux爱好者或IT运维人员来说,CentOS作为一款稳定、安全且广泛使用的服务器操作系统,是部署OpenVPN服务的理想平台,本文将详细介绍如何在CentOS 7/8或CentOS Stream系统中安装、配置并启动OpenVPN服务,确保远程用户可以安全、可靠地访问内部网络资源。
确保你的CentOS系统已更新至最新版本,打开终端并执行以下命令:
sudo yum update -y
安装EPEL仓库(Extra Packages for Enterprise Linux),它提供了许多官方源中没有的软件包:
sudo yum install epel-release -y
安装OpenVPN及其依赖组件,在CentOS 7中,使用yum;在CentOS 8及以上版本,建议改用dnf:
sudo yum install openvpn easy-rsa -y
安装完成后,进入EasyRSA目录以生成证书和密钥,EasyRSA是一个用于管理PKI(公钥基础设施)的脚本工具,是OpenVPN安全通信的核心:
cd /usr/share/easy-rsa/ sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/
编辑vars文件来设置证书颁发机构(CA)的相关信息,如国家、组织等:
sudo nano /etc/openvpn/vars
修改以下变量:
KEY_COUNTRY="CN"KEY_PROVINCE="Beijing"KEY_CITY="Beijing"KEY_ORG="MyCompany"KEY_EMAIL="admin@example.com"
保存后,初始化PKI环境并生成CA证书:
sudo ./clean-all sudo ./build-ca
随后,生成服务器证书和密钥:
sudo ./build-key-server server
继续为客户端生成证书和密钥(可多个客户端):
sudo ./build-key client1
生成Diffie-Hellman参数和TLS密钥(增强安全性):
sudo ./build-dh sudo openvpn --genkey --secret ta.key
创建OpenVPN服务器配置文件,复制示例配置并修改:
sudo cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf
关键配置项包括:
port 1194(默认端口)proto udp(UDP性能更优)dev tunca /etc/openvpn/keys/ca.crtcert /etc/openvpn/keys/server.crtkey /etc/openvpn/keys/server.keydh /etc/openvpn/keys/dh2048.pemtls-auth /etc/openvpn/keys/ta.key 0server 10.8.0.0 255.255.255.0push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 8.8.8.8"
配置完成后,启用IP转发(允许数据包路由):
sudo sysctl net.ipv4.ip_forward=1 echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
若使用防火墙(firewalld),开放OpenVPN端口:
sudo firewall-cmd --add-port=1194/udp --permanent sudo firewall-cmd --reload
启动OpenVPN服务并设为开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
至此,OpenVPN服务器已在CentOS上成功部署,客户端可通过.ovpn配置文件连接,该文件需包含CA证书、客户端证书、私钥和TLS密钥,建议使用OpenVPN GUI(Windows)或OpenVPN Connect(移动端)进行连接。
通过以上步骤,你可以在CentOS环境中构建一个安全、灵活且可扩展的私有网络隧道,满足远程访问、站点间互联等多样化需求,定期备份证书和密钥,及时更新OpenVPN版本,是保障长期运行的关键措施。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速