Выключение интерфейса при отключении определённого МАС адреса

Автоматизация при помощи встроенного скриптового языка и RouterOS API
Ответить
b1gst0ne
Сообщения: 3
Зарегистрирован: 30 янв 2018, 02:13

Выключение интерфейса при отключении определённого МАС адреса

Сообщение b1gst0ne » 30 янв 2018, 03:50

Доброго времени суток.
Есть RouterBOARD 952Ui-5ac2nD, интересует как реализовать включение/отключение интерфейса подключения интернета при подключении/отключении определённого МАС адреса?
т.е. когда я ухожу из дома унося мой телефон, который подключён по WIFI, нужно чтобы интернет на роутере отключался, а когда я возвращался и мой телефон переподключался к сети WIFI интернет снова появлялся на роутере.
Я думал сделать IP для MAC адреса статичным и через Netwatch пинговать его, но думал, что есть более простой и "штатный" способ реализовать задуманное.

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

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение Chupaka » 30 янв 2018, 08:52

Доброго.

Скриптов на события WiFi я в RouterOS не вижу, поэтому самый очевидный вариант - статика DHCP и Netwatch.

b1gst0ne
Сообщения: 3
Зарегистрирован: 30 янв 2018, 02:13

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение b1gst0ne » 30 янв 2018, 09:49

Можно попробовать найти MAC так:
/interface wireless registration-table find mac-address
Но есть проблема в современных телефонах, они в режиме ожидания отключаются от wifi для экономии заряда АКБ.

Для включения интерфейса будет достаточно факта регистрации в сети wifi. Помогите найти или придумать событие/условие для отключения интерфейса, чтобы не пришлось находясь фактически дома, но не пользуясь телефоном некоторое время, ловить обрывы интернета и судорожно тянуться к телефону для пробуждения и регистрации его в сети wifi.

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

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение Chupaka » 30 янв 2018, 10:03

Предлагаю использовать DHCP для этого, скрипт lease-script в DHCP-сервере.

Что-то типа

Код: Выделить всё

if ($leaseActMAC = "МАК-адрес телефона") do={
	if ($leaseBound = 1) do={
		#включаем Интернет
		/interface enable pppoe-out1
	} else={
		#выключаем Интернет
		/interface disable pppoe-out1
	}
}
Лиза будет удаляться лишь по истечении lease-time, а не сразу после отключения от вайфая - и тогда же будет отключаться Интернет.

b1gst0ne
Сообщения: 3
Зарегистрирован: 30 янв 2018, 02:13

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение b1gst0ne » 30 янв 2018, 12:17

Спасибо за помощь,
Я не силён в синтаксисе скриптов, а как добавить несколько MAC адресов?

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

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение Chupaka » 30 янв 2018, 13:15

И выключать, пока хоть один висит в лизах? Это сложнее, тут логика должна быть другая: при истечении лизы проверять, есть ли кто ещё живой...

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

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение Chupaka » 30 янв 2018, 15:03

Что-то типа

Код: Выделить всё

if ($leaseActMAC = "МАК-адрес телефона1" or $leaseActMAC = "МАК-адрес телефона2" or $leaseActMAC = "МАК-адрес телефона3") do={
	if ($leaseBound = 1) do={
		#включаем Интернет
		/interface enable pppoe-out1
	} else={
		#проверяем и выключаем Интернет
		if ([:len [/ip dhcp-server lease find status="bound" mac-address="МАК-адрес телефона1" ]] = 0 and
			[:len [/ip dhcp-server lease find status="bound" mac-address="МАК-адрес телефона2" ]] = 0 and
			[:len [/ip dhcp-server lease find status="bound" mac-address="МАК-адрес телефона3" ]] = 0) do={
			/interface disable pppoe-out1
		}
	}
}

Аватара пользователя
kardash
Сообщения: 34
Зарегистрирован: 27 апр 2017, 22:08
Откуда: Вилейка
Контактная информация:

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение kardash » 03 фев 2018, 21:30

Вопрос с выключением решается просто.... Как включить назад? Отошёл покурить на улицу или в сортир и он выключился..... Включить только ручками? Так и выключить можно тогда ручками.... :-) Надо наверное смену профиля с паролем и заменой SSID делать?

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

Re: Выключение интерфейса при отключении определённого МАС адреса

Сообщение Chupaka » 05 фев 2018, 15:25

Вернулся, телефон подключился, получил адрес - и вуаля, Интернет опять включился скриптом. В чём проблема-то? :)

Ответить