CentOS 7下配置OpenVPN服务器,从零开始搭建安全远程访问通道

dfbn6 2026-04-09 vpn 16 0

在现代企业网络架构中,远程访问安全至关重要,无论是员工出差、家庭办公还是跨地域协作,一个稳定可靠的虚拟私人网络(VPN)服务是保障数据传输加密与访问权限控制的核心工具,CentOS 7作为广泛应用于生产环境的Linux发行版,其稳定性与成熟的安全机制使其成为部署OpenVPN服务器的理想平台,本文将详细介绍如何在CentOS 7系统中从零开始配置OpenVPN服务器,实现安全、可扩展的远程访问方案。

确保你的CentOS 7服务器已经完成基础设置:更新系统软件包、关闭防火墙(或开放必要端口)、配置静态IP地址,并确保时间同步正确(使用NTP服务),通过以下命令安装OpenVPN及相关依赖:

sudo yum update -y
sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

安装完成后,进入Easy-RSA目录进行证书签发准备,OpenVPN依赖PKI(公钥基础设施)来验证客户端和服务器身份,执行如下命令初始化证书颁发机构(CA):

cd /usr/share/easy-rsa/
cp -r /usr/share/easy-rsa/3.0.8 /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
nano vars    # 编辑变量文件,修改国家、组织等信息(如CN=China, O=MyCompany)

然后生成CA密钥对:

./easyrsa init-pki
./easyrsa build-ca nopass   # 不需要密码保护的CA证书(便于自动化)

接下来为服务器生成证书和密钥:

./easyrsa gen-req server nopass
./easyrsa sign-req server server

同样,为客户端生成证书(如需多个用户,可重复此步骤):

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

所有证书生成完毕后,复制关键文件到OpenVPN配置目录:

cp pki/ca.crt /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
cp pki/issued/client1.crt /etc/openvpn/
cp pki/private/client1.key /etc/openvpn/

现在创建主配置文件 /etc/openvpn/server.conf示例如下:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

注意:dh.pem 文件可通过 ./easyrsa gen-dh 生成并拷贝至 /etc/openvpn/

启动服务并设置开机自启:

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

在防火墙上开放UDP 1194端口(若启用firewalld):

sudo firewall-cmd --add-port=1194/udp --permanent
sudo firewall-cmd --reload

至此,OpenVPN服务器已成功部署,客户端只需下载生成的证书和密钥文件,配合.ovpn配置文件即可连接,这种基于证书的身份认证机制,相比传统用户名密码更安全,特别适合对安全性要求较高的场景。

CentOS 7结合OpenVPN提供了一个轻量、灵活且安全的远程接入解决方案,适用于中小型企业及个人开发者,掌握其配置流程,不仅能提升网络运维能力,也为构建私有云、混合办公环境打下坚实基础。

CentOS 7下配置OpenVPN服务器,从零开始搭建安全远程访问通道

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN