forum.bitel.ru
http://forum.bitel.ru/

Как сделать такое в ipn?
http://forum.bitel.ru/viewtopic.php?f=7&t=4716
Страница 1 из 1

Автор:  sda0 [ 27 окт 2010, 14:07 ]
Заголовок сообщения:  Как сделать такое в ipn?

Как сделать что бы в отчете договора - отображало:
Внешний вх.:
Внешний исх.:
Локальный вх.:
Локальный исх.:
TAS-IX Гор. вх.:
TAS-IX Гор. исх.:
внешний - показываем всё что уходит и приходит из мира..
локальный - то что бегает от моих серверов (веб, почта и тд).
TAS-IX Гор - то что входит в точку обмена городским трафиком (основано с помощью БГП - оттуда можно вытянуть все сети. сетей там очень много и все разношёрстные из реальной нумерации)
вот интересует - как сделать последнее? в "привязке услуг" руками вбивать тысячи айпи адресов и диапазонов? :shock: как то можно сделать по другому? может создать привязку, и список сетей вогнать в примечание и оттуда его прочесть? или может через sql запрос? или фигню говорю? :?

з.ы. в последующем прикручу пппое и юзерам tas-ix Гор. вх/исх не должно учитывать.
сейчас пока экспериментирую с простым выделенным каналом.

Автор:  Phricker [ 27 окт 2010, 20:26 ]
Заголовок сообщения:  Re: Как сделать такое в ipn?

Вынести на отдельный источник/роутер?
И описать его в бг как бесплатный.

Автор:  sda0 [ 29 окт 2010, 13:04 ]
Заголовок сообщения:  Re: Как сделать такое в ipn?

нет, не пойдет. решил вводить руками, начал и чуть не сдох :shock:
решил сделать sql запрос,и автоматизировать это. и возникли вопросы.
в таблице тип поля bigint(20) и запись айпи в виде 3239824896 что равно 193.27.206.0
ясно что можно перевести встроенным калькулятором, но у меня около двух сотен айпи диапазонов в BGP маршрутизаторе.
какими функциями в сикуле или программами в линуксе к примеру можно перевести айпи в такой вид? по какому принципу или алгоритму вы их переводите?

Автор:  Phricker [ 29 окт 2010, 14:38 ]
Заголовок сообщения:  Re: Как сделать такое в ipn?

INET_NTOA
INET_ATON

Автор:  sda0 [ 29 окт 2010, 15:15 ]
Заголовок сообщения:  Re: Как сделать такое в ipn?

хммм. ни зачто б не догадался...
Код:
 INET_ATON(expr)

По заданному представлению сетевого адреса в виде строки, содержащей разделенные точками четыре октета, функция возвращает целое число, представляющее собой числовое значение данного адреса. Адреса могут быть длиной 4 или 8 байтов:

mysql> SELECT INET_ATON("209.207.224.40");
        -> 3520061480

Результирующее число всегда генерируется в соответствии с порядком расположения октетов в сетевом адресе, например вышеприведенное число вычисляется как 209*256^3 + 207*256^2 + 224*256 +40.

надо б девелоперам это вынести в документацию что ли...
а то бы так и сидел мозг ломал :lol:

з.ы. вопрос девелоперам - для чего это нужно?

Автор:  Администратор [ 29 окт 2010, 15:38 ]
Заголовок сообщения:  Re: Как сделать такое в ipn?

Что нужно? Хранить адрес как число?
1) Чтоб было 8 байт вместо 14.
2) Чтобы операция сравнения/увеличения/уменьшения занимала 1 такт процессора а не х.з. сколько.
3) Возможность битовых операций.
Т.е. быстрее идёт поиск, операции.
Там масса плюсов. Например, в протоколе IP тоже используется вариант представления 4 байта а не 12.

Автор:  sda0 [ 29 окт 2010, 16:08 ]
Заголовок сообщения:  Re: Как сделать такое в ipn?

спасибо за информацию.
тогда хотелось бы девелоперам предложить написать скрипт, модуль,или часть ipn модуля который сам занимался бы конвертацией айпи диапазонов.
т.е. я вношу в поле список адресов с маской, например 193.26.2.0/19, 194.21.2.0/16 (можно через запятую можно с новой строки) ну а бг сам раскидывает в привязке услуг по входящим и исходящим с начальной и конечной адресацией и авто нумерацией правил. (а дальше руками поправить номера правил легче (приоритет), чем сидеть и маски просчитывать да руками вводить около пяти сотен правил с диапазонами айпи) :roll:
ладно если допустим надо ввести локалку, или часть сервисов там фтп, ссх или смтп для просчёта, правил не так много, но если есть bgp роутер, и есть внутренняя республиканская сеть гигантских масштабов, то тут встает проблема ввода адресов в ручном режиме.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/