Блокировка по имени при подключении к WIFI

Wi-fi и всё с ним связанное
Ответить
mikrotikuser
Сообщения: 2
Зарегистрирован: 28 май 2019, 11:51

Блокировка по имени при подключении к WIFI

Сообщение mikrotikuser » 28 май 2019, 11:55

Подскажите, как реализовать через скрипт следующее:
При подключении к wifi dhcp сервер будет блокировать клиента если у него имя "test" , отображать это в логах и считать количество сработавших блокировок?

Аватара пользователя
Chupaka
Сообщения: 1869
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Блокировка по имени при подключении к WIFI

Сообщение Chupaka » 28 май 2019, 14:39

У wifi настроен отдельный dhcp? Если нет - dhcp не будет знать, пришёл ли запрос от wifi или из локалки.
Что значит "блокировать"? Скрипт DHCP-сервера исполняется по факту выдачи клиенту адреса. Как вы хотите его заблокировать после этого?
Считать количество блокировок - просто в переменную, которая после перезагрузки обнулится?

mikrotikuser
Сообщения: 2
Зарегистрирован: 28 май 2019, 11:51

Re: Блокировка по имени при подключении к WIFI

Сообщение mikrotikuser » 28 май 2019, 15:10

У нас на Микротике не включен wifi, мы используем Unifi, а Микротик раздаёт для него адреса. Фактически мне нужно знать, какой адрес присваивается устройству с таким именем, что бы например в файерволе закрыть для этого адреса доступ. Имена устройств я вижу в списке подключенных устройств на вкладке Leases.

Можно и в переменную, это просто для общей статистики.

Использовал такой вот скрипт, но он почему то не работает, не выводится в логах сообщение даже:
# Block Bad Host Name, ARP Spoofing etc. #
# host-name, edit t1 -> t15 #
# then add the script to scheduler and run every two minutes #
# Mikrotik RouterOS v6.33rc30 #
:foreach i in=[/ip dhcp-server lease find host-name="Test1" || host-name="Test2" ] do={
:local ip [/ip dhcp-server lease get $i address ];
:local mac [/ip dhcp-server lease get $i mac-address ];
:local host [/ip dhcp-server lease get $i host-name ];
/ip dhcp-server lease make-static [ find ];
/ip dhcp-server lease set [ find where dynamic=no mac-address=$mac ] use-src-mac=yes client-id="1:$mac" \
server=dhcp1 block-access=yes comment=BadHost
:log warning ("Bad Host Name $host " . "with Mac $mac " . "and IP $ip blocked on dhcp server lease ")
}

Ответить