HCRM博客

如何配置CentOS系统上的VPN服务?

在CentOS上配置VPN,尤其是OpenVPN,是一项涉及多个步骤的任务,以下是一个详细的指南,帮助您在CentOS 8服务器上设置和配置OpenVPN:

先决条件

1、系统要求:一台启用了sudo权限的非root用户的CentOS 8服务器,并且已配置防火墙。

如何配置CentOS系统上的VPN服务?-图1
(图片来源网络,侵权删除)

2、网络要求:一个单独的CentOS 8服务器设置为私有证书颁发机构(CA),用于生成和管理证书。

3、软件要求:需要在CA服务器和OpenVPN服务器上分别安装OpenVPN和EasyRSA工具。

安装OpenVPN和EasyRSA

1、更新软件包索引

   sudo dnf update y

2、安装EPEL存储库

   sudo dnf install epelrelease y

3、安装OpenVPN和EasyRSA

   sudo dnf install openvpn easyrsa y

4、创建EasyRSA目录

如何配置CentOS系统上的VPN服务?-图2
(图片来源网络,侵权删除)
   mkdir ~/easyrsa
   ln s /usr/share/easyrsa/3 ~/easyrsa/easyrsa

5、设置目录权限

   sudo chown sammy:sammy ~/easyrsa
   chmod 700 ~/easyrsa

生成证书和密钥

1、初始化PKI

   cd ~/easyrsa
   ./easyrsa initpki

2、设置变量文件

   nano vars

添加以下内容到文件中:

   set_var EASYRSA_ALGO "ec"
   set_var EASYRSA_DIGEST "sha512"

3、生成CA证书

   ./easyrsa buildca nopass

4、生成服务器证书和密钥

如何配置CentOS系统上的VPN服务?-图3
(图片来源网络,侵权删除)
   ./easyrsa genreq server nopass
   ./easyrsa signreq server server

5、生成DiffieHellman参数

   ./easyrsa gendh

6、生成客户端证书和密钥

   ./easyrsa genreq client nopass
   ./easyrsa signreq client client

配置OpenVPN服务端

1、拷贝证书和密钥到OpenVPN目录

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

2、编辑OpenVPN配置文件

   nano /etc/openvpn/server.conf

添加以下内容:

   port 1194
   proto udp
   dev tun
   ca ca.crt
   cert server.crt
   key server.key
   dh dh.pem
   cipher AES256CBC
   persistkey
   persisttun
   status openvpnstatus.log
   logappend /var/log/openvpn.log
   verb 3

3、启动并启用OpenVPN服务

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

配置防火墙和路由转发

1、允许OpenVPN流量通过防火墙

   sudo firewallcmd permanent addservice openvpn
   sudo firewallcmd reload

2、启用IP转发

   sudo sysctl w net.ipv4.ip_forward=1
   sudo sed i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

3、配置NAT以使VPN客户端能够访问外网

   sudo iptables t nat A POSTROUTING s 10.8.0.0/8 o eth0 j MASQUERADE
   sudo sh c 'echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf'
   sudo sysctl p

相关问答FAQs

1、如何检查OpenVPN服务的状态?:要检查OpenVPN服务的状态,可以使用以下命令:sudo systemctl status openvpn@server,如果服务正在运行,您将看到活动状态的信息;如果服务未运行,您将看到停止状态的信息,如果服务未运行,您可以使用sudo systemctl start openvpn@server命令来启动它。

2、如何为新的客户端生成证书?:为新的客户端生成证书,您需要回到~/easyrsa目录,然后执行以下命令:./easyrsa genreq newclient nopass,这将生成一个新的客户端证书请求,使用./easyrsa signreq client newclient命令签署该请求,完成后,将新生成的客户端证书(newclient.crt)和私钥(newclient.key)发送给客户端,以便他们能够连接到VPN,记得在每次添加或删除客户端后重新加载OpenVPN服务以应用更改。

分享:
扫描分享到社交APP
上一篇
下一篇