问个简单的 DHCP 问题。

2022-12-12 13:50:24 +08:00
 emma3

如果 DHCP 范围是 192.168.1.100-200 ,有个设备设置了 192.168.1.110 的固定 IP ,那么请问 DHCP 服务器在分配 IP 地址的时候,会否避开这个已被固定了的 IP 地址?

1610 次点击
所在节点    宽带症候群
12 条回复
NI3TECH
2022-12-12 13:54:37 +08:00
是的,DHCP 服务器会避开已经被固定的 IP 地址。DHCP 服务器会跟踪已分配给网络中各设备的 IP 地址,并在分配新的 IP 地址时避开已被使用的地址。这样可以确保网络中的每个设备都拥有唯一的 IP 地址,并且避免 IP 地址冲突的问题。
XiLingHost
2022-12-12 13:55:51 +08:00
看具体的实现,一般会自动规避,但是如果是某些奇奇怪怪的实现就可能导致 IP 冲突,还是比较建议把静态 IP 放到单独的池子里来防止这种问题
Tumblr
2022-12-12 14:01:24 +08:00
可能,但不保证。
你说的这种情况一般会采用两种方式(之一):
1. 使用 DHCP address pool 之外的作为固定地址,比如你可以设置 10.192.168.90
2. 在 DHCP 服务器上对设备的 MAC 地址进行绑定,这样每次分配的时候都分到这个地址
yuhuazhu
2022-12-12 14:13:42 +08:00
如果是设备自己设置静态 ip ,先入网,先入坑,否则坑被占了,就 ip 冲突了
如果是路由器设置的静态 ip ,那坑位是预留好的,不会被别的设备占了
如果你还担心,可以把设备 ip 设置在 dhcp 范围外
VZMZZZ
2022-12-12 14:21:49 +08:00
为了避免引起地址冲突带来的问题,在终端收到服务器的 DHCP ACK 之后,终端还会对外进行一次免费 ARP 请求,对整个 VLAN 进行广播告知我将要使用这个地址了,如果有人回应了这个免费 ARP 说明存在歧义者,证明了地址存在冲突的可能。如果没有免费 ARP 的响应证明网络中这个地址是唯一的,可以正常使用。

当终端收到了免费 ARP 的响应之后,认为地址冲突,就会释放自己的已获取地址通过 DHCP Decline 报文与服务器进行取消,重新获取新的 IP 地址以避免问题。
viberconnection
2022-12-12 14:44:30 +08:00
@VZMZZZ

???看到你的回覆我網上搜尋了一下才知道 「免費 ARP 」是什麼意思
XD 臺灣這邊都把它叫做「無償 ARP 」的
cslive
2022-12-12 17:15:14 +08:00
固定 ip 我都是 200 开始分配,dhcp 分配 1-200
cnbatch
2022-12-12 19:02:00 +08:00
@VZMZZZ
@viberconnection
除了“免费 ARP”,还有另一个没那么怪的称呼:无故 ARP

当然了,最精准的应该还是维基百科采纳的通用翻译:无回报 ARP (这个翻译也能 google 得到相关资料)
yolee599
2022-12-13 08:44:08 +08:00
如果固定 IP 的机器没开机,IP 可能会被回收,分配给其他机器
beyondgamp
2022-12-13 16:53:44 +08:00
@VZMZZZ 厉害了 所有的 dhcp client 都是这个逻辑吗?有标准规范吗
emma3
2022-12-13 17:29:58 +08:00
@beyondgamp 我觉得这个是标准,但众多品牌高低档什么类型的路由器产品都有,无论硬件软件设计,肯定有非标准的情况出现,有时候网络的古怪问题,就是因为有些不遵从标准的产品出现。
例如某些国产品牌,LAN 端的 DHCP 关闭了,WAN 口竟然会有 DHCP 释放出来,还无法关闭,这种一般都是软件 bug ,但遇到了,真的会让你头痛。
ChristianSwift
2023-01-08 16:20:22 +08:00
@NI3TECH 你这怎么一股子 ChatGPT 味

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901919

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX