在企业网络部署和远程办公日益普及的今天,虚拟私人网络(VPN)已成为保障数据安全传输的重要工具,CentOS作为一款稳定、开源的Linux发行版,广泛应用于服务器环境,本文将详细介绍如何在CentOS 7/8系统中安装并配置OpenVPN服务,实现安全、可靠的远程访问功能,适用于IT运维人员、网络管理员或有自建私网需求的用户。

确保你的CentOS系统已更新至最新版本,打开终端,执行以下命令:

sudo yum update -y

安装EPEL仓库(Extra Packages for Enterprise Linux),它提供了OpenVPN所需的额外依赖包:

sudo yum install epel-release -y

使用yum安装OpenVPN及其相关组件:

sudo yum install openvpn easy-rsa -y

安装完成后,需要生成证书和密钥,这是OpenVPN安全通信的基础,进入EasyRSA目录并初始化PKI(公钥基础设施):

cd /usr/share/easy-rsa/
sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/
sudo mkdir -p /etc/openvpn/easy-rsa/keys
cd /etc/openvpn/easy-rsa/
sudo sed -i 's#export KEY_COUNTRY="US"#export KEY_COUNTRY="CN"#' vars
sudo sed -i 's#export KEY_PROVINCE="CA"#export KEY_PROVINCE="BJ"#' vars
sudo sed -i 's#export KEY_CITY="San Francisco"#export KEY_CITY="Beijing"#' vars
sudo sed -i 's#export KEY_ORG="My Company"#export KEY_ORG="Your Organization"#' vars
sudo sed -i 's#export KEY_EMAIL="me@mycompany.com"#export KEY_EMAIL="admin@yourdomain.com"#' vars

上述步骤修改了默认的证书信息,建议根据实际组织信息调整,接下来生成CA证书和密钥:

sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass

生成服务器证书:

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

生成客户端证书(可为多个用户生成):

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

配置OpenVPN主服务文件,创建 /etc/openvpn/server.conf

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

在配置文件中进行关键修改:

  • port 1194:指定监听端口(可改为其他)
  • proto udp:使用UDP协议提升性能
  • dev tun:使用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(需先生成:sudo ./easyrsa gen-dh

启用IP转发并配置iptables规则以允许流量转发:

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

保存iptables规则(若系统支持):

sudo service iptables save

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

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

客户端配置方面,将服务器证书(ca.crt)、客户端证书(client1.crt)、私钥(client1.key)打包成.ovpn文件,

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
auth-user-pass

将该文件分发给客户端,并使用OpenVPN GUI或Linux客户端连接即可。

通过以上步骤,你已在CentOS上成功搭建了一个基于OpenVPN的安全远程访问服务,既满足安全性要求,又具备良好的可扩展性,建议定期更新证书并监控日志(位于 /var/log/messagesjournalctl -u openvpn@server),以保障长期稳定运行。

CentOS系统下搭建OpenVPN服务完整指南,从安装到客户端配置详解  第1张

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