Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Скрипт для добавления пользователей в Mikrotik Routerboard и в базу mysql

 14 Мар 2011    MikroTik, Scripts

В этой статье мы допишем в наш скрипт код для добавления учетной записи пользователей в базу данных mysql.

Добавим в таблицу users несколько полей, чтобы она приняла следующий вид:

 База данных MySQL

Рис.1. База данных MySQL.

Login – логин пользователя;

Password – пароль пользователя;

Ipaddress – ip-адрес пользователя;

Speed – скорость пользователя;

Ipmikrotik – ip-адрес Mikrotik Routerboard, к которому подключен пользователь.

#!/usr/bin/env python

# -*- coding: utf_8 -*-

import MySQLdb

from paramiko import SSHClient

from paramiko import AutoAddPolicy

while True:

login = raw_input("Введите имя пользователя: ")

password = raw_input("Введите пароль пользователя: ")

ipaddress = raw_input("Введите IP адрес пользователя: ")

speed = raw_input("Скорость пользователя: ")

mtlogin = raw_input("Введите имя администратора mikrotik: ")

mtpassword = raw_input("Введите пароль администратора mikrotik: ")

mtipaddress = raw_input("Введите IP адрес mikrotik: ")

db = MySQLdb.connect(user='root', passwd='1q2w3e', db='mymikrotik')

cur = db.cursor()

sql = ("INSERT INTO users (login, password, ipaddress, speed, ipmikrotik) VALUES ('%s', '%s', '%s', '%s', '%s')" % (login, password, ipaddress, speed, mtipaddress))

cur.execute(sql)

cur.close()

ssh = SSHClient()

ssh.set_missing_host_key_policy(AutoAddPolicy())

ssh.connect(mtipaddress, port=22, username=mtlogin, password=mtpassword)

cmd = "/ppp secret add name=%s password=%s service=any profile=default local=172.16.1.1 remote=%s" % (login, password, ipaddress)

ssh.exec_command(cmd)

ssh.close()

print "Пользователь %s добавлен" % (login)

if raw_input("Хотите продолжить? y/n: ") == "n":

break

Рассмотрим изменения, которые были добавлены в скрипт:

import MySQLdb – подключаем модуль для работы с базой данных.
db = MySQLdb.connect(user='root', passwd='1q2w3e', db='mymikrotik') – подключаемся к серверу MySQL.
cur = db.cursor() – создаем объект курсора.
sql = ("INSERT INTO users (login, password, ipaddress, speed, ipmikrotik) VALUES ('%s', '%s', '%s', '%s', '%s')" % (login, password, ipaddress, speed, mtipaddress)) – формируем запрос к базе данных.
cur.execute(sql) – выполняем запрос.
cur.close() – закрываем объект курсора.

  Запускаем скрипт добавления пользователей в Mikrotik Routerboard

Рис.2. Запускаем скрипт добавления пользователей в Mikrotik Routerboard.

Запускаем скрипт для добавления пользователей в Mikrotik Routerboard. Вводим все необходимые данные и дождемся, чтобы скрипт выполнил добавление пользователя и в Mikrotik Routerboard и в базу MySQL.

 

 

 Mikrotik Routerboard, список пользователей

Рис.3. Mikrotik Routerboard, список пользователей.

Как мы видим, пользователь добавлен в Mikrotik Routerboard.

 База данных пользователей MySQL

Рис.4. База данных пользователей MySQL.

Подключаемся к базе данных при помощи phpmyadmin и видим, что запись о пользователе была добавлена также и в базу данных. Теперь все пользователи будут записаны в базе. 

  

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