Linux DHCPD 基于 Mac 地址的组

Linux DHCPD 基于 Mac 地址的组

我们当前的 DHCPD.conf 如下所示。

subnet 10.0.32.0 netmask 255.255.255.0
{
        range 10.0.32.100 10.0.32.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 10.0.32.255;
        option domain-name-servers 208.67.222.222,208.67.220.220;
        option routers 10.0.32.5;

        host Dev-ABaird-W {
                hardware ethernet 00:1D:09:3E:49:13;
                fixed-address 10.0.32.94;
    }

    ... more static hosts ....

}

基本就是这样了。旧路由器是 10.0.32.1,我们公司想实施 squid 代理,以便在工作时更好地监控网络流量,并在必要时阻止大型浪费时间的网站,例如 Facebook.com。

然而,我们很快意识到,这一变化对我们的 Polycom SIP 电话开了一个恶作剧。有时我们的电话不会响,最终接收者听到铃声(这是我们的 PBX 人为造成的),但手机永远不会响。我们网络中唯一发生变化的是可选路由器线路。

因此,由于所有 Polycom MAC 地址都以00:04:F2在 DHCP 中是否可以说任何 00:04:F2::* MAC 地址获取选项路由器 10.0.32.1,还有其他什么必须与我们的网关对话?

答案1

您可以使用条件表达式来匹配电话的 MAC 地址:

if substring(hardware, 1, 3) = 00:04:f2 {
    option routers 10.0.32.1;
} else {
    option routers 10.0.32.5;
}

我在一个subnet节中测试了这一点,但我相信它可以在任何option命令可以工作的地方工作。使用 ISC DHCPD 3.1.2 测试。

答案2

我相信您要找的是组。组将允许您将不同的选项(例如路由器)传递给不同的主机组。

例如。

subnet 10.0.32.0 netmask 255.255.255.0
{
        range 10.0.32.100 10.0.32.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 10.0.32.255;
        option domain-name-servers 208.67.222.222,208.67.220.220;
        option routers 10.0.32.1;
}


group {
     # Group uses a different router.
     option routers 10.0.32.5;

     host Dev-ABaird-W {
                hardware ethernet 00:1D:09:3E:49:13;
                fixed-address 10.0.32.94;
     }

     ... more hosts ...
}

相关内容