Назад | Перейти на главную страницу

Блокировать DHCP-клиентов на основе строк в имени хоста

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