在企业网络管理和远程办公日益普及的今天,构建一个安全可靠的虚拟私人网络(VPN)服务器变得尤为重要,CentOS 7作为一款长期支持(LTS)的Linux发行版,因其稳定性与安全性广受企业和运维人员青睐,本文将详细介绍如何在CentOS 7系统上部署并配置OpenVPN服务,实现安全的远程访问功能,适用于小型团队、远程办公或站点间互联场景。

第一步:准备工作
确保你有一台运行CentOS 7的物理机或云服务器(推荐使用阿里云、腾讯云或AWS),并具备root权限,登录后执行以下命令更新系统:

yum update -y

接着安装EPEL源(用于获取OpenVPN及相关工具):

yum install epel-release -y

第二步:安装OpenVPN和Easy-RSA
OpenVPN是开源的SSL/TLS协议实现,支持多种认证方式,使用YUM安装OpenVPN和管理证书的工具Easy-RSA:

yum install openvpn easy-rsa -y

第三步:配置证书颁发机构(CA)
证书体系是OpenVPN身份验证的核心,我们使用Easy-RSA生成CA根证书和服务器/客户端证书:

  1. 复制Easy-RSA模板到默认路径:

    make-cadir /etc/openvpn/easy-rsa
    cd /etc/openvpn/easy-rsa
  2. 编辑vars文件,修改如下参数(根据实际情况填写):

    export KEY_COUNTRY="CN"
    export KEY_PROVINCE="Beijing"
    export KEY_CITY="Beijing"
    export KEY_ORG="MyCompany"
    export KEY_EMAIL="admin@mycompany.com"
    export KEY_CN="server"
    export KEY_NAME="server"
    export KEY_OU="OpenVPN"
  3. 执行初始化和签发CA证书:

    source ./vars
    ./clean-all
    ./build-ca
  4. 生成服务器证书和密钥:

    ./build-key-server server
  5. 生成客户端证书(每个用户需单独生成):

    ./build-key client1
  6. 生成Diffie-Hellman参数(增强加密强度):

    ./build-dh

第四步:配置OpenVPN服务器
复制示例配置文件并编辑:

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
vi /etc/openvpn/server.conf

关键配置项如下(可根据需要调整):

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/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"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

第五步:启用IP转发和防火墙规则
允许内核转发流量:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置iptables(或firewalld)开放UDP端口1194并启用NAT:

iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -I INPUT -p udp --dport 1194 -j ACCEPT
service iptables save

第六步:启动OpenVPN服务
设置开机自启并启动服务:

systemctl enable openvpn@server
systemctl start openvpn@server

将生成的客户端配置文件(client1.ovpn)分发给用户,包含ca.crt、client1.crt、client1.key和ta.key(可合并为一个文件),用户只需导入该配置即可连接至你的OpenVPN服务器。

通过以上步骤,你可以在CentOS 7上成功搭建一个功能完备、安全可靠的OpenVPN服务器,满足远程办公、跨网段通信等需求,建议定期备份证书和配置文件,并监控日志以保障服务可用性。

CentOS 7搭建OpenVPN服务器完整指南,安全、稳定、易用的远程访问解决方案  第1张

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