设备组合(长沙联通宽带 + eSir OpenWrt \+ 极空间 NAS)是 完美支持 IPv6 的。
目前国内三大运营商(包括联通)的宽带几乎都已下发 IPv6 地址,这为你省去了公网 IPv4 的申请麻烦。
由于 IPv6 的工作原理与 IPv4 不同(它通常没有 NAT),所以不能直接使用传统的“端口映射”。
要在 OpenWrt 上实现外网通过 IPv6 访问内网的 IPv4 服务(即你的博客 192.168.5.178:8081),
##
最稳妥、最简单的方案是:“IPv6 DDNS + Socat 转发”。
这相当于把 OpenWrt 路由器作为“中转站”,外网访问路由器的 IPv6,路由器再把流量转给内网 NAS 的 IPv4。
以下是详细步骤:
第一步:确认 IPv6 环境(打电话确认运营商下发了IPV6,基本上都会有)
1. 检查路由器 IPv6 :
- 登录 OpenWrt 后台。
- 在 概览 (Overview) 或 网络 (Network) -> 接口 (Interfaces) 中,查看 WAN 或 WAN6 接口。
- 如果你看到一个以 240 或 2001 开头的长 IP 地址(不是 fe80 开头),说明你已经有了公网 IPv6。

2. 检查测试 :
- 电脑连接路由器,访问 。如果显示 10/10,说明一切就绪。

根据你提供的 OpenWrt 路由器截图, 你已经成功获取了 IPv6 地址 。
以下是详细的分析依据以及后续的验证方法:
1. 截图分析依据
从你的截图中可以提取到以下关键信息,证明 IPv6 已经拨号成功并正在工作:
- WAN6 接口 (关键证据):
- 显示了 IPv6: 2408:8252:260:e45:2e2:6925:912a:fc04/64 。
- 解读: 2400 、 2408 、 2409 开头的通常是国内运营商(你这里是 2408 ,应该是 中国联通 )分配的 公网 IPv6 地址 (Global Unicast Address)。
- 显示了 IPv6-PD: 2408:8352:260:2a9::/64 。
- 解读: 你的路由器不仅获得了一个 IP,还成功申请到了一个 前缀代理 (Prefix Delegation) 。这意味着运营商允许你的路由器给家里的电脑、手机分配公网 IPv6 地址。
- LAN 接口:
- 显示了 IPv6: 2408:8352:260:2a9::1/64 。
- 解读: 你的局域网接口已经自动使用了上面 WAN6 获取到的 PD 前缀,并生成了局域网网关地址。这是连接设备的网关。
如何验证你的设备是否连通 IPv6?
虽然路由器有了 IPv6,但还需要确认你的 电脑或手机 是否也正确获取并能上网。请按以下步骤操作:
方法一:在线网站测试(最简单)
在连接该路由器的电脑或手机上,访问以下任意一个测试网站:
https://test-ipv6.com/
(推荐,会显示详细评分)
https://ipw.cn/
预期结果:
- 网站应该提示“你已经接入 IPv6 互联网”。
- 它应该能识别出你的 IPv6 地址(与你路由器里的 2408 开头类似)。
但是有可能会这样:

问题出在你的浏览器或者电脑上运行的代理软件(翻墙/加速器)\*\*拦截或屏蔽了 IPv6 流量。
以下是详细的“破案”分析和解决方法:
1. 证据分析:为什么我说你其实成功了?
- 证据一(CMD 截图 - 铁证):
- 你的 ipconfig 显示你已经有了 2408:8352... 开头的公网 IPv6 地址。
- 你的 ping -6 2400:3200::1 完全成功 !延迟只有 26ms,这意味着你的操作系统底层已经可以毫无障碍地通过 IPv6 访问互联网。

- 证据二(网页截图 - 罪魁祸首):
- 网页提示 0/10 ,未检测到 IPv6。
- 关键点: 请看网页截图中显示的运营商 (ISP)。它显示的是 "ZEONET-AS-AP Zeofast Network" ,而不是你的宽带运营商(比如中国联通 China Unicom)。
- 结论: 这说明你的浏览器流量并没有直接走你自家的宽带,而是走了 代理软件(VPN/Clash/v2rayN 等) 。
2. 原因解释
大多数代理软件(科学上网工具)默认配置下,为了防止 DNS 泄露或者因为节点本身不支持 IPv6,会采取以下两种策略之一:
1. 直接屏蔽 IPv6: 强制浏览器只使用 IPv4。
2. 接管所有流量: 浏览器发出的请求被代理软件拦截, 代理软件只用 IPv4 也就是那个 "Zeofast" 的节点去访问网站 ,所以测试网站认为你没有 IPv6。
3. 如何解决/验证?
你可以尝试以下任一方法来让网页测试全绿:
方法一:最直接的验证(暂时关闭代理)
1. 彻底退出 电脑上的代理软件(Clash, v2rayN, uu加速器等)。
2. 确保 系统代理设置已被清空。
3. 刷新 test-ipv6.com 网页。
- 预期结果:你应该会立刻看到 10/10 的满分,且运营商变回你当地的联通/电信/移动。
方法二:修改代理软件设置(如果你想同时用)
如果你使用的是 Clash 或类似内核的软件:
1. 打开软件设置。
2. 找到 "IPv6" 选项,勾选它(允许处理 IPv6 流量)。
3. 找到 "TUN 模式" 或 "系统代理" 设置,确保它没有强制阻断 IPv6。
4. (注意:很多机场节点本身不支持 IPv6,所以开启后,访问被代理的网站可能会变慢或失败,但访问国内网站如 test-ipv6 会恢复正常) 。
方法三:浏览器设置(排除法)
如果你没有开代理软件,检查浏览器的 "安全 DNS" (Secure DNS) :
1. (以 Edge/Chrome 为例) 设置 -> 隐私、搜索和服务 -> 安全性。
2. 尝试关闭 "使用安全 DNS",或者将其提供商改为默认。 (有些 DoH 服务器可能解析不出 IPv6 地址) 。
总结
你的 OpenWrt 路由器设置是满分的,你的电脑系统网络也是满分的。 是电脑上的软件“欺骗”了浏览器。如果只是为了验证 OpenWrt 是否配置成功,目前的 CMD 截图已经足够证明你 成功了 。
方法二:电脑端命令检查
Windows 系统:

1. 按 Win + R ,输入 cmd 回车。
2. 输入命令: ipconfig
3. 查看“无线局域网适配器”或“以太网适配器”。
4. 预期结果: 你应该能看到一个 IPv6 地址 ,是 2408 开头的(不要只看 fe80 开头的,那个是本地链接地址,不算公网)。
5. Ping 测试:
输入命令:ping -6 2400:3200::1 (这是阿里 DNS 的 IPv6 地址)
预期结果: 应该显示“来自... 的回复”,而不是“请求超时”。
/Mac / Linux 系统:
在终端输入 ifconfig 或 ip addr,同样查找非 fe80 开头的 IPv6 地址。尝试 ping6 2400:3200::1。
最后:确保LAN口的IPV6设置如下,用于获得WAN口得到的IPV6下发到LAN口

确保LAN口的服务器IPV6设置 这四项和DNS服务器为如图所示
总结:你的路由器端状态非常完美,只要终端设备能自动获取到 IP,你就已经处于 IPv6 环境中了。
第二步:配置Openwrt的DDNS(利用大神开发的:luci-app-ddns)
既然你现在使用的是 OpenWrt 自带的 DDNS (Dynamic DNS) 插件,并且希望配置 IPv6 的动态域名解析,这完全没问题。
由于你之前的对话中提到已经把 seguzhixue.top 的 DNS 托管到了 Cloudflare (为了用 Tunnel),我将重点介绍 Cloudflare 的配置方法,因为cf最良心,最稳定,全球最大(至于阿里云、腾讯云类似设置)

核心前提:安装必要的支持包
Cloudflare 的 API 通信通常需要 HTTPS 支持。
请先进入 OpenWrt 的 系统 -> 软件包 ,确保安装了以下插件(如果没有,请先安装):

- luci-app-ddns (自带的界面)
- ddns-scripts (核心脚本)
- ddns-scripts-cloudflare (Cloudflare 专用脚本, 强烈建议安装)
- ddns-scripts-tencent 或 ddns-scripts-dnspod (腾讯云专用脚本)
- curl (用于发送请求)
- ca-bundle (用于 HTTPS 证书验证)
配置 Cloudflare DDNS (推荐,配合你现在的域名)
Cloudflare 不再推荐使用“邮箱+全局密码”的方式,而是推荐使用更安全的 API Token 。
1. 获取 Cloudflare API Token

1. 登录 Cloudflare 官网,点击右上角头像 -> My Profile (我的个人资料) -> API Tokens 。
2. 点击 Create Token 。

3. 选择模板 Edit zone DNS (编辑区域 DNS)。

4. 在 Zone Resources (区域资源) 里,选择 Include -> Specific zone -> seguzhixue.top (只授权这个域名,更安全)。

5. 点击 Continue to summary -> Create Token 。
6. 复制那串长长的 Token , ==保存好(只显示一次)。==

然后在域名dns解析处添加一个类型为AAAA(IPV6标识)的二级域名前缀,此处为Blog,内容随便写:
关于 Cloudflare 的“小黄云” (代理模式)
非常重要: 你的端口是 8081 。Cloudflare 的免费 CDN (开启小黄云/Proxy 模式) 默认只支持 80 和 443 端口 。
- 操作: 去 Cloudflare 网站 -> DNS 设置。
- 找到 blog 的 AAAA 记录。
- 务必关闭“代理状态” (Proxy Status) ,让它变成 “仅 DNS (DNS Only)” (图标变灰,不是橙色)。
- 原因:如果不关,Cloudflare 会拦截流量,因为端口不匹配,外网访问会失败。
2. 手动创建初始记录 (推荐)
为了防止 DDNS 脚本第一次运行报错,建议先去腾讯云和 Cloudflare 的后台, 手动 添加一条记录:
- 类型: AAAA (这是 IPv6 专用的,不要选 A)。
- 主机记录/名称: blog
- 记录值: 随便填个 IPv6 地址,比如 ::1 。
- 保存后,OpenWrt 的 DDNS 插件会自动把这个值更新成你真实的路由 IP。
2. OpenWrt DDNS 设置 (IPv6 版)
1. 进入 OpenWrt 服务 (Services) -> 动态 DNS (Dynamic DNS) 。
2. 添加新服务 :
- 名称 :比如 cf_ipv6 。

- IP 地址版本 :选择 IPv6 地址 (关键!)。
- DDNS 服务提供商 :
- 如果在列表里能找到 cloudflare.com-v4 ,选它(不用担心名字里的 v4,它通常通过脚本也支持 v6,或者我们需要手动调整)。
- 更推荐的方式 :如果列表里有 cloudflare (来自 ddns-scripts-cloudflare 包),请务必选这个。

- 点击 创建服务 。
3. 编辑详细配置 : |

- Lookup Hostname (查询主机名) :填你想设置的完整域名,例如 v6.seguzhixue.top 。
- Domain (域名) :格式通常是 域名@主机名 或直接写 v6.seguzhixue.top 。
- 注意:对于 Cloudflare 脚本,这里通常填写 v6.seguzhixue.top 。
- Username (用户名) : Bearer (注意大小写,填这就行)。
- Password (密码) :填入你在第 1 步获取的 API Token 。
- Use HTTP Secure (使用 HTTPS) : 勾选 (必须)。
- Path to CA-Certificate (CA 证书路径) :通常默认即可,或者填 /etc/ssl/certs/ca-certificates.crt 。
4. 高级设置 (Advanced Settings) :
- IP 地址来源 (IP address source) :选择 接口 (Interface) 。
- 接口 (Interface) :选择 WAN6 (或者你看得到公网 IPv6 地址的那个接口)。
- Check for changed IP every: 设置检查间隔,比如 10m (10分钟)。
5. 保存并应用 。点击“启动”进程。查看日志(Log),如果显示 "Update successful",说明解析成功。
验证是否成功
1. 保存 OpenWrt 设置并点击 “启动” 。
2. 等待 1-2 分钟。
3. 在电脑 cmd 输入: nslookup -qt=aaaa blog.seguzhixue.xyz
4. 如果返回的地址是你路由器 WAN6 的那个 2408:8252... 开头的地址, 恭喜你,配置成功!
现在,你在外网(使用手机流量),浏览器输入 http://blog.seguzhixue.xyz:8081 就可以访问你的博客了。
⚠️ 重要提示:这只是“指路”,还需要“开门”
配置好 DDNS 后, blog.seguzhixue.top 就会指向你路由器的 IPv6 地址了。但是,要访问内网 NAS (192.168.5.178),你依然需要配合我上一条回复中提到的 Socat 转发 。
完整数据流向是这样的:
1. 用户访问 :浏览器输入 http://v6.seguzhixue.top:8081 。
2. DDNS 解析 :Cloudflare 告诉浏览器,这个域名对应你路由器的 IPv6 地址 240e:xxxx...。
3. 到达路由器 :请求到达路由器的 8081 端口。
4. 防火墙放行 :OpenWrt 防火墙允许入站。
5. Socat 搬运 :Socat 把流量从路由器的 IPv6:8081 搬运到内网 NAS 的 IPv4:8081 (或 8090)。
总结:
先按上面的步骤搞定 Cloudflare DDNS,确保在 OpenWrt 的 DDNS 日志里看到“更新成功”。然后配合上一条的 Socat 方案,你就拥有了一条直连、高速、不依赖第三方服务器的回家之路!
第三步:配置 Socat 转发 (实现“端口映射”)
因为 IPv6 直接访问内网 IPv4 设备比较麻烦(需要内网设备也有公网 IPv6 且防火墙配置复杂),我们用 socat 工具在路由器上搭一座桥。
目标 :访问 [路由器IPv6]:8081 -> 自动转发到 192.168.5.178:8081
1. 检查 Socat :
- eSir 的固件通常自带 socat 。你可以在 系统 -> 软件包 里搜索 socat 确认是否安装。如果没装,点击安装。
2. 设置启动脚本 :
- 进入 系统 (System) -> 启动项 (Startup) -> 本地启动脚本 (Local Startup) (通常在页面底部,或者叫 rc.local)。
- 在 exit 0 之前,插入以下命令:
(注意:命令最后的 & 符号不能少,这是让它在后台运行)
- 点击 保存 (Save) 。
3. 让它立即生效 :
- 你可以重启路由器,或者直接通过 SSH/终端运行一次上面那行命令。

必填项配置指南
1. 协议 (第一行) :保持 “端口转发” 不变。
2. 限制地址 (Listen Address) :
- 建议选择 IPv6 。
- 解释:这是告诉路由器只监听 IPv6 的入站连接(或者选“IPv4 和 IPv6”也可以,但单纯为了 IPv6 访问选 IPv6 更清晰)。
3. 协议 (Protocol) :保持 TCP 不变。
4. 监听端口 (Listen Port) : 8081(或者你想在域名之后带的任何端口都行,例如:seguzhixue.xyz:8888 也行)
5. reuseaddr :保持 勾选 。
- 什么是 reuseaddr ?
这是一个更底层的 Socket 选项 。它的作用是: 允许 Socat 服务快速地重新绑定到刚刚被自己释放的同一个端口上。
- 解决什么问题? 当您修改Socat配置并点击“保存&应用”时,旧的服务进程会停止并释放它占用的8081端口。但在某些情况下,操作系统不会立即完全释放这个端口,会有一个短暂的“冷却期”。如果此时新进程立即尝试重新绑定8081端口,系统会报错“ Address already in use ”(地址已被占用),导致服务启动失败。
- 开启后有什么效果? 勾选 reuseaddr 后,Socat 进程可以立即重新绑定到尚未完全释放的8081端口,从而确保服务能够 无缝、快速地重启 ,而不会因为端口占用问题导致中断。
6. 目标协议 (Target Protocol) ——【关键修改点】 :
- 必须改为 IPv4-TCP 。
- 解释:你截图上选的是 IPv6-TCP *,这是* ***错*** 的。因为你要转发给内网的 192.168.5.178 *,这是一个* ***IPv4*** 地址,所以目标协议必须是 IPv4。
7. 目标地址 (Target Address) :
- 填写: 192.168.5.178
- 直接在下拉框里输入,或者如果下拉框里没有,就手动打进去。
8. 目标端口 (Target Port) :
- 填写: 8081
- 这是你内网博客服务的实际端口。
9. 打开防火墙端口 :保持 勾选 。
- 这非常重要,勾选后你就不用去防火墙界面手动添加规则了,插件会自动帮你放行端口。
---
SOCAT 转发:总结配置清单

第四步:开放防火墙端口
OpenWrt 默认会拦截所有从外网进入的流量,所以你需要允许外网访问路由器的 8081 端口。

1. 进入 网络 (Network) -> 防火墙 (Firewall) -> 通信规则 (Traffic Rules) 。
2. 向下滚动找到 打开路由器端口 (Open ports on router) 或点击 添加 (Add) :
- 名称 :随便填,比如 Halo-IPv6 。
- 协议 :TCP。
- 源区域 (Source zone) :WAN / WAN6。
- 目标区域 (Destination zone) : 设备本身 (Device / Input) (这一步很关键,因为是用 socat 转发,流量是先到路由器的)。
- 目标端口 (Destination port) : 8081 。
- 操作 (Action) :接受 (Accept)。
3. 保存并应用 。
第五步:验证访问
1. 手机关闭 WiFi ,使用 4G/5G 流量(手机网络原生支持 IPv6)。
2. 在浏览器输入: http://v6.seguzhixue.top:8081 (域名是你刚才在 AliDDNS 里设的)。
3. 如果你能看到博客界面,恭喜成功!
💡 常见问题与提示
- 为什么不用传统的“端口转发”界面?
OpenWrt 的传统端口转发界面主要是针对 IPv4 NAT 的。虽然新版也支持 IPv6 转发,但那通常要求内网设备(NAS)也有公网 IPv6 地址。 相比之下,Socat 方案更稳定,因为它不受内网 NAS IPv6 地址变化的影响,只要路由器有网就能连。