Очистить аренду DHCP при отключении [закрыто]

У меня довольно специфическая ситуация, когда я немного не понимаю, как все делать правильно, поэтому решил, что пора просить о помощи.

Ситуация такова: у меня есть Raspberry Pi с 3G-модемом, а также установлены hostapd и dnsmasq. Это означает, что когда я подключен к точке доступа на Pi, я получаю доступ в Интернет через 3G.

Эта установка будет использоваться для обеспечения доступа к Интернету для магнитофона для работы вместе с аудиосистемой Chromecast. Все работает нормально, я могу подключиться к Wi-Fi и проигрывать музыку из Spotify - все хорошо. Почти. Тариф сотовой связи, используемый в модеме, ограничен несколькими гигабайтами - этого достаточно для музыки, но недостаточно, чтобы люди забыли отключить Wi-Fi, когда они не отвечают за музыку.

На данный момент я установил Chromecast (и мой собственный телефон) на статический IP-адрес и установил для области DHCP ровно 1 адрес. Это почти решает мою проблему, за исключением очевидной особенности дизайна, для которой IP-адрес зарезервирован. клиенту до тех пор, пока действует договор аренды.Я мог бы установить сверхкороткое время аренды, но это просто создает другие проблемы с людьми, которые захватывают IP-адрес при попытке подключения, если кто-то уже подключен.

В идеале я хочу отменить аренду клиента, как только он отключится. Это возможно? Должен ли я сделать что-нибудь еще? Я уже написал слишком много, чтобы кто-нибудь мог все прочитать?

Я немного растерялся - что мне делать?

-2
задан 29 May 2018 в 20:59
1 ответ

Я просто отвечу сам, тогда.

hostapd_cli может запускать скрипты и взаимодействовать с hostapd. Вместе с dhcp_release в dnsmasq_utils можно решить проблему с помощью некоторого скрипта:

sudo hostapd_cli -a dhcp_release_script. sh

dhcp_release_script выглядит следующим образом:

#!/bin/bash
#dhcp-release-script.sh

#Chromecast, My Phone, My Laptop
staticDevicesMac=("" "" "")

if [[ $2 == "AP-STA-DISCONNECTED" ]]
 then
 if [[ ! "${staticDevicesMac[@]}" =~ "${3}" ]]
 then
   dhcp_release $1 10.0.0.20 $3
 fi
fi
0
ответ дан 5 December 2019 в 21:35

Теги

Похожие вопросы