flyingfz

通过路由器的 DHCP 获取 分别获取 IPv4 和 IPv6 地址时,在客户端列表页里看到的 MAC 地址不一样。

  •  
  •   flyingfz · Jan 6, 2025 · 2275 views
    This topic created in 666 days ago, the information mentioned may be changed or developed.

    请教大家一个问题, 最近刚更换了一个 Tp-Link 的路由器,带 IPv6 功能, 并且内网里的各个机器也获取到了 IPv4 和 IPv6 的地址, 通过 IPv4 以及 IPv6 也都能正常进行内、外网的网络通讯。

    进入路由器后台--> 基本设置 --> LAN 设置 ,看到 “客户端列表”页面 , 以及 “IPv6 客户端列表”页面, 这两个页面里, 相同机器,MAC 地址不一样。

    比如, 在 “客户端列表”,里的一个机器, 主机名:server-1 , IP:192.168.1.40 ,MAC 地址:40-A8-F0-3F-5A-57 但在 “IPv6 客户端列表” , 找到这个 server-1 的记录:
    主机名:server-1 , IPv6:240e:xxxx:xxxx:xxxx::24 ,MAC 地址:C9-4B-54-E5-6F-2A .

    登陆这个 server-1(ubuntu 20.04) , 看到 IPv4 地址 和 IPv6 地址,与上面提到的地址都对的上,但是 MAC 地址是 40-A8-F0-3F-5A-57 . 而看不到 C9-4B-54-E5-6F-2A

    请教下大家, 为啥会出现不同协议下 DHCP 客户端的 MAC 地址不一致?

    11 replies  •  2025-01-07 09:11:36 +08:00
    kokutou
    kokutou
    Jan 6, 2025 via Android
    1
    ipv6 有那个临时地址,保护隐私的,你看获取的所有 v6 地址,有好几个。
    flyingfz
    flyingfz
    OP
    Jan 6, 2025
    2
    @kokutou IPv6 确实是有好几个。 我的问题是, 为啥 MAC 地址会不一样。

    咨询过 TP-link 的在线客服,他们回复: 路由器是根据记录到的终端设备发出的报文来显示对应的 MAC 地址
    但,为啥 DHCPv6 报文里,这个机器的 MAC 地址就会不一样呢
    flyingfz
    flyingfz
    OP
    Jan 6, 2025
    3
    不知道大家能否复现这个现象,麻烦 有 TP-link 路由器 的可以进入后台看看 。
    titanium98118
    titanium98118
    Jan 6, 2025
    4
    试试把 windows 的 ipv6 隐私扩展关闭,MAC 地址是否能对应上?
    netsh interface ipv6 set privacy state=disable
    flyingfz
    flyingfz
    OP
    Jan 6, 2025
    5
    @titanium98118 好。 我找台 win 试试。
    ranaanna
    ranaanna
    Jan 6, 2025
    6
    DHCPv6 与 DHCPv4 是不同的。DHCPv4 用 MAC 地址作为客户端 ID 。DHCPv6 用 DUID+IAID ,分别是设备和接口的 ID 。虽然 IAID 的后 24 位很可能 MAC 地址的前 24 位相同,但因为 IAID 只有 MAC 的部分,DUID 与 MAC 无关,从 DUID+IAID 是不能导出 MAC 地址的,所以那个 C9-4B-54-E5-6F-2A 只是一串长度和 MAC 地址相同的二进制码,并不是 MAC 地址,当然,也不可能是 DUID+IAID ,因为那样的话,长度会超过 128+40
    ranaanna
    ranaanna
    Jan 6, 2025
    7
    所以,所有楼上说的有关隐私扩展的都不对。Windows 可以用 ipconfig/all 查看 DUID 和 IAID 。可以看看它们的和 C9-4B-54-E5-6F-2A 的关系。注意显示的 IAID 是十进制,可以转成十六进制看看其和 MAC 地址的关系
    flyingfz
    flyingfz
    OP
    Jan 6, 2025
    8
    @ranaanna 非常感谢。 下午搜到了类似的内容,但没有你回复的清晰。 谢谢,
    我试试看能否解析出出来。
    boubou
    boubou
    Jan 6, 2025
    9
    如果是 macOS 或 iOS 有没有可能是因为开启了 Wi-Fi 的 私有网络 导致的呢.
    flynaj
    flynaj
    Jan 7, 2025 via Android
    10
    是你哪个破路由器的问题,要完整 ipv6 还是上 openwrt, dhcp v6 使用 duid 来标识,你看到的那个应该是 duid 的一部分。有 ip neigh 命令可以看所有存活的 Mac 地址关联。
    flyingfz
    flyingfz
    OP
    Jan 7, 2025
    11
    @ilanting 我也认为是 TP-link 路由器的问题。
    按照 IPv6 的规范,MAC 地址 这一列应该是 DUID 才对。
    对 IPv6 相关协议不熟悉,看到这里的 MAC 地址,还以为和 IPv4 、DHCP v4 一样,也是用 MAC 标志每个客户端。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5262 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 06:12 · PVG 14:12 · LAX 22:12 · JFK 01:12
    ♥ Do have faith in what you're doing.