Linux DHCPD基于Mac-Address的组

我们目前的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,我们公司希望实施一个鱿鱼代理服务器,以更好地监测工作中的networkingstream量,如果有必要的话,阻止大型的时间浪费,IE的Facebook.com。

不过,我们很快就意识到,这一变化对我们的Polycom SIP电话起了恶作剧的作用。 偶尔我们的电话不响,最终收件人听到响铃(这是人为地由我们的PBX创build的),但手机从不响。 在我们的networking中唯一改变的是选件路由器线路。

因此,由于所有Polycom MAC地址都以00:04:F2开头,在DHCP中可以说任何00:04:F2:::* MAC地址都可以得到选项路由器10.0.32.1,而其他任何设备都必须与我们的网关通话?

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

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

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

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

例如。

 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 ... }