OpenWrt 下 IPv6 配置

1. PPPoE 拨号接口设置

进入 OpenWrt 后台 「网络 → 接口」,编辑 wan 接口(通常为此名称),修改以下选项:

  • 获取 IPv6 地址自动
  • 委托 IPv6 前缀:✅ 勾选

wan 口的 「DHCP 服务器 → IPv6 设置」 项:

  • 指定的主接口:❌ 不勾选
  • RA 服务:禁用
  • DHCPv6 服务:禁用
  • NDP 代理:禁用

📌 说明
保存并应用后,通常会多出一个名为 wan_6 的虚拟动态接口。因为大多数运营商通过 DHCPv6 下发地址,而我们之前选择了「自动」,OpenWrt 识别到后会自动新建一个客户端。若运营商支持,此时应能看到获取的前缀(PD):

PPPoE WAN 接口状态

⚠️ 注意
如果只有 fe80:: 开头的地址,说明尚未获取到 IPv6(该地址仅为自动生成的链路本地地址)。


2. 分配 IPv6 地址

路由器获得一个网段后,需要为每个内网设备分配公网 IPv6 地址。
有两种方案(可单独使用,也可同时使用):

  • SLAAC(无状态地址自动配置)
  • DHCPv6(有状态)

本文仅介绍 SLAAC 方式。


2.1 SLAAC 简介

SLAAC 是无状态地址自动配置协议,无需专用的 DHCP 服务器维护状态,客户端自行生成、协商并通告地址。

SLAAC 是唯一全平台支持的协议
📄 Android 明确表示不支持有状态 DHCPv6
谷歌认为有状态协议对终端用户没有明显优点,还会带来隐私问题,属于 IPv4 时代的遗留习惯。

SLAAC 的核心是路由器定期发送 RA(路由通告),其中包含前缀信息以及设备是否应尝试通过 DHCPv6 请求地址的标记。


2.2 配置纯 SLAAC

进入 「LAN 口设置 → 高级设置」

  • 委托 IPv6 前缀自选(决定下级设备能否获得前缀,不影响 IPv6 地址本身的分配。不懂可以勾选)
  • IPv6 分配长度64 或保持默认(启用委托前缀时,决定分配的前缀长度,划分多个子网时需要)
  • IPv6 分配提示:保持默认(划分子网时可选项)
  • IPv6 后缀:可填写 ::1,则当前接口的 IPv6 地址类似 240e:aaaa:bbbb:cccc::1

LAN 口的 DHCP 服务器 → IPv6 设置

  • 指定的主接口:❌ 不勾选
  • RA 服务:服务器模式
  • DHCPv6 服务:禁用
  • 本地 IPv6 DNS 服务器:✅ 勾选
  • NDP 代理:禁用

IPv6 RA 设置

  • 默认路由器:自动
  • 启用 SLAAC:✅ 勾选
  • RA 标记:(因为我们根本没有 DHCPv6 服务器)

2.3 验证结果

保存并应用后,所有内网设备应都能生成公网 IPv6 地址。