Isc-Dhcp
根據主機名中的字元串阻止 DHCP 客戶端
在 Debian Jessie 上使用
isc-dhcp-server
時,我想根據主機名的一部分來阻止 DHCP 請求——特別是,如果主機名在“iPhone|android-”某處包含正則表達式字元串。我目前的解決方案是等到他們有租約,然後監控這些設備,然後手動將 MAC 地址添加到黑名單文件中。這種黑名單方法變得越來越大(幾乎 256 個條目),並且越來越難以維護。
我了解如何檢查主機名的開頭以確定類,但是如何從主機名的任何部分檢查以確定分配哪個類?
聽起來您在尋找該
dhcp-client-identifier
欄位,這可能是也可能不是您所說的主機名。根據dhcp-eval(5)
,可能有一個可用的正則表達式選項。如果是這樣的話,class "iBan" { match if option dhcp-client-identifier ~= "iPhone"; } class "bandroid" { match if option dhcp-client-identifier ~= "andriod-"; }
然後在適當的聲明
deny
下這些類的其他成員。pool
(或者使用更複雜的正則表達式在一個類中完成。)