BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 00:13

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 21 ] 
Автор Сообщение
 Заголовок сообщения: vlan ресурсы
СообщениеДобавлено: 24 май 2015, 20:58 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Есть категория vlan ресурсов. В ней несколько диапазонов. При попытке добавить сервис и назначить клиенту влан - выбирается первый попавшийся диапазон. Хотелось бы, чтобы на разные типы клиентов (например юр.лица/физлица) были разные диапазоны, но биллинг даже не позволяет выбрать из какого диапазона брать влан, как в случае с ip адресами. Можно ли как-то привязать диапазон к сервису/группе договора или ещё к чему-нибудь? Ну или сделать так, чтобы можно было руками выбрать.

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы
СообщениеДобавлено: 25 май 2015, 12:17 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
ну сейчас можно вручную пока вбивать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы
СообщениеДобавлено: 25 май 2015, 12:19 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Это понятно. Из ответа следует, что планируется сделать примерно то, что я описал? Когда примерно?

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы
СообщениеДобавлено: 25 май 2015, 17:33 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Добавил в TODO.

По срокам - не известно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 25 май 2015, 18:47 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
еще можно в HelpDesk - доработка :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 29 май 2015, 13:38 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Чмоки всем в этом чатике :)

Раз уж вскрыли эту тему, то возник один вопрос:
У нас есть
Цитата:
ifaceTitleBeforeColon - название интерфейса из тайтла до ":". Например EPON0/1:2 = EPON0/1
ifaceTitleAfterColon - название интерфейса из тайтла после ":". Например EPON0/1:2 = 2

Так же у нас есть
Цитата:
vlan - vlan сервиса

Но у нас нет
Цитата:
vlanSvid - S-VLAN сервиса. Например 100:200 = 100
vlanCvid - C-VLAN сервиса. Например 100:200 = 200



Изображение
ШТОЭТА?!

Речь идет про Q-in-Q

Изображение

Это инкапсуляция клиентских Customer VLAN (C-VLAN) в провайдерские Service-provider VLAN (S-VLAN/SP-VLAN). Проще говоря провайдер "упаковывает" C-VLAN клиента в свой S-VLAN. Обычно эту технологию применяют для того, чтобы организовать транзит через свою сеть абоненту, который имеет несколько VLAN в своей сети, а так же для организации схемы vlan-на-пользователя, т.е. и, реже, vlan-на-дом/район.


Изображение
КАКИМ БОКОМ ТУТ БГБ?

Если говорить о голых цифрах, то на данный момент БГБ понимает 100500 VLAN, но на самом деле он позволяет работать только с 4096 :(
У нас есть ресурсы VLAN, но, как уже заметил ТС, мы не можем указать какой именно ресурс использовать.
Если мы решим использовать Q-in-Q, то мы не можем указать как соотносятся ресурсы C-VLAN и S-VLAN.
xSearchMode понимает только VLAN, т.е. нет нативной авторизации по C-VLAN или S-VLAN или S-VLAN + C-VLAN.
Скорее всего я еще что-то забыл, но общая тенденция на лицо - БГБ из коробки вообще не заточен под сети, где применяется Q-in-Q.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 29 май 2015, 14:11 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
"....Скорее всего я еще что-то забыл, но общая тенденция на лицо - БГБ из коробки вообще не заточен под сети, где применяется Q-in-Q...."

Я бы немного перефразировал :"БГБ из коробки плохо заточен под сети, где применяется вланы". Причём базовые функции организации клиентского доступа в сетях операторов, которые сейчас уже стали повседневной
практикой , в БЖБ приходится реализовывать самописным динкодом.

Пример:
1.Влан на юзера.
2.Клиенту по ДХЦП выдаётся не единичный ип , не динамически следующий свободный единичный ип, а статическая сеть например /29 в его влан.

Зачем это надо - море причин, не имеющих отношение к делу.
Сейчас это реализовано не с помощью БЖБ, к сожалению.

Подскажите мне как с помощью штатных средств БЖБ реализовать совершенно плёвую фичу isc-dhcpd, генерируемую вот таким совершенно тривиальным скриптом , который привязывает разные диапазоны ип-сеток к разным диапазонам вланов:
Код:
#!/bin/bash
d=`date +%M%H%d%m%g`
dns_childs_1=192.168.121.143
dns_childs_2=192.168.217.222
dns_left4_1=192.168.217.210
dns_left4_2=8.8.8.8
dns_left5_1=192.168.217.210
dns_left5_2=8.8.8.8
switch_left4=192.168.22.159
switch_left5=192.168.22.159
switch_childs=192.168.22.159
switch_left4_1=`echo $switch_left4|tr "." "_"`
switch_left5_1=`echo $switch_left5|tr "." "_"`
switch_childs_1=`echo $switch_childs|tr "." "_"`
cat > /root/22.dhcpd.conf.head.txt << EOF
default-lease-time 12000;
max-lease-time 30000;
authoritative;
local-address 192.168.22.254;
ddns-update-style none;
log-facility local7;
if exists agent.remote-id and exists agent.circuit-id {
log(info, "------------------------------------------------------------------------------");
set switch-addr = binary-to-ascii(10, 8, ".", packet(24, 4));
set switch-port = binary-to-ascii(10, 8, "", substring(option agent.circuit-id, 5, 1));
set switch-port-vlan = binary-to-ascii(10, 16, "", substring(option agent.circuit-id, 2, 2));
log(info, concat("- Lease: ", binary-to-ascii(10, 8, ".", leased-address), " via IP: ", switch-addr,  " on port: ", switch-port, " in VLAN: ", switch-port-vlan));
}
EOF
########################################################################################################################################################################
cat > /root/22.dhcpd.conf.tail.txt << EOF
subnet 192.168.22.0  netmask 255.255.255.0 { }
}
EOF
cat > /root/22.dhcpd.conf.middle.txt << EOF
shared-network "ipoe_22" {
EOF
#######################################################################################################
LINES=2257
while read line
do
net=`echo $line|awk '{ print $1 }'`
oct3_net=`echo $net|awk -F '.' '{print $3}'`
mask=`echo $line|awk '{ print $2 }'`
ipcalc -nb $net/$mask 29|sed '1,14d'|egrep "Network|HostMin|Broadcast"|sed -e 'N;N;s/\n/ /g'|awk '{ print $2, $4, $6 }' > /root/${oct3_net}_left4.txt
n=1
vlan_n=`cat /root/${oct3_net}_left4.txt|wc -l`
        while read LINE
        do
        net=$( echo "$LINE" |awk '{print $1}' )
        def_g=$( echo "$LINE" |awk '{print $2}' )
        brd=$( echo "$LINE" |awk '{print $3}' )
#################################################
        class=`echo $switch_left4_1'_'$LINES`
        echo 'class "'$class'"' >> left4.dhcpd.conf.1.txt
        echo '{match if  binary-to-ascii(10, 16, "", substring( option agent.circuit-id, 2, 2)) = "'$LINES'" and binary-to-ascii(10, 8, ".", packet(24, 4)) = "'$switch_childs'";}'  >> left4.dhcpd.conf.1.txt
        net_1=${net%/*}
        echo 'subnet '$net_1' netmask 255.255.255.248 {' >> left4.dhcpd.conf.2.txt
        echo 'option routers '$def_g';' >> left4.dhcpd.conf.2.txt
        echo 'option domain-name-servers '$dns_left4_1', '$dns_left4_2';' >> left4.dhcpd.conf.2.txt
        echo 'option broadcast-address '$brd';' >> left4.dhcpd.conf.2.txt
        echo 'option subnet-mask 255.255.255.248;' >> left4.dhcpd.conf.2.txt
        oct1_min=`echo $def_g|awk -F '.' '{print $1}'`
        oct2_min=`echo $def_g|awk -F '.' '{print $2}'`
        oct3_min=`echo $def_g|awk -F '.' '{print $3}'`
        oct4_min=`echo $def_g|awk -F '.' '{print $4}'`
        oct1_max=`echo $brd|awk -F '.' '{print $1}'`
        oct2_max=`echo $brd|awk -F '.' '{print $2}'`
        oct3_max=`echo $brd|awk -F '.' '{print $3}'`
        oct4_max=`echo $brd|awk -F '.' '{print $4}'`
        oct4_min_1=$(( $oct4_min + 1 ))
        oct4_max_1=$(( $oct4_max - 1 ))
        echo 'pool {range '$oct1_min'.'$oct2_min'.'$oct3_min'.'$oct4_min_1' '$oct1_max'.'$oct2_max'.'$oct3_max'.'$oct4_max_1'; allow members of "'$class'"; }}'  >> left4.dhcpd.conf.2.txt
        LINES=$(( $LINES + 1 ))
        n=$(( $n + 1 ))
        if [ $n -gt $vlan_n ]
        then
        break
        else
        continue
        fi
        done < /root/${oct3_net}_left4.txt
done < //root/ipoe_users_left4
###########################################################################################################################################################################
LINES=2513
while read line
do
net=`echo $line|awk '{ print $1 }'`
oct3_net=`echo $net|awk -F '.' '{print $3}'`
mask=`echo $line|awk '{ print $2 }'`
ipcalc -nb $net/$mask 29|sed '1,14d'|egrep "Network|HostMin|Broadcast"|sed -e 'N;N;s/\n/ /g'|awk '{ print $2, $4, $6 }' > /root/${oct3_net}_left5.txt
n=1
vlan_n=`cat /root/${oct3_net}_left5.txt|wc -l`
        while read LINE
        do
        net=$( echo "$LINE" |awk '{print $1}' )
        def_g=$( echo "$LINE" |awk '{print $2}' )
        brd=$( echo "$LINE" |awk '{print $3}' )
#################################################
        class=`echo $switch_left5_1'_'$LINES`
        echo 'class "'$class'"' >> left5.dhcpd.conf.1.txt
        echo '{match if  binary-to-ascii(10, 16, "", substring( option agent.circuit-id, 2, 2)) = "'$LINES'" and binary-to-ascii(10, 8, ".", packet(24, 4)) = "'$switch_childs'";}'  >> left5.dhcpd.conf.1.txt
        net_1=${net%/*}
        echo 'subnet '$net_1' netmask 255.255.255.248 {' >> left5.dhcpd.conf.2.txt
        echo 'option routers '$def_g';' >> left5.dhcpd.conf.2.txt
        echo 'option domain-name-servers '$dns_left5_1', '$dns_left5_2';' >> left5.dhcpd.conf.2.txt
        echo 'option broadcast-address '$brd';' >> left5.dhcpd.conf.2.txt
        echo 'option subnet-mask 255.255.255.248;' >> left5.dhcpd.conf.2.txt
        oct1_min=`echo $def_g|awk -F '.' '{print $1}'`
        oct2_min=`echo $def_g|awk -F '.' '{print $2}'`
        oct3_min=`echo $def_g|awk -F '.' '{print $3}'`
        oct4_min=`echo $def_g|awk -F '.' '{print $4}'`
        oct1_max=`echo $brd|awk -F '.' '{print $1}'`
        oct2_max=`echo $brd|awk -F '.' '{print $2}'`
        oct3_max=`echo $brd|awk -F '.' '{print $3}'`
        oct4_max=`echo $brd|awk -F '.' '{print $4}'`
        oct4_min_1=$(( $oct4_min + 1 ))
        oct4_max_1=$(( $oct4_max - 1 ))
        echo 'pool {range '$oct1_min'.'$oct2_min'.'$oct3_min'.'$oct4_min_1' '$oct1_max'.'$oct2_max'.'$oct3_max'.'$oct4_max_1'; allow members of "'$class'"; }}'  >> left5.dhcpd.conf.2.txt
        LINES=$(( $LINES + 1 ))
        n=$(( $n + 1 ))
        if [ $n -gt $vlan_n ]
        then
        break
        else
        continue
        fi
        done < /root/${oct3_net}_left5.txt
done < //root/ipoe_users_left5
#######################################################################################################
LINES=1769
while read line
do
net=`echo $line|awk '{ print $1 }'`
oct3_net=`echo $net|awk -F '.' '{print $3}'`
mask=`echo $line|awk '{ print $2 }'`
ipcalc -nb $net/$mask 29|sed '1,14d'|egrep "Network|HostMin|Broadcast"|sed -e 'N;N;s/\n/ /g'|awk '{ print $2, $4, $6 }' > /root/${oct3_net}_childs.txt
n=1
vlan_n=`cat /root/${oct3_net}_childs.txt|wc -l`
        while read LINE
        do
        net=$( echo "$LINE" |awk '{print $1}' )
        def_g=$( echo "$LINE" |awk '{print $2}' )
        brd=$( echo "$LINE" |awk '{print $3}' )
#################################################
        class=`echo $switch_childs_1'_'$LINES`
        echo 'class "'$class'"' >> childs.dhcpd.conf.1.txt
        echo '{match if  binary-to-ascii(10, 16, "", substring( option agent.circuit-id, 2, 2)) = "'$LINES'" and binary-to-ascii(10, 8, ".", packet(24, 4)) = "'$switch_childs'";}'  >> childs.dhcpd.conf.1.txt
        net_1=${net%/*}
        echo 'subnet '$net_1' netmask 255.255.255.248 {' >> childs.dhcpd.conf.2.txt
        echo 'option routers '$def_g';' >> childs.dhcpd.conf.2.txt
        echo 'option domain-name-servers '$dns_childs_1', '$dns_childs_2';' >> childs.dhcpd.conf.2.txt
        echo 'option broadcast-address '$brd';' >> childs.dhcpd.conf.2.txt
        echo 'option subnet-mask 255.255.255.248;' >> childs.dhcpd.conf.2.txt
        oct1_min=`echo $def_g|awk -F '.' '{print $1}'`
        oct2_min=`echo $def_g|awk -F '.' '{print $2}'`
        oct3_min=`echo $def_g|awk -F '.' '{print $3}'`
        oct4_min=`echo $def_g|awk -F '.' '{print $4}'`
        oct1_max=`echo $brd|awk -F '.' '{print $1}'`
        oct2_max=`echo $brd|awk -F '.' '{print $2}'`
        oct3_max=`echo $brd|awk -F '.' '{print $3}'`
        oct4_max=`echo $brd|awk -F '.' '{print $4}'`
        oct4_min_1=$(( $oct4_min + 1 ))
        oct4_max_1=$(( $oct4_max - 1 ))
        echo 'pool {range '$oct1_min'.'$oct2_min'.'$oct3_min'.'$oct4_min_1' '$oct1_max'.'$oct2_max'.'$oct3_max'.'$oct4_max_1'; allow members of "'$class'"; }}'  >> childs.dhcpd.conf.2.txt
        LINES=$(( $LINES + 1 ))
        n=$(( $n + 1 ))
        if [ $n -gt $vlan_n ]
        then
        break
        else
        continue
        fi
        done < /root/${oct3_net}_childs.txt
done < /root/ipoe_users_childs
############################################################################################################################################################################
cat left4.dhcpd.conf.1.txt left5.dhcpd.conf.1.txt childs.dhcpd.conf.1.txt 22.dhcpd.conf.middle.txt left4.dhcpd.conf.2.txt left5.dhcpd.conf.2.txt childs.dhcpd.conf.2.txt > dhcpd_22.conf.0.txt
cat 22.dhcpd.conf.head.txt dhcpd_22.conf.0.txt 22.dhcpd.conf.tail.txt > dhcpd_22.conf.txt
exit 0


Кстати этот скрипт генерит конфиги для 8 isc-dhcpd, каждый из которых работает в своём s-vlan и раздаёт по opt.82 ип-ы в c-vlanы кустомеров.
В бжб эта инфа прописывается уже как данная извне, для руления руления доступом и шейпингом на шлюзах клиентов, но не как не для раздачи этих ип.

P.S.
Кстати отправной точкой информацци для этого скрипта является всего лишь одна строка в файлах ipoe_users_*
вида :"10.129.56.0 21" (сетевой адрес диапазона и маска диапазона, который надо "нашинковать" на сетки /29 и распылить по вланам)

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 29 май 2015, 15:25 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ok-2004 писал(а):
базовые функции организации клиентского доступа в сетях операторов, которые сейчас уже стали повседневной практикой, в БЖБ приходится реализовывать самописным динкодом

Изображение

В текущем варианте БГБ видит сеть оператора как сеть, где может существовать только 4к вланов, т.к. именно таким кол-вом вланов БГБ позволяет оперировать в автоматическом режиме (этот топик, сосбно, об этом). Это хоршо и удобно, но только пока оператор - пользователь БГБ, не столкнется с тем, что 4к вланов - это не так уж и много, как многим кажется. Когда встает вопрос об увеличении кол-ва вланов, то в БГБ есть где их хранить, но нет механизмов чтобы _удобно_ с ними работать.

Динкод - это, безусловно, хорошо, т.к. встроенный скриптинг - это то что положительно отличает БГБ от других биллингов, т.к. дает в наши руки инструмент для незначительных правок "под себя" не мешая работе биллинга как такового, но когда, в силу отсутствия в БГБ требуемого функционала, почти всю логику приходится строить на динкоде - это однозначно плохо. В эпоху тачскринов и приложений с иконками олдскульное массированное допиливание напильником отпугивает от БГБ очень многих.


ok-2004 писал(а):
скрипт генерит конфиги для 8 isc-dhcpd, каждый из которых работает в своём s-vlan и раздаёт по opt.82 ип-ы в c-vlanы

Вот один из примеров, на котором видно, что БГБ (в данном случае речь про его DHCP) ничего не знает про, ставшую уже для многих операторов, реальность, в которой существует 4к операторских вланов и 16М клиентских вланов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 29 май 2015, 18:55 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Мы не заставляем писать скрипты/дин классы. Дин классы в основном именно для
Цитата:
незначительных правок "под себя"

Т.е. в основном мы стараемся делать универсальную реализацию, которую можно настраивать в конфиге, как пример: ISGServiceActivator, SmartEdgeServiceActivator, при этом вы можете посмотреть что там внутри и подправить, можете предложить добавить это в стандартную реализацию, можете попросить добавить функционал нас.

Для этого и запилили виртуалку (которую будем дополнять), чтобы было видно, что для связки с распространенными схемами не обязательно писать скрипты, можно всего лишь настроить конфиги.

Цитата:
базовые функции организации клиентского доступа в сетях операторов, которые сейчас уже стали повседневной практикой
Частая причина отсутствия функционала - что его никто не просил.

Сейчас VLAN-ресурс зависит от устройства, к которому привязан сервис на договоре.
Что в итоге нужно? Возможность выбора VLAN? Или к чему еще привязвать ресурс VLAN - к ресурсу IP-адресов?
Откуда брать C-VLAN и S-VLAN когда приходит DHCP-запрос?


Недостаточно создать тип устройства - S-VLAN, в дереве устройств добавить несколько таких (1,2,3,4,5,6...), в каждом прописать свой ресурс VLAN, а внутри такого устройства S-VLAN уже будут свои коммутаторы? Тогда и поиск по VLAN вроде должен работать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 29 май 2015, 21:44 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Цитата:
внутри такого устройства S-VLAN уже будут свои коммутаторы?

Вот именно, что в схеме влан на юзера устройства типа "коммутатор" или "vlan" быть ваще не должно.
Походу в БЖБ пора вводить ресурсы типа "ассоциативный массив" vlan <-> ип-адрес(сеть).
Здесь ведь вот в чём дело.
Конкретный ип по номеру влана и ип dhcp-relay-я можно выдать по dhcp только в s-vlan.
При организации схемы Q-in-Q( когда s-vlan-ы со домовых свитчей уровня доступа "упаковываются" в c-vlan-ы свитчами агрегации района организуется управляющий влан, охватывающий все свитчи уровня доступа с этого района.
Т.е 1-ый район : s-vlan-ы : c 21 по 4000-ый управляющий влан : 4001
Т.е 3-ый район : s-vlan-ы : c 21 по 4000-ый управляющий влан : 4002
......
Т.е 94-ый район : s-vlan-ы : c 21 по 4000-ый управляющий влан : 4094
Диапазон c-vlan-ов : c 2 по 20 например, управляющих вланов : с 4001 по 4094 напрмер.
(Я просто не видел провайдера у которого используются все 2 в 12 -ой степени c-vlan и s-vlan)
dhcp-пакеты с оtp.82 cо свитчей доступа района приходят на dhcp-server по управляющему влану района.

Прелесть селективного Q-in-Q заключается в том что s-vlan-ы района можно оборачивать внешним тегом c-vlan-а а управляющие vlan-ы "реплейсить" тем же тегом этого управляющего влана.
В результате в центр ( где стоят BGB-InetAccess типа dchp ) придут и управляющие вланы с одним тегом так и s-vlan-ы с двумя тегами.
Конечно BGB-InetAccess может реагировать только на пакеты c opt.82 приходящие в управляющих вланах с районов.
Это значит , что он должен стоять на сервере с сетевым интерфейсом, развиланеным управляющими вланами районов и управлять dhcp-процессами , слушащими каждый в своём управляющем влане.
Получается что-то типа этого:

-BGBInetAccess
--dhcp-process 1-го района
---dhcp-relay_1 1-го района
---dhcp-relay_2 1-го района
...
---dhcp-relay_n 1-го района
--dhcp-process 2-го района
---dhcp-relay_1 2-го района
---dhcp-relay_2 2-го района
...
---dhcp-relay_n 2-го района
...........
...........
--dhcp-process n-го района
---dhcp-relay_1 n-го района
---dhcp-relay_1 n-го района
...
---dhcp-relay_n n-го района
А вот к dhcp-relay-ям районов привязываются ресурсы типа "ассоциативный массив" vlan <-> ип-адрес(сеть).
К слову сказать - у нас по одному dhcp-relay на район, потому что у нас dhcp-relay-свитч работает как dhcp-relay 2-го уровня, т.е. "сбоку" от основного траффика и ваще включён в сеть тока одним портом.
При Q-in-Q будет просто дерево из dhcp-relay-ев dhcp-процессов.
В дереве устройств между "лесенкой" dhcp-relay-ев и BGB-InetAccess ,будет стоять шлюз, терминирующий C-vlan:S-vlan
В командах которого будет просто указано:
Код:
sa.command.inetOption.1.enable=/queue/simple/set\n=max-limit=0/1M\n=numbers=vlan$c-vlan_i:$s-vlan_j
sa.command.inetOption.1.disable=/queue/simple/set\n=max-limit=0/100M\n=numbers=vlan$c-vlan_i:$s-vlan_j
.....
sa.command.serv.create.1=/ip/firewall/address-list/add\n=address=$ip/29\n=list=ACCESS_LIST\n=comment=!!$servId!!\n=disabled=yes
sa.command.serv.create.2=/queue/simple/add\n=max-limit=0/100M\n=target=vlan$c-vlan_i:$s-vlan_j\n=name=vlan$c-vlan_i:$s-vlan_j\n=comment=vlan$c-vlan_i:$s-vlan_j
sa.command.serv.enable=/ip/firewall/address-list/enable\n=numbers="!!$servId!!"
sa.command.serv.disable=/ip/firewall/address-list/disable\n=numbers="!!$servId!!"
sa.command.serv.cancel.1=/ip/firewall/address-list/remove\n=numbers="!!$servId!!"
sa.command.serv.cancel.2=/queue/simple/remove\n=numbers=vlan$c-vlan_i:$s-vlan_j

( в командах например микротика )
Инфа о c-vlan к нему будет приходить с dhcp-process-а n-го района ( в его параметрах можно указывать только с-vlan района и управляющий влан района ).
Инфа о ip и о s-vlan к нему будет приходить с "ассоциативного массива" c-vlan <-> ип-адрес(сеть) с dhcp-relay_i n-го района.
BGBInetAccounting будет стоять над BGBInetAccess и собирать инфу по нетфлоу с бордера, через который проходит траффик с пучка c-vlan:s-vlan.

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 29 май 2015, 22:12 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Amir писал(а):
Сейчас VLAN-ресурс зависит от устройства, к которому привязан сервис на договоре.

Представьте, что ресурсы VLAN - это некий стол, где в каждом ящике (категории VLAN ресурсов) лежат карандаши (VLAN). Мы сидим за этим столом (в клиенте открыт сервис) и в зависимости от ситуации (например см. 1-й пост), мы решаем из какого именно ящика взять очередной карандаш (VLAN) для Иванова, Петрова, Сидорова (устройства) и т.д.
Представили? Вот скажите мне теперь, зачем привязывать выдачу VLAN к устройствам?


Amir писал(а):
Что в итоге нужно? Возможность выбора VLAN?

Да.
Например у нас есть 2 категории ресурсов VLAN:
- физ. лица - VLAN 100-199
- юр. лица - VLAN 200-299
Мы должны иметь возможность выбрать для определенного договора определенную категорию ресурсов VLAN.
Было бы замечательно, если выбор будет зависеть от группы договоров, как некоей сущности позволяющей объединять договоры.


Amir писал(а):
к чему еще привязвать ресурс VLAN - к ресурсу IP-адресов?

IMHO vlan.resource.category надо указывать, например, в корневом устройстве - тогда все устройства этого "дерева" будут иметь доступ ко всем VLAN ресурсам и смогут ими пользоваться.
Туда же, кстати, можно вынести и некие, общие для всех устройств, ip.resource.categoryId.


Amir писал(а):
Откуда брать C-VLAN и S-VLAN когда приходит DHCP-запрос?

Из ресурсов VLAN, правда их для этого надо будет допилить :)
Можно добавить ниже "Название", до "Диапазон VLAN" поле "S-VLAN", которое имеет значения:
  • -1 или 0 (вам решать как удобнее) - по умолчанию. Означает, что Q-in-Q не используется.
  • 1-4096 - S-VLAN ID. Если заполнено в рамках разрешенных значений - это означает, что используется Q-in-Q и ресурсы из этой категории будут использованы как vlanSvid и vlanCvid.
Можно допилить генератор и выдавалку вланов, чтобы они понимали конструкцию вида "100:200", т.е. "vlanSvid:vlanCvid", но тогда вланы перестанут быть int-ами.
Впрочем, тут вам решать как именно удобнее это водрузить в БГБ так, чтобы с этим было проще и удобнее работать в плане кода.


ok-2004 писал(а):
в схеме влан на юзера устройства типа "коммутатор" или "vlan" быть ваще не должно

"Борис, ты не прав"(с) :)
Устройство типа "свич" - это, прежде всего, место применения настроек для организации "vlan", т.е., проще говоря, конкретизации места "приземления" клиентского сервиса.


ok-2004 писал(а):
s-vlan-ы со свитчей уровня доступа "упаковываются" в c-vlan-ы свитчами агрегации

Ты того, не путай мне тут Бител!
Если хотел сказать
ok-2004 писал(а):
c-vlan-ы со свитчей уровня доступа "упаковываются" в s-vlan-ы свитчами агрегации

То так и скажи! :D


ok-2004 писал(а):
в БЖБ пора вводить ресурсы типа "ассоциативный массив" vlan <-> ип-адрес(сеть)

А если не IPoE, а РРРоЕ или просто предоставление каналов без всякой "терминации"?
Право же не стоит путать VLAN-ы как ресурс и технологии которые с их помощью можно использовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 30 май 2015, 12:06 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Цитата:
Ты того, не путай мне тут Бител!

Да - конечно, уже мозги под вечер вскипели, c-vlan - "внизу",s-vlan "вверху"
Цитата:
Борис, ты не прав"(с)

Ну я тут малешко слукавил, конечно должно, но скорее для целей инвентаризации.т.е. учесть ип-свитча, его физ.адресс и номер порта и влана.
Например title.inet_serv_* у нас имеет вид:
1008:172.18.150.56:222.177:12 (номер влана пользователя:сетевой ип-адрес:ип свитча в котором он торчит:номер его порта)
Но эту кухню приходится держать скорее для саппорта.

По-моему убеждению - dhcp-relay -свитч должен быть один на s-vlan, в моих терминах - на район.Конечно кое-где ещё встречаются "перегибы на местах" - народ dhcp-relay прямо на
свитчах доступа включает по старой памяти,нахлобучивая на сверху на "vlan-per-user" еще и IPMB через dhcp-snooping.

И вообще это ещё надо подумать - какого типа должно быть это устройство... типа "свитч" ? - А зачем.
Нас интересует тока его ип, для того чтобы выделить его от других dhcp-relay-ев, ну и диапазон вланов который он релеет.

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 30 май 2015, 13:31 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ok-2004 писал(а):
для целей инвентаризации.т.е. учесть ип-свитча, его физ.адресс и номер порта и влана.
Например title.inet_serv_* у нас имеет вид:
1008:172.18.150.56:222.177:12 (номер влана пользователя:сетевой ип-адрес:ип свитча в котором он торчит:номер его порта)
Но эту кухню приходится держать скорее для саппорта.

Посмотри здесь - там чел рассказывает довольно интересную схему инвентаризации ;)


ok-2004 писал(а):
По-моему убеждению - dhcp-relay -свитч должен быть один на s-vlan, в моих терминах - на район.

Я считаю, что красивее всего выглядит схема с L2 connected юзерами, т.е. когда клиентский VLAN доходит прямиком до BRAS где с ним и работаешь, т.е. вся сеть превращается в тупой транспорт VLAN/МАС от юзера до умного BRAS.
Т.к. у тебя в сети Q-in-Q, то я бы посоветовал выкинуть софтовый микротик и поставить на его место железный SE100, который, при помощи RADIUS-а, тебе будет скорости нарезать, редиректы при не оплате делать и еще много чего. Реально хорошая железка, попробуй, еще захочешь ;)


Последний раз редактировалось snark 02 июн 2015, 13:27, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 02 июн 2015, 09:52 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Цитата:
...что красивее всего выглядит схема с L2 connected юзерами...

Истиная правда. Спускать L3-терминацию на доступ накладно. Просто из-за природного косноязычия я опять нечётко выразился.
Тока и тока L2-коннектед.
Цитата:
dhcp-relay -свитч должен быть один на s-vlan
- имелось ввиду , что он должен быть единственным свитчём, на котором включена opt.82 "на районе" .
К сожалению делать selective qinq на свитчах агрегации не всегда удобно. Поэтому приходиться пригонять все c-vlan-ы в свитч агрегации тагом и делать все downlink-порты нетагированными в s-vlan-e и в uni - моде ( port-based qinq)
При этом естественно свитч агрегации, (который внутри себя видит тока s-vlan) не сможет "срелеить" с установкой opt.82
dhcp-запросы юзеров.
А это значит, что единственным устройством с сети , кто это может сделать , является сам BRAS.
При этом получается, что в дереве устройств BRAS выступает уже не только как инет-шлюз но и как dhcp-relay устройство.
Например в микротиках или в isc-dhcp-relay инфа о юзере передаётся в виде МАК-а юзера <-> порт БРАСа.
А это значит, что в данной схеме уже и влан не главное.
А главное - связка "порт bras-a <-> ип-адрес кустомера"
А это значит , что вопрос :
Цитата:
....А если не IPoE, а РРРоЕ или просто предоставление каналов без всякой "терминации"?
Право же не стоит путать VLAN-ы как ресурс ...

мы вродь можем успешно обогнуть...

Цитата:
Посмотри здесь - там чел рассказывает довольно интересную схему инвентаризации ;)

- попробывал ( залогинился есс-ноо ) : "[#10342] Система не смогла найти форум, которому принадлежит тема. "

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 02 июн 2015, 13:51 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ok-2004 писал(а):
свитч агрегации, (который внутри себя видит тока s-vlan) не сможет "срелеить" с установкой opt.82
dhcp-запросы юзеров.
А это значит, что единственным устройством с сети , кто это может сделать , является сам BRAS.
При этом получается, что в дереве устройств BRAS выступает уже не только как инет-шлюз но и как dhcp-relay устройство.

Так это же замечательно! Одно устройство == меньше настроек, правда под пивко уже не позалипаешь в БГБ рисуя адреса :D Хочешь - авторизуй по C-VLAN, а хочешь - по S-VLAN + C-VLAN, т.е. авторизуешь сам VLAN, а там выдаешь адреса и пихаешь их под один полисер. На эриксоне это выглядит примерно так:
ingress писал(а):
авторизация S-VLAN/С-VLAN:
Код:
port ethernet 2/2
 encapsulation dot1q
 dot1q pvc 200 encapsulation 1qtunnel
  dot1q pvc on-demand 200:200 through 400 aaa



ok-2004 писал(а):
попробывал ( залогинился есс-ноо ) : "[#10342] Система не смогла найти форум, которому принадлежит тема."

Сорри, я лоханулся - не ту ссылку указал, да еще и в закрытый раздел :facepalm:
Поправил. Сейчас там правильная ссылка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 10 авг 2015, 16:06 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Нашёл ещё косяк. Если создать сервис задним числом, то он выдаёт свободный влан на дату, которая выбрана, даже если на текущий момент он занят другим клиентом.

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 10 авг 2015, 16:14 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
PavelGloba писал(а):
Нашёл ещё косяк. Если создать сервис задним числом, то он выдаёт свободный влан на дату, которая выбрана, даже если на текущий момент он занят другим клиентом.

Опишите с примерами дат пожалуйста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 10 авг 2015, 17:04 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Список занятых вланов:
Изображение

Создаём сервис задним числом, тыкаем на кнопку влана - подставляет занятый другим абонентом:
Изображение
Создаём сервис сегодняшним числом, тыкаем кнопку влана - всё ок:
Изображение

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 11 авг 2015, 12:50 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
все правильно . на 01.08.2015 3006 vlan свободен. там проверяются свободные на дату, не на диапазон . Сохранить он его не даст.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 12 авг 2015, 02:03 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
stark писал(а):
все правильно . на 01.08.2015 3006 vlan свободен. там проверяются свободные на дату, не на диапазон . Сохранить он его не даст.

А в чём логика?)

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: vlan ресурсы (CRM)
СообщениеДобавлено: 12 авг 2015, 17:14 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
PavelGloba писал(а):
stark писал(а):
все правильно . на 01.08.2015 3006 vlan свободен. там проверяются свободные на дату, не на диапазон . Сохранить он его не даст.

А в чём логика?)


У нас исторически так сложилось.Например вы когда свободные ip в inet списком выводите , там тоже на дату, там только одно поле указываете . Проверяли всегда на дату .Это в ipn и phone тоже так .


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.060s | 58 Queries | GZIP : On ]