我一直在尝试更新 wlan0 的 IPv4,但似乎无法摆脱几个月来一直使用的同一个 IP,我尝试过这些
dhclient -r wlan0
dhclient -v wlan0
nmcli con down id wifiman
nmcli con up id wifiman
rm riv /var/lib/dhcp/dhclient*
我也尝试过直接删除地址
ip address del 192.168.X.XXX dev wlan0
必须采取某种措施来解决这个问题才能获得新的 IP 地址,对吗?
答案1
DHCP 服务器通常会保留 MAC 地址到 IP 地址映射的缓存,以便它们可以将相同的 IP 地址重新分配给返回的客户端。
实际情况是,您正在释放 IP 地址租约,然后向 DHCP 服务器请求 IP 地址。服务器知道它之前给您过 192.168.X.XXX(您有相同的 MAC 地址),因此它会重新发布该地址。
这听起来像是一个 XY 问题——你是什么真的试图完成?
答案2
我确信持久 IP 地址是路由器内置软件的结果。根据之前的租约和连接到路由器的设备的 MAC 地址,路由器会再次将完全相同的地址提供给完全相同的设备。
如果您拥有路由器的管理权限,则可以更改用于 DHCP 的地址范围。例如,如果 DHCP 的范围现在是 192.168.1.2 到 192.168.1.51(50 个地址),则将其更改为 192.168.1.101 到 192.168.1.150。重新启动后,您肯定会获得不同的 IP 地址。
您还可以在网络管理器中设置静态 IP 地址,如下所示:https://i.stack.imgur.com/mdBcr.jpg当然,一定要选择路由器 DHCP 池之外的地址。这样,您就可以使用并随时更改您指定的地址。
答案3
正如其他人所说,“旧” IP 地址正在重新分配给您,因为 MAC 地址已被识别且未更改。我通过更改(欺骗)MAC 地址获得了新的 IP 地址,效果最好。
假设您可以改变它,那么有几种方法应该可以起作用......
- 使用您不再使用(并且很长时间未使用)的设备的 MAC 地址。
- 用随机字节替换一个或多个字节(或所有字节)。例如:用
替换。00-01-02-FD-FE-FF
99-01-44-FD-FE-FF
- 将 MAC 地址视为数字并增加其值。例如:
替换FD-FE-00-01-02-FF
为FD-FE-00-01-02-00
或FD-FE-00-01-03-00
- 交换任意 2 个或 3 个字节。例如:
替换00-01-02-FD-FE-FF
为01-00-02-FD-FE-FF
或02-01-00-FD-FE-FF
- 将字节旋转一个或多个位置。例如:用OR
替换00-01-02-FD-FE-FF
FF-00-01-02-FD-FE
01-02-FD-FE-FF-00
MAC 地址对于本地网络中的每个/所有设备都必须是唯一的(不是全局唯一的)。方法 1 可能是避免冲突的最万无一失的方法,但重复现有本地 MAC 地址的可能性非常低。
如果确实发生了冲突,只需重试。我最喜欢的是方法 5(或 4),因为如果您需要/想要恢复到原始 MAC 地址,这种方法更简单。