惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
美团技术团队
量子位
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
小众软件
小众软件
博客园 - 司徒正美
罗磊的独立博客
云风的 BLOG
云风的 BLOG
B
Blog RSS Feed
博客园 - 聂微东

Oskyla 烹茶室

修复 Joplin on KDE 菜单栏显示问题 Copy Fail:Linux 内核 2017 年至今的高危漏洞(附临时缓解方案) | CVE-2026-31431 Hermes Agent — 在 K3s / K8s 中运行指南 在 K3s 节点上安装并使用 nerdctl Mouser:轻量开源的罗技鼠标驱动替代方案 Claude Opus 4.7:优缺点与评测信息汇总 openFuyao NPU-Operator故障排查 openFuyao 2603 共测测试报告 openFuyao InferNex AI推理集成部署 310P(300I Pro) 环境问题记录及解决 ceph mon Operation not permitted 问题解决 Ascend 310P + openFuyao + NPU-Operator 故障排查 KDE Plasma6 禁用全局菜单,恢复正常应用菜单 终极指南:在 Linux 裸机服务器上快速部署 Moltbot (原 Clawbot) 并集成飞书 Windows 配置 Claude Code 解决 settings.json 不生效 Windows 配置 Claude Code 全流程 2025-12-31 | 年终总结 AI 生图精品提示词|第二期:城市星球 AI 生图精品提示词|第一期 Kubernetes kubectl --raw 使用指南 彻底解决阿里云和 tailscale 冲突 2025-10-21 | 沉淀思维 macOS 单独为鼠标或触控板开启自然滚动 2025-10-16 | 负载高低 2025-10-15 | 睡眠周期 2025-10-14 | 转换情绪与独立观点 go 拉取 gitcode.com 私有 mod Git 将某个文件恢复到其他分支的状态 SSH 通过跳板机连接 lxc 使用 chronyc 构建 ntp 服务 2025-10-13 | 独立思考于未来能源
Openwrt 使用 Wireguard 异地组网(远程家庭网所有设备)
Tianlun Song · 2022-04-23 · via Oskyla 烹茶室

本文 首发于 🌱 煎茶转载 请注明 来源

使用 Wireguard 、OpenWrt、VPS 完成异地组网.

最近入手了一款友善 Nano

pi (型号 FriendlyElec NanoPi R2S (CpuMark : 20651.944334 Scores)),直接作为家庭内网的主路由使用,各项性能比之前的 新路由3 要好太多了。

折腾了各项插件后,决定使用 WireGuard 打通一个虚拟的家庭网络,方便远程访问家庭内网的各种设备。之前使用过 OpenVPN ,确实有些臃肿,这次正好尝尝鲜,看看 wireguard 的效果怎么样。使用过只能说,这真是个太棒的东西了,有各种我想不到玩法。

在配置的过程中,踩了不少坑,这里简单记录一下。

首先说明一下情况:

  • 设备型号: FriendlyElec NanoPi R2S (CpuMark : 20651.944334 Scores)
  • 架构:ARMv8 Processor rev 4 (v8l) x 4 (1200MHz, 55.5°C)
  • 固件 OpenWrt R22.3.23 / LuCI Master (git-22.068.45502-a50e601)

我的固件使用的是 Leans 大神 多功能版固件,自带 WireGuard 等插件,因此在这里略过 OpenWrt 安装 WireGuard 的步骤。

为了远程访问,我直接将一台公网的 nat 服务器作为所有 Wireguard 节点的 Endpoint,所有外网访问均通过这台服务器中转。

在服务器上安装 Wireguard 时,我采用了开源脚本 **wireguard-install 进行安装:

$ curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
$ chmod +x wireguard-install.sh
$ ./wireguard-install.sh

如果github拉取缓慢,可以在 这里 找到我在coding镜像的代码库,直接拷贝使用即可。

安装过程很简单,输入公网 IP地址,之后一路回车即可完成配置。

安装完毕后,再次运行该脚本,即可添加 peer 节点。

每个设备必须有一个独享的配置文件,若公用会导致多设备不可同时在线。

生成的配置文件大概是这样:

cat /root/wg0-client-iphone.conf
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxx
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = xxxx,xxxx

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxx
PresharedKey = xxxxxxxxxxxxxxxxxxxx
Endpoint = x.x.x.x:xxx
AllowedIPs = 10.66.66.0/24, 192.168.2.0/24

需要注意 [Peer] 部分的 AllowedIPs ,默认为 0.0.0.0/0 ,即全局流量均走该 VPN。如果只希望特定网段,在这里制定好即可。比如我的 Wireguard 网段 为 10.66.66.0/24,家庭内网网段为 192.168.2.0/24 ,我就制定这两个网段即可。隧道激活时会自动为我们配置这两个网段的路由。

为每个客户端(包括 OpenWrt )生成配置文件后,下面将 OpenWrt 接入该网络,并作为我们远程虚拟网和家庭子网的 NAT 使用。

OpenWrt 配置

首先添加一个协议类行为 WireGuard VPN 类型的接口,在基本配置中填入配置文件对应的内容:

之后添加 peer ,继续填写配置文件的内容:

填写完毕后保存,下面配置防火墙,选择 lan 区域即可:

这里也是我出现问题的地方。防火墙这里配置错误,可能导致远程访问不到我们的 OpenWrt 网络,或者是访问不到 OpenWrt 网络内的其他主机。

使用默认的 lan 配置,就无需配置各种复杂的路由或是 iptables 来进行 nat 转换了,如果这里配置有问题,或是有特别的需求,就需要有额外的配置了。

至此,连接该接口,或是重启 OpenWrt ,使用远程接入 WireGuard 网络的另一台设备应该就可以顺利的 ping 同内网设备,访问各种服务了。

我是在踩了一圈坑后,发现仅仅使用以上最简单的配置即可完成配置。

如果有问题,可以使用 tcpdump 或是其他抓包工具一路跟踪 icmp 报文来排查一下问题所在。

至此,配置完毕。

参考文献