Вопрос по менеджменту IP адресов большого пула

Технические вопросы по UTM 5.0
Ответить
Константин
Сообщения: 5
Зарегистрирован: Вт май 04, 2010 12:25

Вопрос по менеджменту IP адресов большого пула

Сообщение Константин »

Приветствую всех!
Прошу помощи у Вас, уважаемые форумчане, а также разработчики.

Я работаю у интернет провайдера и возникла небходимость поменять биллинговую систему.
Сразу возник вопрос по менеджменту IP адресов. Не буду голословным и сразу приведу пример.

Есть сеть с реальными IP адресами, но в данном сообщении я заменю её на 192.168.10.0/21 (192.168.10.0 - 192.168.17.255)
Клиентам часто приходиться выделять сетки /30, /29, /28 и т.д из этого диапазона.

Вопрос в том каким образом я могу отслеживать какие из адресов уже были выданы и какие можно выдать?

Для примера - в LanBilling при создании учетной записи клиента я мог указать маску сети, которая будет выдана клиенту, таким образом указав диапазон IP адресов и система сама производила листинг доступных сетей с данным префиксом. Как же добиться этого с UTM?

Заранее спасибо.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

можно указать. Если услуга IP единственная у пользователя будет, то можно даже настроить, чтоб биллинг сам распределял адресное пространство. Для этого надо создать подсети и привязать их к домам. Пользователю при создании надо будет указать ID дома, при привязке адреса/подсети пользователь получит первый свободный адрес из блока.

Константин
Сообщения: 5
Зарегистрирован: Вт май 04, 2010 12:25

Сообщение Константин »

Уважаемый mikkey finn, спасибо за ответ, но как я указал выше - пользователям приходяться часто выдавать диапазоны IP адресов, другими словами пулы. В голове держать все IP которые выдавались ранее просто невозможно физически.

Пример:
Мне нужно выделить сеть /30. Как мне узнать какой есть свободный диапазон для выделения клиенту? IP адреса выдавались ранее произвольно, а не по порядку.
То есть я не могу выдать просто на обум сеть 192.168.10.16/28 (с 192.168.10.17 по 192.168.10.30), т.к. мне нужно быть уверенным, что не с одним IP адресом из этого диапазона не работает клиент...
Да и в голове IP калькулятора у меня нет.
Если такого функционала нет в UTM, то может подскажите какой-нибудь сторонний софт с необходимым функционалом?

Спасибо.

xxxupg
Сообщения: 457
Зарегистрирован: Вс май 02, 2010 10:00

Сообщение xxxupg »

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

а "увидеть" какие заняты просто - Поиск\IP - адрес.

Константин
Сообщения: 5
Зарегистрирован: Вт май 04, 2010 12:25

Сообщение Константин »

xxxupg писал(а):если в привязке укажете ip адрес который уже занят - то система просто выдаст ошибку... и соответственно можно поставить другой...
И перебирать так по сети из 1778 реальных IP адресов.
xxxupg писал(а): а "увидеть" какие заняты просто - Поиск\IP - адрес.
...и искать окошко, где же у меня тут /24 сеточка завалялась.
И искать 254 раза - не был ли IP уже отведен под абонента...?!

Не, ребят, такой вариант для сети из 64 IP ещё может и подойдет...
Может ещё есть варианты?

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

Константин писал(а):Может ещё есть варианты?
Для собственных нужд писались скрипты на php для сеток /24 (;) так проще)
Вот кусок кода

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

####################################################
$subnetname = 'xxx.yyy.zzz.0/24';
$subnet = 'xxx.yyy.zzz.';
$pool_startip = '0';
$pool_endip = '255';
####################################################
echo "Free IP addresses from '".$subnetname."' &#40;".$subnet.$pool_startip."-".$subnet.$pool_endip."&#41;<br>";
echo "<hr size="1">";
$i = 0;
$ip_host = $pool_startip+1;
while &#40;$ip_host <= $pool_endip-1&#41;&#123;
  $result = mysql_query&#40;"SELECT inet_ntoa&#40;ip_groups.ip & 0xFFFFFFFF&#41; AS ip,uname FROM ip_groups WHERE inet_ntoa&#40;ip_groups.ip & 0xFFFFFFFF&#41;='".$subnet.$ip_host."' AND is_deleted='0'"&#41;;
  $count = mysql_num_rows&#40;$result&#41;;
  if &#40;$count==0&#41;&#123;
    echo $subnet.$ip_host."<br>";
    $i++;
  &#125;
  $ip_host++;
&#125;
echo "<hr size="1">";
echo "Total counts free IP address&#58; $i<br>\n";

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Константин писал(а):
xxxupg писал(а):если в привязке укажете ip адрес который уже занят - то система просто выдаст ошибку... и соответственно можно поставить другой...
И перебирать так по сети из 1778 реальных IP адресов.
xxxupg писал(а): а "увидеть" какие заняты просто - Поиск\IP - адрес.
...и искать окошко, где же у меня тут /24 сеточка завалялась.
И искать 254 раза - не был ли IP уже отведен под абонента...?!

Не, ребят, такой вариант для сети из 64 IP ещё может и подойдет...
Может ещё есть варианты?
У меня 64000 реальных адресов и примерно 130000 серых, никаких проблем с этим нет. Серые адреса привязаны к определенным домам, внешние подсетки находятся в привязке ко всем домам. При создании пользователя или редактировании ип группы биллинг вполне спокойно предлагает назначить первый свободные IP из этих пулов.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

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

Константин
Сообщения: 5
Зарегистрирован: Вт май 04, 2010 12:25

Сообщение Константин »

Странно, что только у меня эта проблема возникла, наверное многие просто выдают IP по порядку...

Все же идеальный вариант у Ланбиллинга. Кому интересно - можете посмотреть здесь (просьба не считать за рекламу. К сожалению на этом плюсы ланбиллинга исчерпаны):
http://www.lanbilling.ru/demo/ru/admin/index.html

Объекты => Учетные записи => Создать учетную запись => Таблица свободные

Введите битовую маску и вы увидите все доступные варианты СВОБОДНЫХ сетей, которые вы можете отдать абоненту.

UTM очень понравился, но вот этот нюанс меня убил наповал. Я не могу выдать абоненту IP сеть. Раньше у меня на это уходило 15 секунд без всяких вычислений, а теперь 15 минут. :(

xxxupg
Сообщения: 457
Зарегистрирован: Вс май 02, 2010 10:00

Сообщение xxxupg »

костылинг на php :-)

Константин
Сообщения: 5
Зарегистрирован: Вт май 04, 2010 12:25

Сообщение Константин »

xxxupg писал(а):костылинг на php :-)
+ AJAX + JavaScript = отдельный продукт ко всему прочему :)
Вообще то что я хочу - это типичная функция БС. А выдавать тупо последовательный IP адрес и не видеть что у тебя ещё есть в арсенале как то совсем тривиально и не серъезно ИМХО.

Аватара пользователя
alexus
Сообщения: 448
Зарегистрирован: Сб окт 11, 2008 10:31

Сообщение alexus »

mikkey finn писал(а):можно указать. Если услуга IP единственная у пользователя будет, то можно даже настроить, чтоб биллинг сам распределял адресное пространство. Для этого надо создать подсети и привязать их к домам. Пользователю при создании надо будет указать ID дома, при привязке адреса/подсети пользователь получит первый свободный адрес из блока.
Подскажите, а если из диапазона айпи адресов я какие то айпи адреса дал сетевому оборудованию. То как мне указать биллингу что эти адреса заняты, дабы он мне их не предлагал использовать при создании нового абонента в биллинге.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

Конечно

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

alexus писал(а):Подскажите, а если из диапазона айпи адресов я какие то айпи адреса дал сетевому оборудованию. То как мне указать биллингу что эти адреса заняты, дабы он мне их не предлагал использовать при создании нового абонента в биллинге.
Завести фиктивного пользователя и привязать на него IP. Либо распределить по пулам адресов.

Ответить