这个问题困扰了我大半天,直到不久前我才终于解决了它。不幸的是,我仍然不明白为什么这个问题首先出现,或者为什么我的最终“解决方案”有效。我希望有人能帮我解释一下。
我们有一个 ADSL 连接,并使用 D-Link DSL-320B 调制解调器。我们有一个连接到此调制解调器的 D-Link DIR-120 路由器。直到今天,一切都运行良好,我们断开了路由器的连接,并将一台计算机(称为 A)直接连接到调制解调器,因为出于某种原因,它通过路由器获得了不可用的连接。我们后来还对 DIR-120 路由器进行了出厂重置。
不幸的是,完成上述步骤后,路由器不再从 ADSL 连接接收任何 IP 地址(通过 DHCP)。在尝试调试此问题时,我注意到我的笔记本电脑(称为 B)也没有获得任何 IP 地址(当直接连接到调制解调器时)。我注意到在尝试连接时,以下系统日志条目不断重复:
6 月 2 日 19:30:12 jiddo-laptop dhclient:在 eth0 上向 255.255.255.255 端口 67 发送 DHCPDISCOVER 间隔 3 6 月 2 日 19:30:12 jiddo-laptop dhclient:从 80.70.144.254 发送 80.70.144.221 的 DHCPOFFER 6 月 2 日 19:30:12 jiddo-laptop dhclient:在 eth0 上向 255.255.255.255 端口 67 发送 80.70.144.221 的 DHCPREQUEST 6 月 2 日 19:30:28 jiddo-laptop dhclient:最后一条消息重复了 2 次
此时计算机 A 仍然可以正常连接(直接连接到调制解调器时)。
然后我尝试将路由器的 MAC 地址更改为任意地址(计算机 B 的 MAC 地址的副本,但最后一位数字增加了一位)。路由器仍然没有分配到任何 IP 地址。
最后,我尝试让路由器克隆第三台计算机(称为 C)的 MAC 地址。C 从未直接连接到调制解调器。这样做有效。克隆计算机 C 的 MAC 地址后,路由器立即被分配一个 IP 地址,互联网连接与之前一样。
现在,我的问题是,为什么计算机 B 和路由器的原始 MAC 地址无法获取 IP 地址,而其他两台计算机却工作正常?为什么更改为任意 MAC 地址不起作用,而克隆另一台计算机的 MAC 地址却有效?路由器的 MAC 地址是否可能由于某种原因被 ISP 阻止(以及是什么原因导致的)?
我发现这问题,但我的情况更像是将一些 MAC 地址列入黑名单,而不是只允许一个 MAC 地址。
有人有遇到过这种情况吗?或者了解过这种情况吗?
答案1
ADSL/DSL 调制解调器通常会学习所连接设备的 MAC 地址,并且只针对该 MAC 地址工作。通常,这是在调制解调器启动时完成的。在其他情况下,MAC 地址注册在 ISP 运行的上游服务器上。
在某些情况下,记忆的 MAC 地址会在一段时间后过期。我预计这种情况会在 DHCP 租约到期时发生。MAC 地址可能被记忆在 ISP 的 DHCP 服务器上,而不是调制解调器上。(您的调制解调器将作为授权设备在他们那里注册。)在这种情况下,租约到期后第一个请求地址的设备将被允许注册。我预计这就是您遇到的情况。您可以通过断开计算机的连接直到租约到期并连接其他设备来验证这一点。
我相信有些 ISP 使用 DHCP 服务器,该服务器根据 ADSL/DSL 调制解调器的标识跟踪租约。租约随后会跟踪每个调制解调器的 MAC 地址、分配的 IP 地址和租约到期时间。通常,DHCP 服务器会跟踪 MAC 地址、分配的 IP 地址和到期时间。在这两种情况下,DHCP 请求中提供的其他信息(例如设备名称)也可能被跟踪。
许多家庭/办公室路由器可以配置为克隆所连接计算机的 MAC 地址。这允许它们接管现有的 DHCP 租约。将 DIR-120 重置为出厂设置将清除所有克隆的 MAC 地址,从而阻止您重新获得与克隆的 MAC 地址绑定的租约。
您可以在断开计算机连接之前触发 DHCP 释放来切换 MAC 地址。这应该会终止现有租约,从而允许您使用新的 MAC 地址获取新租约。使用新 MAC 地址获取租约可能会为您带来新的 IP 地址。DHCP 续订通常不会更改 IP 地址。