С помощью isc-dhcp-server
в Debian Jessie я хотел бы блокировать DHCP-запросы на основе частей их имен хостов - в частности, если имя хоста содержит строку RegEx где-то «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
заявление. (Или используйте более сложное регулярное выражение, чтобы сделать это в одном классе.)