在当今数字化时代,虚拟专用网络(VPN)已成为保护隐私、绕过地理限制和增强网络安全的重要工具,如果你使用的是Ubuntu系统,并希望在Linode服务器上搭建自己的VPN,那么本文将为你提供详细的步骤指南,本文将涵盖从Linode服务器配置到Ubuntu客户端连接的全过程,确保你能够顺利搭建一个安全可靠的VPN连接。
准备工作
在开始之前,你需要具备以下条件:
- 一个Linode账户(可以注册Linode官网)
- 一台运行Ubuntu 20.04/22.04的Linode服务器
- 基本的Linux命令行操作经验
确保你的Linode服务器已经安装并运行Ubuntu,并且可以通过SSH访问。
在Linode服务器上安装和配置VPN
我们将使用WireGuard作为VPN协议,因为它比OpenVPN更快、更安全,并且易于配置。
步骤1:更新系统并安装WireGuard
通过SSH登录你的Linode服务器:
ssh root@your-linode-ip
然后更新系统并安装WireGuard:
sudo apt update && sudo apt upgrade -y sudo apt install wireguard -y
步骤2:生成WireGuard密钥对
WireGuard使用公钥和私钥进行加密通信,运行以下命令生成密钥:
wg genkey | sudo tee /etc/wireguard/private.key sudo chmod 600 /etc/wireguard/private.key sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
步骤3:配置WireGuard服务器
创建WireGuard配置文件:
sudo nano /etc/wireguard/wg0.conf
替换<PRIVATE_KEY>为你的私钥):
[Interface] PrivateKey = <PRIVATE_KEY> Address = 10.0.0.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = <CLIENT_PUBLIC_KEY> # 稍后生成 AllowedIPs = 10.0.0.2/32
保存并退出(Ctrl+X → Y → Enter)。
步骤4:启用IP转发和防火墙规则
为了让VPN流量正确转发,编辑sysctl.conf:
sudo nano /etc/sysctl.conf
取消注释或添加:
net.ipv4.ip_forward=1
应用更改:
sudo sysctl -p
配置UFW防火墙允许VPN端口:
sudo ufw allow 51820/udp sudo ufw enable
步骤5:启动WireGuard服务
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0
检查状态:
sudo systemctl status wg-quick@wg0
如果一切正常,WireGuard服务器已成功运行!
在Ubuntu客户端上配置VPN
我们需要在Ubuntu客户端上安装WireGuard并生成密钥。
步骤1:安装WireGuard
sudo apt update && sudo apt install wireguard -y
步骤2:生成客户端密钥
wg genkey | sudo tee /etc/wireguard/private.key sudo chmod 600 /etc/wireguard/private.key sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
记下客户端的公钥(public.key),稍后需要在服务器配置中添加。
步骤3:创建客户端配置文件
sudo nano /etc/wireguard/wg0.conf
替换<SERVER_PUBLIC_KEY>和<CLIENT_PRIVATE_KEY>):
[Interface] PrivateKey = <CLIENT_PRIVATE_KEY> Address = 10.0.0.2/24 DNS = 8.8.8.8 [Peer] PublicKey = <SERVER_PUBLIC_KEY> Endpoint = your-linode-ip:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
保存并退出。
步骤4:启动客户端VPN
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0
检查连接状态:
sudo wg show
如果显示handshake成功,说明VPN已连接!
测试VPN连接
在客户端运行:
curl ifconfig.me
如果显示的IP是你的Linode服务器IP,则VPN工作正常。
常见问题排查
- 无法连接?
- 检查Linode防火墙是否允许UDP 51820端口。
- 确保
wg0.conf配置正确。
- DNS泄露?
- 在客户端配置中添加
DNS = 8.8.8.8或1.1.1。
- 在客户端配置中添加
通过上述步骤,你已经在Ubuntu上成功搭建了Linode VPN,WireGuard提供了高性能和安全性,适用于个人隐私保护和企业远程访问。
如果你遇到问题,可以查阅WireGuard官方文档或Linode社区支持,希望这篇指南对你有所帮助! 🚀









