腾讯云 Ubuntu 24.04 与 iStoreOS WireGuard 组网配置文档
一、组网目标
通过 WireGuard 建立加密隧道,实现腾讯云服务器与家用 iStoreOS 及内网设备(192.168.9.0/24 网段)的互通,支持腾讯云访问家用内网服务(如 SSH、Web 服务等)。
二、环境信息
三、腾讯云服务器配置(Ubuntu 24.04)
3.1 安装 WireGuard
# 更新软件源
apt update
# 安装 WireGuard 工具(内核原生支持,无需额外模块)
apt install -y wireguard3.2 生成密钥对
# 进入配置目录并生成密钥(私钥保存在文件,公钥需记录)
mkdir -p /etc/wireguard && cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
# 查看并记录密钥(公钥需配置到 iStoreOS)
cat privatekey  # 腾讯云私钥:[请替换为实际生成的私钥]
cat publickey   # 腾讯云公钥:[请替换为实际生成的公钥]3.3 编写 WireGuard 配置文件(wg0.conf)
nano /etc/wireguard/wg0.conf
配置内容如下(关键信息已适配实际环境):
[Interface]
# 腾讯云私钥(步骤 3.2 生成)
PrivateKey = [请替换为腾讯云实际私钥]
# 虚拟 IP(固定网段 10.8.0.0/24)
Address = 10.8.0.1/24
# 监听端口(UDP,需与 iStoreOS 一致)
ListenPort = 51820
# 防火墙转发规则(适配 Ubuntu ufw)
PostUp = ufw allow 51820/udp; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = ufw delete allow 51820/udp; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# iStoreOS 公钥(从 iStoreOS 后台获取)
PublicKey = [请替换为 iStoreOS 实际公钥]
# 允许访问的网段(iStoreOS 虚拟 IP + 家用内网)
AllowedIPs = 10.8.0.2/32, 192.168.9.0/24
# 家用 DDNS 域名(自动解析家用公网 IP)
Endpoint = wireguard.868333.xyz:51820
# 心跳包(保持连接,25 秒一次)
PersistentKeepalive = 25
3.4 配置系统与防火墙
# 开启 IP 转发(永久生效)
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
# 开放 WireGuard 端口(UDP 51820)
ufw allow 51820/udp
ufw enable  # 确保防火墙已启用3.5 启动并设置开机自启
# 启动 WireGuard 接口
wg-quick up wg0
# 设置开机自启(通过 systemd 管理)
systemctl enable wg-quick@wg03.6 验证腾讯云状态
# 查看 WireGuard 连接状态(需显示 handshake 记录)
wg
# 测试到 iStoreOS 虚拟 IP 的连通性(SSH 示例,目标需开通ssh远程访问)
ssh root@10.8.0.2
# 测试到家用内网设备的连通性(telnet 示例,需目标设备开放对应端口)
telnet 192.168.9.52 [目标设备服务端口]
四、家用 iStoreOS 配置
4.1 安装 WireGuard 插件
我的istoreOS在状态里,好像已经有了,可能以前安装过吧,所以并没有执行本步骤。
登录 iStoreOS 管理界面(默认地址:
192.168.9.1)。进入 系统 → 软件包,搜索并安装
luci-app-wireguard和wireguard-tools。安装完成后重启 iStoreOS(或刷新页面)。
4.3 创建 WireGuard 接口(客户端)
进入 网络 → 接口 → 添加新接口 → WireGuard VPN → 生成新的密钥对。
接口名称:
wg0协议:选择
WireGuard VPN
配置接口参数:
生成新的密钥对,公钥需要填到3.3章节的配置文件中。
虚拟 IP 地址:
10.8.0.2/32(与腾讯云网段一致,且不冲突)。点击 “保存”。
4.4 添加腾讯云 Peer(服务端)
在
wg0接口页面,点击 “编辑 → 对端 → 添加”:公钥:填写腾讯云步骤 3.2 生成的公钥。
允许的 IP:
10.8.0.1/32(仅允许访问腾讯云虚拟 IP,按需可加0.0.0.0/0实现 “通过腾讯云上网”)。端点主机:填写腾讯云公网 IP(示例:
1.2.3.4)。端点端口:
51820(与腾讯云监听端口一致)。持续 Keepalive:
25(与腾讯云配置匹配)。点击 “保存” 并 “应用配置”。
4.5 配置端口转发与防火墙
端口转发(确保家用公网能访问 iStoreOS 的 WireGuard 端口):
进入 网络 → 防火墙 → 端口转发 → 添加:
外部端口:
51820(UDP)。内部 IP 地址:iStoreOS 内网 IP(示例:
192.168.9.1)。内部端口:
51820(UDP)。点击 “保存”。
防火墙规则(允许隧道与内网互通):
进入 网络 → 防火墙 → 通用设置:勾选 “转发”(允许数据包转发)。
进入 网络 → 防火墙 → 区域设置:将
wg0接口加入 “lan” 区域(确保与内网设备互通)。
4.6 配置 DDNS(动态解析家用公网 IP)
不再赘述了,就是用一个域名,解析非固定的IP。
4.7 验证 iStoreOS 状态
进入 网络 → WireGuard → 状态:
查看 “最新握手时间”(需显示几分钟内,证明连接正常)。
查看 “流量传输”(有数据表示隧道已在使用)。
终端验证(可选,需开启 iStoreOS SSH):
# 登录 iStoreOS 终端 ssh root@192.168.9.1 # 查看 WireGuard 状态 wg # 测试到腾讯云的连通性 ping 10.8.0.1
五、常见问题与排查
六、验证组网成功的标准
腾讯云
wg命令显示latest handshake: X seconds ago(连接正常)。腾讯云可通过
ssh root@10.8.0.2登录 iStoreOS。腾讯云可访问家用内网设备的服务(如
telnet 192.168.9.52 [端口]连接成功)。