问题描述

一朋友说使用爱快和Openwrt可以获取IPv6地址,但是使用RouterOS就无法获取,虽然RouterOS的IPv6多少有点问题,但是这个一直显示searching,无法获取IPv6不应该的。

358-1.png

问题分析

1、开启日志分析,System -> Logging -> Rules -> + ,Topics选择 dhcp,点击 OK

358-2.png

2、抓取到如下日志,Router已经给出解释了,serverid返回了6660,不是DHCPv6 DUID的规范的,ROuterOS就报错了bad server DUID,然后忽略了服务器的回应导致无法获取IPv6。

DHCPv6交互过程中,客户端、服务器都有一个唯一的标志符DUID,其主要用途用于DHCPv6交互过程中互相标志对方。服务器可以用Client DUID标志客户端,并可以将其用于本地的地址分配策略;客户端可以用Server DUID来标志服务器。DUID包括三种生成方式(不止这么三种):

DUID-LLT(DUID Based on Link-layer Address Plus Time):基于时间和链路层地址生成DHCPv6设备DUID值。

DUID-EN(DUID Assigned by Vendor Based on Enterprise Number):基于IANA注册的企业号码生成DHCPv6设备DUID值。

DUID-LL(DUID Based on Link-layer Address):基于链路层地址生成DHCPv6设备DUID值。

358-3.png

解决方法1

修改服务器的Server DUID,这个应该是最正确的方法。(但是通过我这边的了解,目前由于不可描述原因无法修改,而且得知的是老的服务器也会慢慢改成这个)

解决方法2

需要RouterOS对这个不规范的Server DUID进行忽略,继续使用这个服务器的回应。目前大部分路由都可以回应,这个可能比较现实。

其实也就是毫无解决办法,要么运营商妥协修改,要么RouterOS妥协修改。正确Server DUID(同地区同运营商不同的基站)

358-4.png

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。