ASUS-BE.png

这份教程采用了最稳妥、风险最低的方案。

此方案通过“GUI 设置无状态 (Stateless) + 脚本补充 DHCPv6”的方式,完美实现了 Android 手机(仅支持 Stateless)和其他设备(需要 DHCPv6)的共存。

在这个模式下会同时分配一个有状态(Stateful)的IPV6地址和一个无状态(Stateless)的ipv6地址。


1. 背景与目标

  • ​问题​:Android 设备原生不支持 IPv6 Stateful (DHCPv6) 模式,只支持 Stateless (SLAAC)。如果路由器强制设为 Stateful,Android 将无法获取 IPv6 地址。

  • ​需求​:同时满足 Android 手机(需要 SLAAC)和 NAS/PC(需要 DHCPv6 以获取固定后缀 IP)的需求。

  • ​适用设备​:华硕路由器(官方固件或梅林固件),特别是对参数敏感的 WiFi 7 新平台(如 RT-BE86U)。

2. 准备工作

  1. ​开启 SSH​:

    • 进入路由器后台 -> 系统管理 (Administration)​ -> 系统设置 (System)​。

    • ​Enable SSH​ -> ​LAN Only​。

  2. 开启 JFFS 脚本支持 (梅林固件/部分官改固件):

    • 在同一页面,找到 Persistent JFFS2 partition​ 部分。

    • ​Enable JFFS custom scripts and configs​ -> ​是 (Yes)​。

    • 应用本页面设置。


3. 操作步骤(共两步)

3.1:修改路由器 GUI 设置

这一步是为了保证 Android 设备能原生支持,同时避免修改复杂配置文件导致的崩溃。

  1. 进入 IPv6​ 设置页面。

  2. ​联机类型 (Connection type)​:Native。

  3. ​接口 (Interface)​:PPP (如果是拨号) 或 Passthrough (视光猫情况而定,推荐 Native 拨号)。

  4. ​关键设置​:将 IPv6 自动配置设置 (IPv6 IP Setting)​ / LAN IPv6 Setting​ 改为:Stateless (无状态)。

  5. 点击 ​应用本页面设置​。

​此时状态​:Android 手机已经可以获取 IPv6 并上网了,但 NAS/PC 暂时失去了 DHCPv6 分配的静态地址。

3.2:通过 SSH 脚本“补全”DHCP 功能

这一步我们手动启动 DHCPv6 服务,通过脚本“无损”地追加配置。

  1. 使用终端(CMD/PowerShell/Putty)SSH 登录路由器。

  2. 直接复制以下整段代码并在 SSH 窗口中粘贴执行(这会自动生成脚本,避免格式错误):

Bash

# 生成配置脚本
cat << 'EOF' > /jffs/scripts/dnsmasq.postconf
#!/bin/sh
CONFIG=$1
source /usr/sbin/helper.sh

# 说明:当前 GUI 处于 Stateless 模式,系统默认未开启 DHCPv6 服务。
# 我们手动追加一行 dhcp-range 配置,强制激活 DHCPv6 服务。
# 效果:Android 继续使用 Stateless,其他设备同时获得 Stateless + DHCPv6 地址。

# ::1000,::2000 代表分配的后缀范围 (例如 240e:...::1005)
# constructor:br0 代表自动抓取当前 WAN 口获取的前缀
# 86400 是租期

echo "dhcp-range=lan,::1000,::2000,constructor:br0,64,86400" >> $CONFIG
EOF
  1. 赋予权限并重启服务:
    复制以下命令执行:

Bash

chmod +x /jffs/scripts/dnsmasq.postconf
service restart_dnsmasq

4. 验证结果

执行完上述操作约 30 秒后:

  1. ​Android 手机​:

    • 开关飞行模式。

    • ​结果​:能迅速连接 WiFi,并获取到 240e:​ 开头的公网 IPv6 地址。

  2. ​电脑 (Windows) / iPad​:

    • ​结果​:查看网络详细信息,应该能看到多个 IPv6 地址。

      • 一个是临时的、乱序的(SLAAC,用于上网)。

      • 一个是 ::1xxx​ 结尾的(DHCPv6,用于内网管理)。

  3. ​网络连通性​:

    • 所有设备均可正常访问 IPv4 和 IPv6 网站,且 DHCP 服务稳定。


5. 紧急救援(如果断网)

如果操作后导致无法上网,请拔掉路由器电源重启。如果依然不行,请按以下步骤删除脚本恢复原状:

  1. SSH 连接路由器。

  2. 执行删除命令:
    Bash

    rm /jffs/scripts/dnsmasq.postconf
    
  3. 重启 DNS 服务:
    Bash

    service restart_dnsmasq
    
  4. (可选) 去路由器后台把 IPv6 改回原来的模式。


Wait...