已编辑 3 几周前 通过 ExtremeHow 编辑团队
Debian开源VPN服务器设置网络安全Linux虚拟专用网络系统管理开源命令行界面
翻译更新 3 几周前
在 Debian 上设置 OpenVPN 服务器看起来可能很复杂,但通过仔细遵循一些步骤,您可以配置一个安全的 VPN。本指南假设您具备使用命令行的基本知识并已安装 Debian。我们将详细查看每一步,提供所有必要的命令和配置,以启动和运行您的 OpenVPN 服务器。这将包括设置、配置和测试您的 VPN 服务器。
在开始之前,请确保:
sudo apt update && sudo apt upgrade -y
确保系统更新后,下一步是配置防火墙。
易用的防火墙 (UFW) 是管理防火墙设置的简单方式。如果尚未安装 UFW,请使用以下命令进行安装:
sudo apt install ufw
接下来,通过防火墙允许 SSH 连接(如果尚未允许),使用以下命令:
sudo ufw allow OpenSSH
允许 OpenVPN 连接:
sudo ufw allow 1194/udp
启用防火墙:
sudo ufw enable
检查 UFW 的状态以确保规则设置正确:
sudo ufw status
使用以下命令在 Debian 上安装 OpenVPN 包:
sudo apt install openvpn
安装完成后,该配置服务器的时间了。您将需要 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 保存并退出编辑器。
启动公钥基础设施 (PKI) 目录:
./easyrsa init-pki
通过执行以下操作创建证书颁发机构 (CA):
./easyrsa build-ca
系统将要求您输入其他详细信息,如密码和 CA 的通用名称。根据您的喜好进行设置。
接下来,创建服务器证书和密钥。运行:
./easyrsa gen-req server nopass
此命令生成一个名为 'server.key' 的私有服务器密钥。
现在使用 CA 签署证书:
./easyrsa sign-req server server
系统将要求您确认签名请求。输入“yes”并按 Enter 键。
同样,为客户准备证书:
./easyrsa gen-req client1 nopass
签署客户端证书:
./easyrsa sign-req client client1
根据需要重复这些步骤以创建更多客户端证书。
生成 Diffie-Hellman 文件:
./easyrsa gen-dh
并生成一个静态 HMAC 签名以增强服务器的 TLS 完整性验证能力:
openvpn --genkey secret ta.key
为 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
确保所有文件路径都指向正确的文件。现在保存文件并退出编辑器。
您需要对网络进行更改以允许流量转发。打开 `/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
启动并启用 OpenVPN 服务:
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
检查状态以确保其正常运行且没有错误:
sudo systemctl status openvpn@server
最后一步是配置客户端。通过运行特定于客户操作系统的安装命令来安装 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
传输证书并在您的客户端设备上设置客户端配置。
最后,现在是测试时间。使用您创建的配置文件在计算机上运行 OpenVPN 客户端。如果一切配置正确,您应该能顺利连接,并且您的网络流量现在将通过您的 VPN 路由!
连接后,验证您的外部 IP 地址以确保它反映了服务器的 IP 而不是您原始的客户端 IP。
通过遵循这些详细步骤,您已成功在 Debian 机器上安装了 OpenVPN 服务器。此设置可确保您的数据在可能不安全的网络上进行安全通信。始终记住保持服务器和客户端最新,并不断监控安全更新。
如果你发现文章内容有误, 您可以