已编辑 3 几周前 通过 ExtremeHow 编辑团队
虚拟专用网络服务器乌班图Linux网络安全配置操作系统系统设置
翻译更新 3 几周前
在您的 Ubuntu 机器上设置 VPN(虚拟专用网络)服务器是确保访问互联网时的隐私和安全性最有效的方法之一。使用 VPN,您可以保护您的互联网流量免受好奇的目光,访问地理封锁的内容,并在浏览时保持匿名。本指南提供了使用 OpenVPN 在 Ubuntu 上设置 VPN 服务器的分步方法。我们将过程分解为简单的步骤,以便每个人都能理解,即使是初学者。
VPN 本质上是设备到网络的互联网安全连接。当您连接到 VPN 时,它会加密您的数据,使任何人都难以拦截和访问您的信息。这种加密保护您的在线活动不受黑客、ISP 和其他第三方的侵害。
VPN 通常用于以下目的:
在我们开始在 Ubuntu 上设置 VPN 服务器之前,请确保您具备以下条件:
更新您的系统以确保其最新。打开终端并运行以下命令:
sudo apt update && sudo apt upgrade -y
此命令更新可用软件包及其版本的列表,然后更新这些软件包。
接下来,我们需要在服务器上安装 OpenVPN。OpenVPN 是一种流行的开源 VPN 解决方案。您可以使用以下命令安装它:
sudo apt install openvpn easy-rsa -y
easy-rsa
包用于为您的服务器创建一个证书颁发机构(CA)。CA 签发的证书可以帮助验证连接到 VPN 的客户端。
安装 OpenVPN 后,需要将 OpenVPN 提供的示例配置文件复制到 /etc/openvpn 目录中。此文件用作您的配置模板。使用以下命令复制它:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
此配置文件是压缩的,因此您需要在编辑之前解压缩它。使用以下命令提取文件:
sudo gzip -d /etc/openvpn/server.conf.gz
解压缩后,打开配置文件进行编辑:
sudo nano /etc/openvpn/server.conf
在这个文件中,您可能需要修改几个参数以满足您的需求。例如,为了更好的安全性,您可以通过删除行首的 ;
来取消注释 tls-auth
行,以确保可以验证 VPN 客户端。此外,请确保 cipher
行设置为强加密标准,例如 AES-256-CBC
。
为使 VPN 服务器正常工作,您必须通过修改 /etc/sysctl.conf
文件启用数据包转发。此操作使您的服务器充当路由器,在网络之间转发数据包。使用以下命令打开文件:
sudo nano /etc/sysctl.conf
找到这一行:
#net.ipv4.ip_forward=1
取消对此行的注释以通过删除 #
符号启用 IPv4 转发。保存并退出文件。
运行以下命令应用更改:
sudo sysctl -p
设置防火墙以允许 OpenVPN 流量。这包括通过服务器的防火墙允许 VPN 流量并将其转发到互联网。
首先,找到您的网络接口。运行:
ip route | grep default
该命令将输出您的默认网络接口名称,例如 eth0
。记下此名称。
启用防火墙以允许 OpenVPN 和 SSH 流量,并配置数据包转发规则。假设接口名为 eth0
,运行这些命令:
sudo ufw allow ssh sudo ufw allow 1194/udp sudo ufw allow 443/tcp sudo ufw enable sudo ufw status
为转发和 NAT 添加以下规则:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
需要创建一个公钥基础设施 (PKI) 来向客户端颁发证书。首先设置 PKI 目录:
make-cadir ~/openvpn-ca cd ~/openvpn-ca
编辑新创建目录中的 vars
文件以自定义证书颁发机构。运行:
nano vars
用您的相关信息替换文件中的占位符。
加载变量并生成证书颁发机构:
source vars ./clean-all ./build-ca
生成服务器密钥和证书:
./build-key-server server
生成用于增强安全性的 Diffie-Hellman 参数:
./build-dh
为服务器生成 HMAC 签名:
openvpn --genkey --secret keys/ta.key
完成所有配置后,启动并启用 OpenVPN 服务:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
检查 VPN 是否在运行:
sudo systemctl status openvpn@server
为连接到服务器的每个设备生成客户端证书和密钥。在 openvpn-ca
目录中,运行:
cd ~/openvpn-ca source vars ./build-key client1
将所需文件复制到客户端机器:
sudo scp -r ~/openvpn-ca/keys/client1.* your_username@client_ip:/path/to/client/config
使用以下设置配置 client.conf 文件:
client dev tun proto udp remote [Your Server IP] 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC auth SHA256 comp-lzo verb 3
设置您自己的 VPN 服务器可以大大提高您的在线安全性。虽然商业 VPN 提供了使用的便利性,但创建自己的服务器可以让您更好地控制个人数据。尽管设置需要一定的技术技能,但本指南将过程分解为简单的步骤,使其易于管理。今天就通过在 Ubuntu 上设置自己的 VPN 服务器来保护您的在线存在。
如果你发现文章内容有误, 您可以