ASP 24

Продажа оборудования
        для интернет-провайдеров

Войти

Перезвоните мне


  
Обязательное поле не может быть пустымНеверный номер телефонаНомер должен содержать от 10 до 13 цифр
*
Неверный адрес e-mail
  

Даже не знаю, обращаюсь впервые
Иван Добында
Максим Боднарюк
Эльвина Османова
Андрей Геряк
Сообщение содержит запрещенне ссылки

Укажите, пожалуйста, какой вопрос Вас интересует;
номер Вашего заказа; время, в которое Вам удобно принять звонок

Наш продавец-консультант перезвонит
Вам в ближайшее рабочее время.

График работы магазина:
Пн - Пт с 10:00 до 18:00.

Приносим наши извинения, если Вы уже пытались нам позвонить и не дозвонились. Теперь мы перезвоним Вам сами.


Перезвоните мне Отменить
Обработка заказа звонка...
Ваш заказ обратного звонка принят!
Наш продавец-консультант свяжется с Вами в течении рабочего дня.

Если уже больше 18 часов или сегодня выходные, ожидайте нашего звонка в ближайший рабочий день.

Спасибо, что обратились именно к нам!

Продолжить покупки
Во время заказа звонка возникла ошибка.
Пожалуйста, проверте введенные данные или повторите попытку немного позже.

Попробовать снова Отменить
+38 (050) 22–57–770
+38 (050) 22–58–880
+38 (050) 43–42–444
+38 (098) 89–66–219

Перезвоните мне

 
Оплата Доставка Сервис Контакты

Пишем свой скрипт авторизации в Mikrotik на языке Python

Купили Mikrotik RouterBoard 750, Mikrotik RouterBoard 750G, Mikrotik RouterBoard RB493. Подключили интернет, настроили всё для раздачи интернета соседям. 

Пишем свой авторизатор, чтобы пользователи сами могли включать и отключать доступ в интернет. В качестве языка программирования выберем Python.

Код скрипта:

# -*- coding: CP866 -*-
import socket
from paramiko import SSHClient, AutoAddPolicy

ip_user = socket.gethostbyname(socket.gethostname())

action = raw_input("Открыть доступ? yes/no ")

if action == 'yes':
ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect("192.168.4.1", port=22, username="user1", password="1q2w3e")
a_list = "/ip fi ad add address=%s list=nat" % (ip_user)
ssh.exec_command(a_list)
ssh.close()

else:
ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect("192.168.4.1", port=22, username="user1", password="1q2w3e")
a_list = "/ip fi ad remove [find address=%s]" % (ip_user)

ssh.exec_command(a_list)
ssh.close()



Разбираем скрипт:

import socket – подключаем модуль socket. Он нам понадобится для определения IP-адреса на компьютере пользователя. 

from paramiko import SSHClient, AutoAddPolicy – понадобится для работы с ssh протоколом.

ip_user = socket.gethostbyname(socket.gethostname())  - определяем IP-адрес компьютера, полученное значение присваиваем ip_user.

action = raw_input("Открыть доступ? yes/no ") – создаем переменную action, в которую будет занесено значение, введенное пользователем. 

Выполняем проверку

if action == 'yes': - если пользователь ввел yes, то добавляем ip-адрес в Address List

ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect("192.168.4.1", port=22, username="user1", password="1q2w3e")
a_list = "/ip fi ad add address=%s list=nat" % (ip_user)
ssh.exec_command(a_list)
ssh.close()


else: - иначе удаляем ip-адрес из Address List.

ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect("192.168.4.1", port=22, username="user1", password="1q2w3e")
a_list = "/ip fi ad remove [find address=%s]" % (ip_user)

ssh.exec_command(a_list)
ssh.close()

 

 Скрипт авторизатор для открытия и закрытия доступа в mikrotik, проверка скрипта

Рис.1. Проверка скрипта.

 

 Скрипт авторизатор для открытия и закрытия доступа в mikrotik, результат работы скрипта

Рис.2. Результат работы скрипта.

 

Скрипт в чистом виде можно применять, если соседей немного, и вы уверенны, что они не будут пакостить, например, не допишут чего-то лишнего. Если пользователей много и вы не уверенны в их порядочности, лучше сделать так, чтобы пользовательский скрипт отправлял данные к другому скрипту, который будет запущен на вашем компьютере. А тот уже будет взаимодействовать с устройствами Mikrotik Routerboard .

Евгений Рудченко специально для ASP24. 

Отправить страницу на e-mail

Обязательное поле не может быть пустымНеверный адрес e-mail
*
Обязательное поле не может быть пустым
*

*
Обязательное поле не может быть пустым
Неверный адрес e-mail
  

Отправить Отменить
Отправка e-mail
E-mail успешно отправлен.

Продолжить покупки
Не удалось отправить e-mail

Попробовать снова Отменить


Хотите поделиться своими фотографиями или статьями? Отправляйте их на hertyweb@asp24.com.ua. Мы обязательно разместим их у нас на сайте!

Комментарии


Нет комментариев
 


Добавить новый комментарий

*
*

Введите символы с картинки.

  Redraw

Символы: 

© 2007-2012 ASP 24.

 

Загрузка...

Total Duration: 0.197813034058
0.1185 (0.1185)