引言

随着云计算和远程工作的兴起,VPN(虚拟私人网络)已成为许多企业和个人保障网络安全、实现远程访问的重要工具。OpenVPN因其开源、易于配置、安全性高等特点,成为了最受欢迎的VPN解决方案之一。本文将详细指导您在CentOS Stream上搭建一个高效的OpenVPN服务器。

准备工作

在开始之前,请确保您的CentOS Stream系统满足以下要求:

  • 系统版本:CentOS Stream 8或更高版本
  • 网络环境:公网IP地址或可路由的私有网络
  • 硬件要求:至少1GB内存(推荐2GB以上)

步骤一:安装OpenVPN

  1. 更新系统包列表
sudo dnf update -y 
  1. 安装OpenVPN和相关包
sudo dnf install openvpn easy-rsa -y 

步骤二:配置Easy-RSA

Easy-RSA是OpenVPN的一个脚本集,用于简化CA(证书授权中心)、服务器和客户端证书的创建。

  1. 生成CA证书和私钥
sudo mkdir /etc/openvpn/easy-rsa sudo cp -r /usr/share/openvpn/easy-rsa/2.4/openssl.cnf /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/2.4 source vars ./clean-all ./build-ca 
  1. 生成服务器证书和私钥
source vars ./build-key-server server 
  1. 生成Diffie-Hellman参数
source vars ./build-dh 
  1. 生成客户端证书
source vars ./build-key client1 
  1. 生成客户端证书请求和CA签署
source vars ./build-key-request client1 sudo ./build-key client1 

步骤三:配置OpenVPN服务器

  1. 编辑服务器配置文件
sudo nano /etc/openvpn/server.conf 

将以下内容添加到文件中:

port 1194 proto tcp dev tun ca /etc/openvpn/easy-rsa/2.4/keys/ca.crt cert /etc/openvpn/easy-rsa/2.4/keys/server.crt key /etc/openvpn/easy-rsa/2.4/keys/server.key dh /etc/openvpn/easy-rsa/2.4/keys/dh2048.pem server 10.8.0.0 255.255.255.0 push "route 192.168.1.0 255.255.255.0" keepalive 10 120 cipher AES-256-CBC tls-auth /etc/openvpn/easy-rsa/2.4/keys/ta.key 0 user openvpn group openvpn persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log 
  1. 创建并配置防火墙规则
sudo firewall-cmd --zone=public --add-port=1194/tcp sudo systemctl restart firewalld 
  1. 创建并设置用户权限
sudo useradd openvpn sudo groupadd openvpn sudo chown -R openvpn:openvpn /etc/openvpn sudo chmod -R 700 /etc/openvpn 
  1. 启动OpenVPN服务
sudo systemctl start openvpn@server.service sudo systemctl enable openvpn@server.service 

步骤四:客户端配置

  1. 获取客户端配置文件

/etc/openvpn/easy-rsa/2.4/keys/client1.ovpn文件下载到本地,并根据需要进行修改。

  1. 连接OpenVPN服务器

使用OpenVPN客户端软件连接到服务器。以Windows为例,打开OpenVPN客户端,导入.ovpn文件,然后连接。

总结

通过以上步骤,您已经成功在CentOS Stream上搭建了一个高效的OpenVPN服务器。这样,您就可以在远程地点安全地访问您的内部网络资源了。希望本文能对您有所帮助!