HCRM博客

如何在CentOS上配置VPN服务?

在 CentOS 系统中配置 VPN(虚拟专用网络)可以通过多种方式实现,包括使用 OpenVPN、PPTP、L2TP/IPsec 等协议,以下是如何在 CentOS 8 上配置 OpenVPN 服务器的详细步骤:

准备工作

1、系统要求:确保你有一台启用了 sudo 非 root 用户和防火墙的 CentOS 8 服务器。

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

2、安装 EPEL 库:CentOS 8 默认不包含 OpenVPN 和 EasyRSA,需要先安装 EPEL 库。

   sudo dnf install epelrelease y

二、安装 OpenVPN 和 EasyRSA

1、安装 OpenVPN 和 EasyRSA

   sudo dnf install openvpn easyrsa firewalld y

2、创建 EasyRSA 目录

   mkdir ~/easyrsa
   cd ~/easyrsa

3、初始化 PKI(公钥基础设施)

   /usr/share/easyrsa/3/easyrsa initpki

4、生成 CA 证书

如何在CentOS上配置VPN服务?-图2
(图片来源网络,侵权删除)
   ./easyrsa buildca nopass

5、生成服务端密钥

   ./easyrsa buildserverfull vpnserver nopass

6、生成客户端密钥

   ./easyrsa gendh
   ./easyrsa buildclientfull vpnclient nopass

7、生成 TLS Auth 密钥

   openvpn genkey secret pki/ta.key

配置 OpenVPN 服务端

1、复制证书到配置目录

   cp pki/ca.crt pki/private/vpnserver.key pki/issued/vpnserver.crt pki/dh.pem pki/ta.key ~/easyrsa/pki/

2、编辑 OpenVPN 配置文件

   vim /etc/openvpn/server.conf

3、添加以下配置

如何在CentOS上配置VPN服务?-图3
(图片来源网络,侵权删除)
   dev tun
   proto udp
   port 1194
   keepalive 10 120
   maxclients 5
   ca ca.crt
   cert server.crt
   key server.key
   dh dh.pem
   tlsauth ta.key 0
   cipher AES256CBC
   auth SHA512
   tlsversionmin 1.2
   cipher AES256CBC
   auth SHA256
   tlscipher TLSDHERSAWITHAES256GCMSHA384:TLSDHERSAWITHAES256CBCSHA256:TLSDHERSAWITHAES128GCMSHA384:TLSDHERSAWITHAES128CBCSHA256
   user nobody
   group nobody
   persistkey
   persisttun
   complzo
   push "redirectgateway def1 bypassdhcp"
   push "dhcpoption DNS 8.8.8.8"
   push "dhcpoption DNS 8.8.4.4"
   logappend /var/log/openvpn.log
   verb 3

4、启动并启用 OpenVPN 服务

   systemctl start openvpn@server
   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 sysctl p net.ipv4.ip_forward

3、检查 IP 转发状态

   sudo sysctl net.ipv4.ip_forward

常见问题与FAQ

1、如何生成客户端配置文件?:在 OpenVPN 服务器上,可以使用easyrsa 工具生成客户端配置文件,具体步骤如下:

   cd ~/easyrsa/pki
   cp openvpn.cnf openvpnclient.cnf
   vim openvpnclient.cnf
   # Uncomment the following lines and set the appropriate paths:
   ca ca.crt
   cert client.crt
   key client.key
   # Add any additional configuration options as needed.

2、如何导入客户端配置文件到客户端机器?:将生成的客户端配置文件(如client.ovpn)复制到客户端机器上,然后使用 OpenVPN 客户端软件导入该配置文件,即可连接到 VPN 服务器。

3、如何解决连接问题?:如果客户端无法连接到 VPN 服务器,请检查以下几个方面:

确保 VPN 服务器上的防火墙规则已正确配置,允许 OpenVPN 流量通过。

确保 VPN 服务器上的 OpenVPN 服务正在运行,并且配置文件中的设置正确无误。

确保客户端使用的是正确的客户端配置文件,并且该文件未损坏或被篡改。

如果使用的是自签名证书,请确保客户端信任该证书,可以将证书导入到客户端的受信任证书存储中,或者在客户端配置文件中添加相应的选项来信任该证书。

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