视窗苹果电脑软件设置安全生产力Linux安卓性能配置苹果自定义设备管理iPhone设置 全部

如何在 Debian 上设置 OpenVPN 服务器

已编辑 3 几周前 通过 ExtremeHow 编辑团队

Debian开源VPN服务器设置网络安全Linux虚拟专用网络系统管理开源命令行界面

如何在 Debian 上设置 OpenVPN 服务器

翻译更新 3 几周前

在 Debian 上设置 OpenVPN 服务器看起来可能很复杂,但通过仔细遵循一些步骤,您可以配置一个安全的 VPN。本指南假设您具备使用命令行的基本知识并已安装 Debian。我们将详细查看每一步,提供所有必要的命令和配置,以启动和运行您的 OpenVPN 服务器。这将包括设置、配置和测试您的 VPN 服务器。

1. 先决条件

在开始之前,请确保:

sudo apt update && sudo apt upgrade -y

确保系统更新后,下一步是配置防火墙。

2. 设置简单防火墙 (UFW)

易用的防火墙 (UFW) 是管理防火墙设置的简单方式。如果尚未安装 UFW,请使用以下命令进行安装:

sudo apt install ufw

接下来,通过防火墙允许 SSH 连接(如果尚未允许),使用以下命令:

sudo ufw allow OpenSSH

允许 OpenVPN 连接:

sudo ufw allow 1194/udp

启用防火墙:

sudo ufw enable

检查 UFW 的状态以确保规则设置正确:

sudo ufw status

3. 安装 OpenVPN

使用以下命令在 Debian 上安装 OpenVPN 包:

sudo apt install openvpn

安装完成后,该配置服务器的时间了。您将需要 easy-rsa 包来帮助您创建证书颁发机构和客户端/服务器证书。

4. 设置 Easy-RSA

下载 easy-rsa 包,其中包含用于管理公钥基础设施 (PKI) 的脚本:

sudo apt install easy-rsa

接下来,我们将 easy-rsa 脚本复制到一个新目录中,该目录将用于存储所有密钥和证书:

make-cadir ~/openvpn-ca

转到新目录:

cd ~/openvpn-ca

编辑此目录中的 'vars' 文件以设置证书创建所需的变量:

nano vars

以下是一些需要编辑的关键变量:

export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Example" export KEY_EMAIL="email@example.com" export KEY_OU="MyOrganizationalUnit"

通过按 CTRL + X,然后按 Y,再按 Enter 保存并退出编辑器。

5. 构建证书颁发机构(CA)

启动公钥基础设施 (PKI) 目录:

./easyrsa init-pki

通过执行以下操作创建证书颁发机构 (CA):

./easyrsa build-ca

系统将要求您输入其他详细信息,如密码和 CA 的通用名称。根据您的喜好进行设置。

6. 生成服务器证书和密钥

接下来,创建服务器证书和密钥。运行:

./easyrsa gen-req server nopass

此命令生成一个名为 'server.key' 的私有服务器密钥。

现在使用 CA 签署证书:

./easyrsa sign-req server server

系统将要求您确认签名请求。输入“yes”并按 Enter 键。

7. 生成客户端证书和密钥

同样,为客户准备证书:

./easyrsa gen-req client1 nopass

签署客户端证书:

./easyrsa sign-req client client1

根据需要重复这些步骤以创建更多客户端证书。

8. 生成 Diffie-Hellman 参数和 HMAC 签名

生成 Diffie-Hellman 文件:

./easyrsa gen-dh

并生成一个静态 HMAC 签名以增强服务器的 TLS 完整性验证能力:

openvpn --genkey secret ta.key

9. 配置 OpenVPN 服务器

为 OpenVPN 服务器创建一个新配置文件:

sudo nano /etc/openvpn/server.conf

将以下配置粘贴到文件中:

port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 tls-auth ta.key 0 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3

确保所有文件路径都指向正确的文件。现在保存文件并退出编辑器。

10. 调整网络设置

您需要对网络进行更改以允许流量转发。打开 `/etc/sysctl.conf`:

sudo nano /etc/sysctl.conf

取消注释这一行:

net.ipv4.ip_forward=1

应用更改:

sudo sysctl -p

添加 UFW 规则:

sudo nano /etc/ufw/before.rules

添加到文件顶部:

# START OPENVPN RULES *nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # END OPENVPN RULES

允许 IP 掩盖:

sudo nano /etc/default/ufw

将 `DEFAULT_FORWARD_POLICY` 更改为:

DEFAULT_FORWARD_POLICY="ACCEPT"

最后,应用 UFW 规则:

sudo ufw allow 1194/udp

重启 UFW:

sudo ufw disable
sudo ufw enable

11. 启动并启用 OpenVPN

启动并启用 OpenVPN 服务:

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

检查状态以确保其正常运行且没有错误:

sudo systemctl status openvpn@server

12. 配置客户端

最后一步是配置客户端。通过运行特定于客户操作系统的安装命令来安装 OpenVPN 客户端。然后,创建一个客户端配置文件,通常是一个 `.ovpn` 文件,其中包含所有服务器信息、客户端证书和用于身份验证的私钥。

在您的计算机上创建一个新的客户端配置文件(client1.ovpn):

client dev tun proto udp remote your-server-ip 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC auth SHA256 auth-nocache tls-auth ta.key 1 verb 3 # paste ca.crt content here # paste client1.crt content here # paste client1.key content here # paste ta.key content here

传输证书并在您的客户端设备上设置客户端配置。

13. VPN 测试

最后,现在是测试时间。使用您创建的配置文件在计算机上运行 OpenVPN 客户端。如果一切配置正确,您应该能顺利连接,并且您的网络流量现在将通过您的 VPN 路由!

连接后,验证您的外部 IP 地址以确保它反映了服务器的 IP 而不是您原始的客户端 IP。

结论

通过遵循这些详细步骤,您已成功在 Debian 机器上安装了 OpenVPN 服务器。此设置可确保您的数据在可能不安全的网络上进行安全通信。始终记住保持服务器和客户端最新,并不断监控安全更新。

如果你发现文章内容有误, 您可以


评论