当前位置:首页 > Ubuntu > 正文

Ubuntu WireGuard配置全攻略(手把手教你搭建安全高效的VPN服务)

在当今网络安全日益重要的时代,WireGuard 凭借其简洁、高效和安全性,成为众多用户首选的虚拟专用网络(VPN)协议。本教程将详细讲解如何在 Ubuntu 系统上完成 WireGuard配置,即使你是 Linux 新手,也能轻松上手!

什么是 WireGuard?

WireGuard 是一种现代、快速、安全的 VPN 协议,使用最新的加密技术(如 Curve25519、ChaCha20、Poly1305 等),代码精简且易于审计。相比 OpenVPN 或 IPsec,它配置更简单、性能更高。

Ubuntu WireGuard配置全攻略(手把手教你搭建安全高效的VPN服务) WireGuard配置 WireGuard安装教程 Ubuntu搭建VPN WireGuard网络设置 第1张

准备工作

  • 一台运行 Ubuntu 20.04/22.04/24.04 的服务器(作为 VPN 服务端)
  • 本地电脑(可以是 Windows、macOS、Linux 或手机,用于连接)
  • 具有 sudo 权限的用户账户
  • 确保服务器防火墙允许 UDP 端口(默认 51820)通信

第一步:安装 WireGuard

首先,更新系统软件包:

sudo apt updatesudo apt upgrade -y

然后安装 WireGuard:

sudo apt install wireguard -y

第二步:生成密钥对

WireGuard 使用公钥/私钥进行身份验证。我们需要为服务端和客户端分别生成密钥。

进入 WireGuard 配置目录并生成服务端密钥:

cd /etc/wireguardumask 077wg genkey | tee privatekey | wg pubkey > publickey

执行后,你会得到两个文件:privatekey(私钥)和 publickey(公钥)。请妥善保管私钥,不要泄露!

第三步:配置服务端

创建服务端配置文件 wg0.conf

sudo nano /etc/wireguard/wg0.conf

填入以下内容(请根据实际情况修改):

[Interface]Address = 10.0.0.1/24ListenPort = 51820PrivateKey = <你的服务端私钥>PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEPostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE[Peer]# 客户端1PublicKey = <客户端公钥>AllowedIPs = 10.0.0.2/32

说明:

  • Address:服务端在 VPN 网络中的 IP 地址
  • ListenPort:监听的 UDP 端口(默认 51820)
  • PrivateKey:替换为上一步生成的 privatekey 内容
  • PostUp/PostDown:启用 IP 转发和 NAT,使客户端能访问外网
  • [Peer]:每个客户端都需要一个 Peer 段,填写其公钥和分配的 IP

第四步:启用 IP 转发

编辑 sysctl 配置文件:

sudo nano /etc/sysctl.conf

取消注释或添加以下行:

net.ipv4.ip_forward=1

然后应用更改:

sudo sysctl -p

第五步:启动 WireGuard 服务

设置配置文件权限(非常重要!):

sudo chmod 600 /etc/wireguard/wg0.conf

启动并设置开机自启:

sudo systemctl enable wg-quick@wg0sudo systemctl start wg-quick@wg0

检查状态:

sudo wg show

第六步:配置客户端

以 Linux 客户端为例(其他平台类似):

  1. 在客户端也安装 WireGuard
  2. 生成客户端密钥对(同服务端步骤)
  3. 将客户端公钥添加到服务端的 wg0.conf
  4. 创建客户端配置文件 wg0-client.conf
[Interface]Address = 10.0.0.2/24PrivateKey = <客户端私钥>DNS = 8.8.8.8[Peer]PublicKey = <服务端公钥>Endpoint = <你的服务器公网IP>:51820AllowedIPs = 0.0.0.0/0PersistentKeepalive = 25

启动客户端即可连接。对于 Windows/macOS/iOS/Android,可使用官方 WireGuard App 导入配置。

常见问题与优化

防火墙设置:确保云服务器安全组或 UFW 允许 UDP 51820 端口。

sudo ufw allow 51820/udp

多客户端支持:只需在服务端配置中为每个客户端添加新的 [Peer] 段,并分配不同 IP(如 10.0.0.3、10.0.0.4...)。

结语

通过本教程,你已经成功完成了 Ubuntu WireGuard配置,搭建了一个安全、高效的个人 VPN 服务。无论你是想保护公共 Wi-Fi 上的隐私,还是远程访问家庭网络,WireGuard 都是一个极佳的选择。

记住定期更新系统和 WireGuard,保持最佳安全状态。如果你在操作过程中遇到问题,欢迎查阅官方文档或社区论坛。

关键词回顾:Ubuntu WireGuard配置、WireGuard安装教程、Ubuntu搭建VPN、WireGuard网络设置