WireGuard
1. 功能简介
WireGuard 是一种用于安全网络连接的 VPN 技术。它可以在不同网络之间建立一条加密通道,使设备即使身处异地,也能像在同一个局域网中一样安全通信。 与传统 VPN 相比,WireGuard 具有速度快、连接稳定、配置简单等特点。用户只需进行少量配置,即可实现远程访问内网设备、跨网络数据传输等功能,同时有效保障通信数据的安全性和隐私。 WireGuard 支持多种操作系统和设备,适用于远程办公、设备管理、家庭或企业内网互联等常见使用场景,是一种可靠且易于使用的 VPN 解决方案。
2. 使用教程
本文档中的测试环境基于腾讯云 Ubuntu22.04 完成部署与验证。其他云服务平台未逐一进行测试,如使用不同云厂商,请参考本文档的配置步骤,并结合实际网络环境和系统环境进行相应调整。
云平台选择推荐如下:
-
国内云服务:阿里云、腾讯云
-
海外云服务:甲骨文云(Oracle Cloud)、谷歌云(Google Cloud)、亚马逊云(AWS)、微软云(Azure)
2.1 服务器端设置
- Docker 环境的安装参考:腾讯云Ubuntu22.04 docker 搭建
- 使用腾讯云镜像源加速 Docker,执行以下命令,打开 /etc/docker/daemon.json 配置文件。
vim /etc/docker/daemon.json
- 按 i 切换至编辑模式,添加以下内容,并保存。
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}
- 为避免从 GitHub 拉取资源时失败,可先在本机配置 GitHub 相关域名的 DNS 映射:
sudo tee -a /etc/hosts <<'EOF'140.82.112.4 github.com185.199.108.133 raw.githubusercontent.comEOF
- 效果:

- 效果:
- 加载内核模块
modprobe tunmodprobe wireguard || truemodprobe nf_conntrackmodprobe nf_natmodprobe iptable_nat
- 开启内核 IPV4 转发
sysctl -w net.ipv4.ip_forward=1echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-ipforward.confsysctl --system
- 拉取 WireGuard 管理镜像
docker pull ghcr.io/wg-easy/wg-easy
- 生成管理后台密码 Hash(创建容器的时候需要使用)
docker pull ghcr.io/wg-easy/wg-easy# 输出PASSWORD_HASH='$2a$12$36Q68Cur5DoBrMXvLoergOuVcF1lugRqpn3fCAnG38mwq0CLLi/Wy'
- 创建 wg-easy 容器
docker run -d --name=wg-easy -e LANG=chs\-e WG_DEFAULT_DNS=114.114.114.114 \-e WG_HOST=<服务IP> \-e PASSWORD_HASH=<获取的密码HASH值,注意用''号包含> \-e PORT=<管理界面IP 默认用51821> \-e WG_PORT=<流量转发IP 默认用51820> \-v ~/.wg-easy:/etc/wireguard \-p 51820:51820/udp -p 51821:51821/tcp \--cap-add=NET_ADMIN --cap-add=SYS_MODULE \--sysctl="net.ipv4.conf.all.src_valid_mark=1" --sysctl="net.ipv4.ip_forward=1" \--restart unless-stopped ghcr.io/wg-easy/wg-easydocker run -d --name=wg-easy -e LANG=chs \-e WG_DEFAULT_DNS=114.114.114.114 \-e WG_HOST=43.163.9.243 \-e PASSWORD_HASH='$2a$12$36Q68Cur5DoBrMXvLoergOuVcF1lugRqpn3fCAnG38mwq0CLLi/Wy' \-e PORT=51821 -e WG_PORT=51820 \-v ~/.wg-easy:/etc/wireguard \-p 51820:51820/udp -p 51821:51821/tcp \--cap-add=NET_ADMIN --cap-add=SYS_MODULE \--sysctl="net.ipv4.conf.all.src_valid_mark=1" --sysctl="net.ipv4.ip_forward=1" \--restart unless-stopped ghcr.io/wg-easy/wg-easy
- 放行端口: 在服务器防火墙中放行 UDP 51820 和 TCP 51821 端口。

- 登录管理界面:在浏览器访问
http://公网IP:51821,使用最初设置的密码 admin 登录管理界面。 - 创建客户端:在管理界面中新建设备并下载对应的客户端配置文件或二维码。


2.2 PicoKVM 设置
- 将下载的 PicoKVM 配置文件打开,并将对应的 WireGuard 配置内容复制粘贴进去,然后点击启动完成连接。

- 在电脑端配置好 WireGuard 客户端后,即可通过 VPN 网络访问 KVM 设备。
2.3 Windows 电脑设置
- 下载并安装 WireGuard 客户端软件。

- 打开软件,从文件导入隧道配置文件(.conf)。
- 导入完成后点击 连接 建立 VPN。

- 连接成功后,在浏览器中输入 PicoKVM 的 IP 地址(如 10.8.0.2)即可访问,具体 IP 以管理界面显示为准。
2.4 Ubuntu 电脑设置
- 安装 WireGuard 软件。
sudo suapt install wireguard -y
- 加载内核模块
modprobe tunmodprobe wireguard || truemodprobe nf_conntrackmodprobe nf_natmodprobe iptable_nat
- 开启内核 IPV4 转发
sysctl -w net.ipv4.ip_forward=1echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-ipforward.confsysctl --system
- 将下载的 Linux.conf 配置文件复制到 /etc/wireguard/ 目录。
cp Linux.conf /etc/wireguard/
- 执行 wg-quick up Linux 启用配置,使 WireGuard 连接生效。

提示
配置成功后返回到web管理界面会显示走流量,此时就能网页端登录KVM了,但是这里要注意,电脑不能开代理否则会访问失败。
