1

Я создал сервис systemd для приложения hostapd на Raspbian Jessie Lite. Исходный код похож на этот GitHub Gist, но с IP-адресами в диапазоне 192.168.50.x/24 .

Все работает, и различные устройства получают IP-адреса от сервера DHCP. Однако я не знаю, есть ли журнал всех IP-адресов, выданных клиентам по их MAC-адресам для dnsmasq и / или hostapd .

Есть ли способ разрешить раздачу IP-адресов DHCP-сервера? Возможно, они могут войти в файл, который я не знаю. Например, в режиме многословия я склонен видеть сообщения, когда клиент запрашивает IP-адрес, и, следовательно, предположение, что эта информация может быть зарегистрирована в файле.

2 ответа2

3

Я считаю, что /var/lib/misc/dnsmasq.leases - это файл, который вы хотите

Если нет, то используйте dhcp-script = и напишите свой собственный, смотрите man- страницу

При запуске dnsmasq читает /etc/dnsmasq.conf. Формат этого файла состоит из одного параметра в строке, точно так же, как длинные параметры, подробно описанные в разделе ОПЦИИ, но без начального "-".

--dhcp-script = Всякий раз, когда создается новая аренда DHCP, уничтожается старая или завершается передача файла TFTP, запускается исполняемый файл, указанный в этой опции. должен быть абсолютный путь, поиск PATH не происходит. Аргументами процесса являются "add", "old" или "del", MAC-адрес хоста (или DUID для IPv6), IP-адрес и имя хоста, если оно известно. "add" означает, что аренда была создана, "del" означает, что она была уничтожена, "old" - это уведомление о существующей аренде, когда запускается dnsmasq, или об изменении MAC-адреса или имени хоста существующей аренды (также, длина аренды или expiry и client-id, если установлено leasefile-ro). Если MAC-адрес относится к типу сети, отличному от Ethernet, к нему будет добавлен тип сети, например «06-01:23:45:67:89:ab» для Token Ring. Процесс запускается от имени пользователя root (при условии, что dnsmasq изначально был запущен от имени пользователя root), даже если dnsmasq настроен на изменение UID для непривилегированного пользователя.

2

В качестве дополнения к ответу Росса вы можете указать файл аренды в вашем файле dnsmasq.conf (или файл conf в /etc/dnsmasq.d) с параметром dhcp-leasefile=<lease file> . Например, dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

Кроме того, хотя в некоторых случаях файл аренды будет заполняться именами хостов, некоторые случайные устройства, такие как планшеты или смарт-телевизоры, иногда не будут четко идентифицироваться из файла аренды. В вашей dnsmasq conf вы можете добавить опции dhcp-host с MAC-адресом устройства и понятным именем хоста, которое будет отображаться в файле аренды. Например

dhcp-host=10:08:c1:08:9d:53,LG-TV

в dnsmaq.conf выглядит так в файле аренды:

1502229042 10:08:c1:08:9d:53 192.168.10.94 LG-TV *

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .