我们当前的 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 ...
}