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

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

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

Выбор свободных IP адресов для пользователей Mikrotik

Добавляем пользователей в Mikrotik RouterBoard 750, Mikrotik RouterBoard 750G.

 
В статье Как исключить дублирование данных при добавлении нового пользователя в Mikrotik RouterBoard мы обезопасили себя от дублирования данных. Теперь напишем скрипт, который будет проверять уже занятые ip-адреса  и предлагать нам свободный ip-адрес для присвоения пользователю.


#!/usr/bin/env python
# -*- coding: utf_8 -*-
import MySQLdb
import mysql_db

cur = mysql_db.db.cursor()
sql_ip_network = ("SELECT ip_network FROM ip_pool")
cur.execute(sql_ip_network)
data = cur.fetchone()[0]
cur.close()

cur2 = mysql_db.db.cursor()
sql_ip_user = ("SELECT ip_user FROM users")
cur2.execute(sql_ip_user)
data2 = cur2.fetchall()
cur2.close()

ip = data

list_ip = []

for x in range(2, 255):
list_ip.append(ip + str(x))

for x in list_ip:
if x not in [y[0] for y in data2]: break
print x +' free'


Создадим таблицу в базе данных. В ней будут хранится значения, на основании которых будут формироваться ip-адреса.

 

Выбор свободных IP адресов для пользователей mikrotik. Таблица ip_pool

Рис.1. Таблица ip_pool.

  

Выбор свободных IP адресов для пользователей mikrotik. База данных созданных пользователей.

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

 

cur = mysql_db.db.cursor()
sql_ip_network = ("SELECT ip_network FROM ip_pool")
cur.execute(sql_ip_network)
data = cur.fetchone()[0]
cur.close()

Извлекаем данные из таблицы ip_pool

cur2 = mysql_db.db.cursor()
sql_ip_user = ("SELECT ip_user FROM users")
cur2.execute(sql_ip_user)
data2 = cur2.fetchall()
cur2.close()


Извлекаем данные об ip-адресах пользователей.

ip = data # Присваиваем переменной ip значение data

list_ip = [] # Создаем пустой список

for x in range(2, 255): # Запускаем цикл
list_ip.append(ip + str(x)) # Выполняем конкатенацию, то есть склеиваем переменную ip со значениями x и заносим в список list_ip. Таким образом мы получили список со значениями от 172.17.1.2 до 172.17.1.254

for x in list_ip:
if x not in [y[0] for y in data2]: break

 

Выполняем проверку чтобы узнать, есть ли похожие ip-адреса в базе пользователей. Как только будет найден ip-адрес, который еще не присвоен пользователям, произойдет остановка.

print x +' free' # Выведет свободный ip-адрес.

 

Выбор свободных IP адресов для пользователей mikrotik. Запуск скрипта

Рис.3. Запуск скрипта.

 

Запускаем скрипт и видим результат. Таким образом мы убедились, что ip-адреса 172.17.1.2 нет в базе данных.

 


 

Пошаговая видеоинструкция по выбору свободных IP адресов для пользователей Mikrotik:

 

 

Евгений Рудченко специально для 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.194035053253
0.1161 (0.1161)