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.com
185.199.108.133 raw.githubusercontent.com
EOF- 效果:

- 效果:
加载内核模块
modprobe tun
modprobe wireguard || true
modprobe nf_conntrack
modprobe nf_nat
modprobe iptable_nat开启内核 IPV4 转发
sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-ipforward.conf
sysctl --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 su
apt install wireguard -y - 加载内核模块
modprobe tun
modprobe wireguard || true
modprobe nf_conntrack
modprobe nf_nat
modprobe iptable_nat - 开启内核 IPV4 转发
sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-ipforward.conf
sysctl --system - 将下载的 Linux.conf 配置文件复制到 /etc/wireguard/ 目录。
- 执行 wg-quick up Linux 启用配置,使 WireGuard 连接生效。

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