Регистрация пользователей в MikroTik User Manager через sms

. Просмотров: 4545

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Простой пример самостоятельной регистрации пользователей в MikroTik User Manager (он же radius сервер) через смс. Может быть полезен при создании WiFi Hotspot.

В этой статье я не буду касаться установки и настройки на Микротике Hostspot & User Manager. В интернете достаточно статей на эти темы. 
Я предлагаю вам пример скрипта который позволяет пользователям самостоятельно создавать учетку в User Manager с помощью смс.

Как это работает:

К примеру, вы создаете у себя открытый hotspot сервер для доступа по WiFi, при подключении к которому у пользователей появляется страничка для авторизации, и там же надпись, что для получения доступа отправьте текст "Internet" на номер ХХХХХХХХХХХ. После того как пользователь отправит такое смс, ему придет ответ с логином и паролем для выхода в интернет.

Скрипт абсолютно рабочий, но для коммерческого использования требуется доработка. Есть несколько нюансов которые я специально не отработал, иначе так можно и без работы остаться :)

 И так, вводные данные:

  • USB модем находится на usb1
  • Кодовое слово: Internet
  • User Manager профиль по умолчанию: Default
  • Необходимо создать скрипт и через планировщик настроить периодическое выполнение.

Собственно сам скрипт:

# Create user in the MikroTik User Manager by sms (author a.gerasimov)
:local smsSecret "Internet"
:foreach i in=[/tool sms inbox find] do={
	:local smsMessage [/tool sms inbox get $i message];
	if ($smsMessage = $smsSecret) do={
		#Password generation
		:local time [/system clock get time]
		:local hour [:pick $time 0 2]
		:local min [:pick $time 3 5]
		:local sec [:pick $time 6 8]
		:local pass [($hour * $min * $sec)]
		:if ($pass = 0) do={ :set pass 6524	}
		#End password generation

		:local smsPhone [/tool sms inbox get $i phone];
		:if ([:len $smsPhone]>11) do={
			:local login [:pick $smsPhone 1 12]
			/tool user-manager user add customer=admin disabled=no username=$login password=$pass shared-users=1 phone=$smsPhone
			/tool user-manager user create-and-activate-profile "$login" customer=admin profile=Default
			/tool sms inbox remove $i
			:local smsAnswer [("Login: ".$login."\nPassword: " . $pass)]
			/tool sms send usb1 $smsPhone message=$smsAnswer
		}		
	}
}
 

Недостаточно прав для комментирования