我在公司有一台打印机,出于某种原因,路由器拒绝通过 DHCP 预留为该打印机分配特定 IP,因此我不得不为其配置静态 IP。有时打印机会关闭。我想知道当我打开打印机时,如果其 IP 已通过 DHCP 协议被另一台设备占用,网络会如何表现?
这会引起冲突吗?
这不会被用作 DoS 攻击吗?
假设我在工作中讨厌某个人,我所需要做的就是将他的 IP 分配给我的机器并打断他的工作,并不断重复这样做。
答案1
我会尝试一下。
无论您运行什么软件,DHCP 都应该能够完成两项任务:
- 保留池
- DHCP 范围创建
如果您运行 Windows Server,此链接将有助于创建范围:
http://technet.microsoft.com/en-gb/library/dd759218.aspx
如果您正在运行 Linux 服务器,则需要修改 dhcp 配置文件中的作用域内容:
Red Hat/CentOS/Fedora: */etc/dhcpd.conf*
Ubuntu/Debian: */etc/default/dhcp3-server*
这是 Linux 上的示例 DHCP 配置文件(两者):
http://pastebin.com/WKKjVryd
当您正确设置 DHCP 服务器时,您将不会遇到冲突,在这种情况下,您将收到。您还必须设置要向其分配地址的最大客户端数量。除了前面的评论之外,您还必须有一个可行的子网掩码。即启用完整的 254 主机地址但为其分配 /27(255.255.255.224)将仅允许它分配 30 个主机(不包括广播和网络地址)。
但是,如果您使用的是家用路由器,这应该很简单,只需说明您希望使用的 IP 范围,默认情况下,开箱即用的解决方案将以此作为标准:
IP Range: 192.168.x.0 (x being a number, usually 0 or 1) Subnet Mask: 255.255.255.0 (the .0 indicates it is /24 and allows for 254 hosts (excluding the broadcast and network address))
我建议您修改范围和预留列表,将其扩展以允许更多客户端避免冲突(我的经验表明,冲突或 DHCP 身份验证被拒绝是由于缺少可用地址或错误插入了 MAC 地址)并仔细检查分配的 MAC 地址。您还可以使用 Wireshark 并使用“dhcp”进行过滤,以查看服务器和关联客户端是否正在发送 DHCP Discover、DHCP Offer、DHCP Request、DHCP Accept (DORA) 数据包。另一件事是检查正在发送的 ARP 请求,因为 DHCP 是第 3 层服务(IP),并且依赖第 2 层服务(ARP)来完成其工作。
如果 Discover 失败,则表示它看不到 DHCP。如果 Offer 失败,则表示 DHCP 没有足够的地址可供分配。
另外,一定要检查将地址放入 DHCP 限制池的错误。如果地址位于限制池中(或在家庭路由器上,MAC 过滤),则 DHCP 服务器将自动拒绝/拒绝将 DHCP 提供数据包发送给关联请求客户端。
关键点:检查范围、检查限制,如果您希望它们在网络上,则仅将项目添加到预订,重新启动服务器(或者如果不能,请重新启动服务(不要重新加载)),重新关联打印机。
您还可以在线研究多种方法来避免使用 DHCP 服务器进行 Rogue DHCP 和 MiTM 攻击。
答案2
本质上不存在“优先级”。将会发生的情况是,这两个设备将试图响应相同的 ARP 查询,并且行为将不可预测。
有时其中一个会工作一段时间然后停止。有时另一个可能会工作一段时间。或者两者都不起作用。
事情可能在一段时间内看似有效,然后却神秘地停止了。
同一网段上的其他一些设备可能能够访问其中一个,也可能不能。
正如其他人所说,如果 DHCP 服务器足够复杂,它可能会在分发范围内的地址之前检查地址使用情况。实际上,这取决于每个相关设备上 IP 堆栈的具体实现。
答案3
如果您的 DHCP 服务器尚未分配 IP 地址,则它不知道该 IP 地址正在使用中。通过设置 DHCP“保留”可以缓解这种情况 - 这正是您需要做的。
进入 DHCP 服务器并为该 IP 地址分配保留,以便服务器不会尝试将该 IP 地址分配给另一个设备。
您没有告诉我们您的 DHCP 服务器正在运行什么软件,因此我们无法提供有关如何执行此操作的具体说明。
答案4
如果两个设备在分配 IP 之前都检查该 IP 是否正在使用,则先获取 IP 的设备将保留该 IP。
如果两台设备均不执行此类检查,则当两台设备均在线时,网络连接将变得不稳定。DHCP 服务器可以代表 DHCP 客户端执行检查,但不要指望它。
不要分配静态 IP,因为静态 IP 也位于 DHCP 池中。唯一可行的方法是 DHCP 服务器知道该 IP 是为哪个 MAC 地址保留的。
如果设备支持 IPv6,您可以使用它。如果可以根据 MAC 地址生成 IPv6 地址,那么您的问题就会迎刃而解。
就潜在的 DoS 攻击而言,可以执行此类攻击。不要将攻击者和受害者放在同一网段上。在它们之间放置具有过滤功能的路由器或交换机以将它们分开。