Тот dhcpd, который идет стандартно(от ISC), не умеет вроде, хотя опции (unauthenticated clients, authenticated clients) в deny/allow вроде есть. Может поновее версии и научили.
Авторизация по MAC — понятие довольно широкое. Пришедшие мне на ум варианты:
1. Выдавать айпишники только тем, чьи маки перечислены на сервере. Стандартный dhcpd умеет на ура.
2. Клиенты должны принимать dhcp-ответы только от сервера с заданным маком. Тут все-таки лучше сделать dhcp snooping на свиче, как верно заметил hizel.
3. Не пускать куда-нибудь людей с левыми маками. Если все соединены через свич, а на фаерволе линух — iptables в руки и вперед. Даже с ebtables можно не заморачиваться.
>Я думал о третьем варианте, но боюсь, что если правил в iptables будет слишком много то это скажется на производительности.
Не помню уже где, несколько лет назад читал про бенчмарк на эту тему. Вроде на тогдашнем железе с тогдашним ядром тысячи-десятки тысяч правил создавали миллисекундные задержки.
А вообще правильнее имхо юзать ipset macipmap. В дебиане есть штатная поддержка ipset. В stable емнип это пакет netfilter-extensions-source, но лично я работаю в основном с xtables-addons из testing и unstable.
ipset дает предельно высокую скорость проверки для больших списков адресов.