如何在Zentyal 3.4 PDC上安装和配置OpenVPN服务器?


OpenVPN是一个流行且广泛使用的开源VPN解决方案,允许安全地远程访问您的网络资源。Zentyal 3.4是一个Linux发行版,为中小型企业提供完整的服务器平台。本文将讨论如何在Zentyal 3.4 PDC上安装和配置OpenVPN服务器。

步骤1:安装OpenVPN

第一步是在您的Zentyal服务器上安装OpenVPN。打开终端并输入以下命令:

sudo apt-get update
sudo apt-get install openvpn

步骤2:生成证书和密钥

OpenVPN使用证书和密钥来验证客户端和服务器。要生成这些证书和密钥,我们将使用OpenVPN提供的EasyRSA脚本。

cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
sudo ./clean-all
sudo ./build-ca
sudo ./build-key-server server

第一个命令将目录更改为EasyRSA脚本的位置。第二个命令清除任何现有的密钥和证书。第三个命令生成证书颁发机构。最后,第四个命令生成服务器证书和密钥。

步骤3:配置OpenVPN

下一步是配置OpenVPN。使用以下命令创建一个新的配置文件:

sudo nano /etc/openvpn/server.conf

在文件中添加以下几行:

port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

保存文件并退出。

步骤4:配置防火墙

下一步是配置防火墙以允许OpenVPN流量。您需要打开UDP端口1194。为此,请运行以下命令:

sudo ufw allow 1194/udp
sudo ufw enable

步骤5:启动OpenVPN

使用以下命令启动OpenVPN服务:

sudo service openvpn start

步骤6:配置客户端

最后一步是配置客户端以连接到OpenVPN服务器。为此,您需要向客户端提供以下文件:

ca.crt
client.crt
client.key

您可以使用任何OpenVPN客户端软件连接到服务器。只需将文件导入客户端软件,并使用服务器的IP地址连接到服务器。

详细配置OpenVPN

让我们仔细看看我们在步骤3中添加到server.conf文件的选项:

  • port 1194 − 指定OpenVPN将用于传入连接的端口。默认情况下,OpenVPN使用UDP端口1194。

  • proto udp − 指定OpenVPN应使用UDP协议进行数据传输。UDP通常比TCP更适合VPN流量,因为它开销较低,并且不太可能被防火墙阻止。

  • dev tun − 指定OpenVPN应使用虚拟隧道接口而不是物理网络接口。

  • ca /etc/openvpn/keys/ca.crt − 指定我们在步骤2中生成的证书颁发机构文件的位置。证书颁发机构用于验证服务器和客户端证书的真实性。

  • cert /etc/openvpn/keys/server.crt − 指定我们在步骤2中生成的服务器证书的位置。服务器证书用于向客户端验证服务器。

  • key /etc/openvpn/keys/server.key − 指定服务器私钥的位置,该私钥用于解密传入的VPN流量。

  • dh /etc/openvpn/keys/dh1024.pem − 指定Diffie-Hellman参数文件的位置,该文件用于初始连接期间的密钥交换。

  • server 10.8.0.0 255.255.255.0 − 指定将用于VPN客户端的虚拟网络的IP地址和子网掩码。在此示例中,我们使用的是10.8.0.0/24子网。

  • ifconfig-pool-persist ipp.txt − 指定OpenVPN将存储客户端分配的IP地址的文件。

  • keepalive 10 120 − 指定OpenVPN将向客户端发送保活数据包的间隔,以确保连接仍然处于活动状态。

  • comp-lzo − 启用VPN流量压缩以减少带宽使用。

  • persist-key − 告诉OpenVPN在重启后保留服务器的私钥。

  • persist-tun − 告诉OpenVPN在重启后保留虚拟隧道接口。

  • status openvpn-status.log − 指定OpenVPN将记录连接和性能信息的文件。

  • verb 3 − 设置OpenVPN日志输出的详细程度。值越高,日志越详细。

详细配置客户端

要连接到OpenVPN服务器,客户端需要导入以下文件:

  • ca.crt − 这是在步骤2中生成的证书颁发机构文件。它用于验证服务器和客户端证书的真实性。

  • client.crt − 这是在步骤2中生成的客户端证书。它用于向服务器验证客户端。

  • client.key − 这是客户端的私钥,用于加密传出的VPN流量。

大多数OpenVPN客户端软件都提供导入这些文件和配置连接设置的方法。某些客户端可能还需要其他配置选项,例如服务器的IP地址和端口号。

使用防火墙规则保护OpenVPN

我们配置了防火墙以允许在OpenVPN使用的UDP端口1194上进行传入流量。但是,务必确保防火墙已正确配置,以限制仅授权用户和设备才能访问。

一种方法是设置防火墙规则,只允许来自已知IP地址或子网的传入流量。例如,您可以创建一个规则,只允许来自您公司办公室IP地址的传入OpenVPN流量。

要在Zentyal上设置防火墙规则,您可以使用基于Web的管理界面。转到“安全”>“防火墙”,然后单击“添加新规则”以创建新规则。您可以指定源IP地址或子网、目标端口(OpenVPN为1194)以及要采取的操作(允许或拒绝)。

创建规则后,请务必将其应用于相应的网络接口或区域(例如,如果您接受来自互联网的传入连接,则为“外部”)。

启用双因素身份验证

增强OpenVPN连接安全的另一种方法是启用双因素身份验证(2FA)。这要求用户除了用户名和密码外,还需要提供第二种身份验证方式,例如智能手机应用程序生成的一次性代码或物理令牌。

要在您的OpenVPN服务器上启用2FA,您需要使用支持您选择的2FA方法的插件或模块。例如,OpenVPN Access Server包含对Google Authenticator和其他2FA方法的内置支持。

安装和配置2FA插件后,您需要更新OpenVPN服务器配置,以要求客户端连接进行2FA。这通常需要向server.conf文件添加其他配置选项,例如:

auth-user-pass-optional
auth-token

这告诉OpenVPN需要用户名/密码和2FA令牌才能进行身份验证。您还需要更新客户端配置以包含2FA令牌。

监控OpenVPN性能

最后,监控OpenVPN连接的性能非常重要,以确保它满足您的需求并解决出现的任何问题。

OpenVPN包含内置的日志记录和监控功能,例如状态日志和实时统计信息。您还可以使用第三方监控工具来收集和分析OpenVPN性能指标。

一些有用的性能指标包括:

  • 连接速度和延迟

  • 带宽使用率

  • 并发连接

  • 错误率和错误消息

  • 服务器和客户端CPU和内存使用率

通过监控这些指标,您可以识别并解决性能问题,以免影响用户或导致停机。

结论

本文讨论了如何在 Zentyal 3.4 PDC 上安装和配置 OpenVPN 服务器。OpenVPN 是一款功能强大且灵活的 VPN 解决方案,可为您的网络资源提供安全的远程访问。按照本文中概述的步骤,您可以轻松地在 Zentyal 服务器上设置自己的 OpenVPN 服务器。

更新于:2023年5月12日

浏览量:254

开启你的职业生涯

通过完成课程获得认证

开始学习
广告