【问题标题】:ISC DHCP Server - Deny known client with fixed-address from poolISC DHCP 服务器 - 拒绝池中具有固定地址的已知客户端
【发布时间】:2021-03-30 22:19:09
【问题描述】:

我有很多已知主机的固定 IP 地址。

我正在尝试将我的 DHCP 服务器配置为不动态地向它们提供 IP 地址。

我知道 ACL 可以,但我无法手动添加所有 1000 个 MAC 地址。

【问题讨论】:

  • 请在此问题中添加更多详细信息

标签: dhcp


【解决方案1】:

我有很多已知主机的固定 IP 地址。

如果您的主机已经拥有静态 IP 地址,则无需为它们配备 DHCP 服务器。它甚至不会尝试检索 IP。所以我不太确定你在问什么。

如果您希望计算机通过 DHCP 获取特定(静态)IP 地址,唯一的方法是使用其 MAC 地址并为该计算机输入相应的 IP。对于 ISC DHCP 服务器,这是通过这种方式完成的:

 host computer_name {
    hardware ethernet 11:22:33:44:55:66;
    fixed-address 10.0.1.2;
}

如果您有这么多台计算机,您总是可以编写一个脚本来生成这些行。不过,您需要以某种方式收集 1,000 个 MAC 地址。如果您已经连接,这些将与现有 IP 地址一起列在 /proc/net/arp 文件中。

再一次,如果这 1,000 台计算机都已经分配了 IP 地址,那么它们就不需要 DHCP 客户端,因此一开始就不需要麻烦。

使用netplan,这将是这样的:

network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            addresses:
                - 10.0.1.2/16
            dhcp4: false
            dhcp6: false
            optional: false
            gateway4: 10.0.0.1
            nameservers:
                addresses: 
                    - 8.8.8.8
                    - 8.8.4.4

主要选项是将dhcp[46] 设置为 false,这意味着不会使用 DHCP 客户端,因此这台计算机会完全忽略您在某处是否有 DHCP 服务器。

在较旧的计算机上,您将使用旧方案,即“网络接口”。 (/etc/network/interfaces 可能还有子文件夹/etc/network/interfaces.d/<interface-name>)。

使用旧 ifconfig 的接口定义需要更多详细信息,如下所示:

auto eth0
iface eth0 inet static
  address 10.0.1.2
  netmask 255.255.0.0
  network 10.0.0.0
  broadcast 10.0.255.255
  gateway 10.0.0.1
  dns-nameservers 8.8.8.8 8.8.4.4

在较新的版本中,掩码必须全为 1,然后全为 0。不再允许使用诸如 255.255.0.240 之类的掩码。这就是为什么较新的版本使用.../<count> 语法的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2012-01-14
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多