在现代企业网络环境中,安全远程访问已成为不可或缺的一部分,无论是远程办公、跨地域团队协作,还是对内部服务器的安全管理,虚拟私人网络(VPN)都是保障数据传输安全与隐私的核心技术之一,对于运行Linux系统的服务器管理员来说,CentOS作为一款稳定、开源且广泛使用的Linux发行版,是部署VPN服务的理想平台,本文将详细介绍如何在CentOS系统中搭建和配置OpenVPN服务,涵盖环境准备、安装配置、防火墙设置及客户端连接等关键步骤。

确保你有一台运行CentOS 7或8的服务器,并具备root权限或sudo权限,推荐使用CentOS Stream或较新的版本以获得更好的安全更新支持,在开始前,建议先更新系统软件包:

sudo yum update -y

安装OpenVPN及相关依赖,OpenVPN是一个开源的SSL/TLS协议实现,支持多种加密算法,安全性高且配置灵活,执行以下命令安装:

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

easy-rsa 是用于生成证书和密钥的工具,是OpenVPN身份认证的核心组件。

安装完成后,复制OpenVPN示例配置文件到配置目录:

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 ca.crtcert server.crtkey server.key:指定CA证书、服务器证书和私钥路径;
  • dh dh.pem:Diffie-Hellman参数文件,需用easy-rsa生成;
  • server 10.8.0.0 255.255.255.0:分配给客户端的IP地址段;
  • push "redirect-gateway def1 bypass-dhcp":强制客户端流量通过VPN路由;
  • push "dhcp-option DNS 8.8.8.8":指定DNS服务器。

生成证书和密钥的过程如下:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./vars
sudo ./clean-all
sudo ./build-ca
sudo ./build-key-server server
sudo ./build-key client1
sudo ./build-dh

这些操作会生成所有必要的证书和密钥文件,放在/etc/openvpn/easy-rsa/keys目录下。

配置好服务器后,启用IP转发并配置防火墙,编辑 /etc/sysctl.conf 文件,取消注释:

net.ipv4.ip_forward = 1

然后应用更改:

sudo sysctl -p

配置firewalld允许OpenVPN流量:

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

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

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

客户端配置方面,可将生成的ca.crtclient1.crtclient1.key以及ta.key(由openvpn --genkey --secret ta.key生成)打包发送给用户,客户端配置文件(如client.ovpn)需包含上述证书路径和服务器IP地址。

完成以上步骤后,即可在Windows、macOS或移动设备上使用OpenVPN客户端连接服务器,实现安全远程访问,此方案不仅适用于企业内网,也可用于个人隐私保护,通过合理配置,CentOS上的OpenVPN可以成为高效、可靠且安全的远程接入解决方案。

CentOS系统下搭建和配置VPN服务的完整指南  第1张

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