AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 619260
Accepted
Matka
Matka
Asked: 2014-08-10 09:53:57 +0800 CST2014-08-10 09:53:57 +0800 CST 2014-08-10 09:53:57 +0800 CST

谁拥有最高优先级的 DHCP 或静态 IP?

  • 772

我有一台打印机在工作,由于某种原因,路由器拒绝通过 DHCP 保留为该打印机分配特定 IP,我不得不使用静态 IP 对其进行配置。有时打印机关闭。我想知道当我打开打印机而其 IP 已被另一台设备通过 DHCP 协议获取时,网络会如何表现?

会不会引起冲突?

这不会被用作 DoS 攻击吗?

假设我讨厌工作中的某个人,我所需要的只是将他的 IP 分配给我的机器并打断他的工作并不断重复。

dhcp
  • 4 4 个回答
  • 5972 Views

4 个回答

  • Voted
  1. user236910
    2014-08-10T10:28:18+08:002014-08-10T10:28:18+08:00

    本身没有“优先级”。将会发生的情况是,两者将打算回答相同的 ARP 查找,并且会出现不可预测的行为。

    有时一个人会工作一段时间然后停止。有时另一个可能会工作一段时间。或者两者都行不通。

    事情可能会出现一段时间,然后神秘地停止。

    同一网段上的一些其他设备可能能够到达其中一个或另一个。或不。

    正如其他人所说,如果 DHCP 服务器足够复杂,它可能会在分发范围内的地址之前检查地址使用情况。实际上,这取决于所涉及的每个设备上 IP 堆栈的具体实现。

    • 4
  2. David W
    2014-08-10T09:59:17+08:002014-08-10T09:59:17+08:00

    如果您的 DHCP 服务器尚未分配 IP 地址,则它不知道该 IP 地址正在使用中。这可以通过设置 DHCP“保留”来缓解 - 这就是您需要做的。

    进入 DHCP 服务器并为该 IP 地址分配预留,以便服务器不会尝试将该 IP 地址分配给另一台设备。

    您没有告诉我们您的 DHCP 服务器正在运行什么软件,因此我们无法提供有关如何执行此操作的具体说明。

    • 3
  3. Best Answer
    Proxy
    2014-09-13T05:47:18+08:002014-09-13T05:47:18+08:00

    我会试一试。

    无论您运行什么软件,DHCP 都应该能够做两件事:

    • 预留池
    • DHCP 范围/范围创建

    如果您运行 Windows Server,此链接将有助于创建 Scope:

    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) 来完成其工作。

    如果发现失败,则看不到 DHCP。如果它在提供时失败,则 DHCP 没有足够的地址来分配。

    还要确保查看将地址放入 DHCP 限制池的错误。如果它位于限制池中(或在家庭路由器上,MAC 过滤),则 DHCP 服务器将自动拒绝/拒绝将 DHCP 提供数据包提供给关联请求客户端。

    要点:检查范围/范围,检查限制并仅将项目添加到保留如果您希望它们在网络上,重新启动服务器(或者如果不能,重新启动服务(不要重新加载)),重新关联打印机。

    您还可以在线研究几种方法,以避免使用 DHCP 服务器进行 Rogue DHCP 和 MiTM 攻击。

    • 3
  4. kasperd
    2014-08-10T10:12:06+08:002014-08-10T10:12:06+08:00

    如果两个设备在分配之前都检查了IP是否在使用中,那么谁先拿到它,谁就保留它。

    如果两个设备都不执行此类检查,则两个设备的网络连接将变得不稳定,同时它们都在线。DHCP 服务器可以代表 DHCP 客户端执行检查,但不要指望它。

    只是不要分配静态 IP,它也在 DHCP 池中。唯一可行的方法是 DHCP 服务器是否知道 IP 保留给哪个 MAC 地址。

    如果设备支持 IPv6,您可以使用它。使用 IPv6 地址可以根据 MA​​C 地址生成,那么您的问题就会消失。

    就潜在的 DoS 攻击而言,执行此类攻击是可能的。不要将攻击者和受害者放在同一个网段。通过在它们之间放置一个具有过滤功能的路由器或交换机来将它们分开。

    • 2

相关问题

  • DHCP 无法更新 DNS,没有 Active Directory

  • 在 SBS 2008 上禁用 DHCP?

  • 如何在 Ubuntu 中设置搜索域(和其他 resolv.conf 参数)?

  • DHCP/网络问题

  • 在一个 LAN 中使用两台 DHCP 服务器

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve