OpenWrt 无线中继上级路由时配置 IPv6 地址

status
Published
type
Post
slug
openwrt-wifi-client-relay-mode-config-ipv6-addr
date
Aug 26, 2024
tags
Config
OpenWrt
Share
summary
文章梳理了在 OpenWrt 路由器配置无线中继时如何设置 IPv6 地址,并详细介绍了如何通过添加 WWAN6 接口和配置 LAN 接口,实现 IPv6 地址的自动分配和管理,同时解释了 SLAAC 和 DHCPv6 两种地址配置方法的应用和区别。

背景

OpenWrt 上配置 IPv6 之前大学教育网已经时已经配过好多次了。但那都是基于有线接入的,当下的情景是需要在无线中继上级路由器的同时配置本地的 IPv6 地址。
下面仅仅是针对个人网络环境配置过程中的简单记录,主要为了个人备忘,故记载不是很详尽,也没有针对其他网络环境的说明,如果有需要,可以评论联系我。

IPv6

网际协议第6版(英语:Internet Protocol version 6,缩写:IPv6)是网际协议的最新版本,用作互联网的协议。 用它来取代IPv4主要是为了解决IPv4地址枯竭问题,同时它也在其他方面对于IPv4有许多改进。
notion image
如上图,IPv6地址为128位;分为8组,每组用四个英数字符号表示,用冒号隔开。
在 IPv4 中,我们可以按自己的需求通过子网掩码来划分子网,直至分配完所有 IP 地址。而在 IPv6 中。只有第 4 组(48 - 64 位)可以用来划分子网,如果前 64 位已经都用了,即便还剩下 64 位,也无法再进行子网分割了。
用于划分子网的前面部分通常称之为前缀,前缀最大就是 64 位(前四组)了,剩下的 64 位全部是用于子网中设备分配 IPv6 地址。后续我们分配 IPv6 地址会看到的 IPv6-PD 就是指这个,PD = Prefix Delegation。

配置

💡
前提:
  • 一台刷入了 OpenWrt 或 ImmortalWrt 等第三方固件的路由器,已经配置好了 Wi-Fi 中继,可以通过无线接入上级路由器进而联通外网,IPv4 NAT 正常工作。
  • 上级路由器可以正常分发 IPv6 地址。
notion image
如上图示,路由器已经通过 WI-FI Client 模式加入到了上级路由器的网络环境中,与此同时也新增了一个接口 WWAN
notion image

添加 WWAN6 接口

路由本身是存在 WANWAN6 两个接口的,这两个主要是为了有线 WAN 口接入网络时使用(使用无线中继其实可以暂时删了这两接口)。这里我们不去动,而是给我们无线中继的环境新增一个 WWAN6 接口,用来作为 DHCPv6 客户端,来获取上级路由器分发的 IPv6 地址信息。
依次点击 网络 - 接口 - 添加新接口,其中设备设置为已经中继网卡,一般显示为 无线网络: Client “上级路由 SSID”
notion image
notion image
这里再指定设备,然后进入高级设置:IPv6分配长度设为禁用,勾选委托IPv6前缀 (不勾选的话 LAN 没有 IPv6 地址)
notion image
然后进入防火墙设置,选定区域和已有的 WWAN 一致即可。
notion image
然后进入 DHCP 服务器设置,配置 DHCP 服务器,IPv6 设置中将 RA 服务、DHCPv6 服务,NDP 代理 均设置为中继模式即可。
notion image
之后保存应用配置,等待上级路由器响应。此时不出意外已经可以看到 WWAN6 接口获取到了 IPv6 地址。
notion image
我这里网络还不错,分配了 IPv6-PD,虽然 /64 就一个子网,但老话说,要啥自行车啊 🤣

LAN 接口配置

委托IPv6前缀:根据实际情况决定是否勾选(决定下游的设备能不能用 PD 继续划分子网。)Pv6分配长度:一般选择64就,除非你继续要往下分配子网。(不要禁用)
notion image
 
指定的主接口:不要选 RA服务:服务器模式 DHCPv6服务:服务器模式 本地IPv6 DNS服务器:勾选 NDP代理:禁用
notion image
 
在使用 IPv4 环境中,通过 DHCP 我们就可以给我们路由器下的设备分配 IP 。在 IPv6 环境中,地址分配方式主要有两种:SLAAC(Stateless Address Autoconfiguration)和 DHCPv6(Dynamic Host Configuration Protocol version 6)。
展开查看 SLAAC 与 DHCPv6 相关解释
💡
SLAAC (Stateless Address Autoconfiguration)
SLAAC是一种自动配置IPv6地址的方法,它允许设备在没有服务器干预的情况下,通过网络信息(如路由器发出的RA消息)自动生成自己的IPv6地址。
工作流程
  1. 获取前缀:设备从路由器接收到的路由器通告(Router Advertisement, RA)消息中获取网络前缀。
  1. 生成接口ID:设备使用自己的网络接口信息(通常是MAC地址的某种变换)生成接口标识符(Interface ID)。
  1. 组合地址:将网络前缀和接口标识符组合成完整的IPv6地址。
  1. 重复地址检测:设备通过发送邻居请求消息(Neighbor Solicitation)来确保生成的地址是唯一的。
SLAAC不需要中心服务器来分配地址,因此它被称为“无状态”的,因为它不维护设备地址分配的状态信息。这种机制简单且高效,但在某些情况下(如需要集中管理地址或需要分配其他网络配置信息时),可能不够灵活。
 
DHCPv6 (Dynamic Host Configuration Protocol version 6)
DHCPv6是DHCP协议的IPv6版本,用于动态分配IPv6地址和其他网络配置参数(如DNS服务器地址、域名等)给网络设备。
工作流程
  1. 发现服务器:设备发送DHCPv6请求消息(DHCPv6 Solicitation)以发现DHCPv6服务器。
  1. 提供地址:DHCPv6服务器回复提供消息(DHCPv6 Offer),提供一个或多个IPv6地址。
  1. 请求地址:设备选择一个地址并向服务器发送请求消息(DHCPv6 Request)请求使用该地址。
  1. 确认地址:服务器发送确认消息(DHCPv6 Acknowledgment)确认分配地址,并可能提供其他配置信息。
DHCPv6允许集中管理和控制地址分配,服务器可以维护地址池和已分配地址的状态。这种“有状态”的地址分配方式适合需要严格控制网络资源和配置的场景。
总的来说,
  • SLAAC:更适合简单的网络环境,不需要服务器,自动配置,但不支持集中管理。
  • DHCPv6:提供更复杂的管理功能,支持集中管理和配置,但需要服务器支持。
这两种方式可以单独使用,也可以结合使用,例如,设备可以通过SLAAC获得IPv6地址,同时通过DHCPv6获取其他网络配置信息。这里我们就同时使用。
 
勾选启用 SLAAC (下游设备会使用 SLAAC 自动获取 IP ) RA 标记中添加受管配置(M)(下游设备会使用DHCP获取 IP )
notion image
当这些全部设置完成后,网络下的设备就可以获取IPv6地址并且通过IPv6上网了。
 
 

参考