WireGuard 安装与组网教程:开启极速 VPN 之旅

WireGuard 安装与组网教程:开启极速 VPN 之旅
WeekendWireGuard 安装与组网教程:开启极速 VPN 之旅
什么是 WireGuard?
在当今的网络环境中,隐私和安全越来越受到重视。WireGuard 是一种现代、简单、快速且安全的 VPN 协议,旨在取代传统的 IPsec 和 OpenVPN。它由知名内核开发者 Jason A. Donenfeld 开发,并于 2020 年被正式并入 Linux 内核,这本身就证明了其卓越的性能和稳定性。
WireGuard 的核心优势:
- 极速性能:相比 OpenVPN,WireGuard 协议更轻量、更高效,可以提供接近物理网络的速度,延迟极低。
- 简单易用:配置代码极简,通常只有几十行,大大降低了上手难度。
- 高度安全:它使用了最先进的密码学技术,如 ChaCha20、Poly1305 等,安全性极高。
- 跨平台支持:支持 Linux、Windows、macOS、Android、iOS 等几乎所有主流平台。
准备工作
在开始之前,我们需要准备一台 云服务器(VPS) 作为 VPN 服务端。本文将以 Ubuntu 22.04 为例进行讲解。
客户端可以是你的个人电脑、手机或任何需要接入网络的设备。
1. 服务端配置(Ubuntu)
我们首先在云服务器上安装和配置 WireGuard。
步骤一:安装 WireGuard
WireGuard 已经包含在大多数现代 Linux 发行版的官方软件源中,所以安装非常简单。
1 | # 更新系统 |
步骤二:生成密钥对
WireGuard 基于公钥/私钥加密技术。我们需要为服务端和每个客户端都生成一对密钥。
1 | # 切换到 root 用户或使用 sudo |
privatekey:服务端的私钥,绝不能泄露。publickey:服务端的公钥,用于客户端配置。
步骤三:配置服务端
创建一个名为 wg0.conf 的配置文件,wg0 是 WireGuard 创建的网络接口名称,你可以自定义。
1 | # 创建并编辑配置文件 |
将以下内容粘贴到文件中,并根据你的实际情况进行修改:
1 | [Interface] |
PrivateKey:填写你在上一步中生成的服务端私钥。Address:这是 WireGuard 虚拟内网的地址,10.0.0.1/24表示服务器的 IP 是10.0.0.1,掩码是255.255.255.0,客户端 IP 可以在10.0.0.2到10.0.0.254之间。ListenPort:WireGuard 默认监听端口,可以自定义。PostUp/PostDown:这两条命令用于设置 NAT(网络地址转换),让客户端的流量可以通过服务器访问互联网。eth0是你的服务器网卡名称,如果不是,请使用ip a命令查看并替换。
步骤四:启动 WireGuard 服务
保存并关闭文件后,启用和启动 WireGuard 服务。
1 | # 启用开机自启 |
至此,服务端配置完成。记得在你的云服务商控制台 防火墙/安全组 中,放行 51820 端口(UDP)。
2. 客户端配置
步骤一:生成客户端密钥对
在任意一台电脑上,或者直接在服务器上,为每个客户端生成一对密钥。
1 | # 生成客户端密钥对 |
client_privatekey:客户端的私钥,用于客户端配置。client_publickey:客户端的公钥,用于服务端配置。
步骤二:将客户端公钥添加到服务端
回到服务器的 wg0.conf 文件,为每个客户端添加一个 [Peer] 区块。
1 | # 继续编辑 /etc/wireguard/wg0.conf |
PublicKey:填写你在上一步生成的客户端公钥。AllowedIPs:分配给该客户端的虚拟内网 IP 地址,10.0.0.2/32表示只允许10.0.0.2这个 IP 访问,掩码为255.255.255.255。如果有多个客户端,依次为它们分配10.0.0.3、10.0.0.4等。
添加完客户端配置后,重启 WireGuard 服务使其生效:
1 | systemctl restart wg-quick@wg0 |
步骤三:配置客户端
Windows 客户端:
- 从 WireGuard 官网下载并安装 Windows 客户端。
- 打开客户端,点击左下角的
+号,选择添加空白隧道。 - 粘贴以下配置到右侧编辑框中:
1 | [Interface] |
PrivateKey:填写客户端私钥。Address:填写服务端wg0.conf中为该客户端分配的 IP。PublicKey:填写服务端的公钥。Endpoint:填写你的 云服务器公网 IP 和 WireGuard 监听端口。
保存配置后,点击 连接,如果一切顺利,你就可以通过 VPN 访问互联网了。
其他平台(如 Android/iOS):
手机客户端的操作类似,只需手动添加配置或通过扫描二维码即可。WireGuard 客户端也支持直接导入 .conf 文件,你可以将上述配置保存为 client.conf 文件后导入。
3. 点对点组网
除了作为传统的 VPN,WireGuard 的另一大用途是构建 点对点(P2P) 虚拟局域网。例如,将多台云服务器连接起来,或者将你的公司电脑和家用电脑连接起来,实现内网互访。
假设你有两台服务器 A(10.0.0.1)和 B(10.0.0.2)。
在服务器 A 的
wg0.conf中添加 B 的配置:1
2
3
4
5
6[Peer]
PublicKey = <B 的公钥>
# 允许访问 B 的内网 IP,10.0.0.2/32 表示只允许访问 B 自己
AllowedIPs = 10.0.0.2/32
# B 的公网 IP 和端口
Endpoint = <服务器 B 的公网 IP>:51820在服务器 B 的
wg0.conf中添加 A 的配置:1
2
3
4
5
6[Peer]
PublicKey = <A 的公钥>
# 允许访问 A 的内网 IP,10.0.0.1/32 表示只允许访问 A 自己
AllowedIPs = 10.0.0.1/32
# A 的公网 IP 和端口
Endpoint = <服务器 A 的公网 IP>:51820
配置完成后,分别重启两台服务器的 WireGuard 服务,即可通过 ping 10.0.0.2 或 ping 10.0.0.1 来测试连接是否成功。
WireGuard 以其极简的配置和强大的性能,成为了新一代 VPN 的理想选择。希望本教程能帮助你轻松搭建一个属于自己的私有安全网络!






