Перейти к содержимому
Калькуляторы

BDCOM P3310B и OPT82 remote-id = ONU, а надо = OLT

Доброго дня,

 

Настраиваю свой первый OLT от BDCOM'а... Столкнулся с такой проблемой: Сейчас конфигурация существующей сети на свичах и соответственно биллинг предполагают что от L3 устройства, где терминируется влан абонента (сеть - влан на юзера) должен придти dhcp запрос с выставленной option 82, в которой remote-id это мак адрес L2 устройства = свича доступа, а circuit-id это номер порта на этом L2 устройстве. Чтобы не городить новый огород ради GEPON'а думал подменить свич доступа железкой OLT. Мешает только одно - bdcom присылает в качестве remote-id мак адрес онушки, причем circuit-id приходит правильный (номер gepon сабинтерфейса на olt). Можно что-нибудь с этим сделать?

 

Моя конфигурация:

interface GigaEthernet0/1
switchport trunk vlan-allowed 51,1301,1364
switchport trunk vlan-untagged 50
switchport mode trunk
switchport pvid 50
 dhcp snooping trust

interface EPON0/1
epon bind-onu mac fcfa.f7c5.ab36 1
epon bind-onu mac fcfa.f7c5.ab30 64
switchport mode trunk
!
interface EPON0/1:1
onu-configuration
 epon onu port 1 ctc vlan mode tag 1301
!!onu-configuration-end
!         
interface EPON0/1:64
onu-configuration
 epon onu port 1 ctc vlan mode tag 1364
!!onu-configuration-end

interface VLAN51
ip address XXX.XXX.XXX.XXX 255.255.255.0

vlan 1,50-51,1301,1364

ip dhcp-relay snooping
ip dhcp-relay snooping vlan  1301,1364
ip dhcp-relay snooping information option format hn-type

 

sh version

BDCOM P3310B Software, Version 10.1.0B Build 14297

Copyright by Shanghai Baud Data Communication CO. LTD.

Compiled: 2013-8-23 15:18:53 by SYS_14297, Image text-base: 0x80008000

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ничего с этим сделать нельзя. В ручном режиме нельзя использовать переменные, поэтому нужно менять логику DHCP.

 

Я изучил формат 'hn-type host', может кому пригодится.

 

ip dhcp-relay snooping information option format hn-type host

 

[52] - Опция 82
[27] - Длина данных опции 82

[01] - Под-опция номер 1 (agent circuit id) опции 82
[05] - Длина под-опции 1
[0001000702] - Данные о номере "порта" на OLT, точно не знаю как распарсить

[02] - Под-опция номер 2 (agent remote id) опции 82
[06] - Длина под-опции 2
[fcfaf7d854b7] - MAC ONU

[09] - Под-опция номер 9 опции 82
[15] - Длина данных всей под-опции
[00000cf8] - Код вендора (3320)
[10] - Длина данных хоста
[01] - Код 1
[00] - Длина данных в коде 1
[02] - Код 2
[06] - Длина данных в коде 2
[424454455354] - hostname устройства (BDTEST)
[03] - Код 3
[04] - Длина данных в коде 3
[0ae462fa] - IP-адрес хоста (10.228.98.250)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А у меня следующая проблема. Необходим remote_id мак адрес головы (CPU). А мне подставляет мак одного из портов ONU0/1-0/4, и к тому-же порт отдает фиксированный для для 0/1 это 7

0/2 это 8 и т.д.

Настройки следующие:

ip dhcp-relay snooping

ip dhcp-relay snooping information option

ip dhcp-relay agent

ip dhcp-relay helper-address 10.17.17.17 vlan 3257.

 

Если подставляю type format hn-type, радиус не вообще не определяет данный формат. Мне необходимо remote_id mac головы, circuit id виртуальный порт ONU. Какие тут могут быть варианты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я не хочу показаться банален, но перестать инсертить опшинс82 на доступе и бороться с вечным зоопарком. Перейти на vlan per user.

 

На bdcomе через темлейты можно сгенерировать конфиги для каждой онушки со своим вланом. А дальше как нравится : мы например запаковываем на аггрегации все абонентские вланы в верхний тег и тянем до браса.

 

Если по каким-то причинам не получается купить/использовать аппаратный - есть замечательный софтовый продукт accel-ppp, на форуме есть ветка в которой присутствует разработчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Господа, а чисто заодно. Может кто подскажет почему у меня dhcp через helper-а не работает?

Я не могу понять, мне пишет:

 

Feb 5 02:37:18 DHCPR: ip source address is not relay agent helper address, drop it

 

Хотя

ip dhcp-relay helper-address 10.228.98.251 vlan 1261,2201,3201

соответсвует реально адресу источника

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а в темплейте получится для новой онушки заюзать новый Влан (то есть указать какой то диапазон..) Чтобы онушки были с разными вланами

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а в темплейте получится для новой онушки заюзать новый Влан (то есть указать какой то диапазон..) Чтобы онушки были с разными вланами

 

Если это вопрос, то ответ - да, там это делается генерацией шаблона под каждую онушку.

 

Я в баше нагенерил под каждую онушку темлейт и прибиндил к EPON порту. По 64 темлейта на каждый EPON порт.

 

На первом, например, 3101-3164, на втором - 3201-3264 и тд.

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

 

Таким образом конфигурация OLT всюду однотипная только IP и vlan управления в зависимости от места установки.

 

 

P.S : софт у BDCOM - ад ! Мы были участником пилотной программы, когда ic-line только начали завозить на Украину. ОЛТ стояло на столе, а я месяц общался с китайском девушкой Ann. Каждый день мне присылали прошивочки с типа фиксами. Показывали видео, что у них то с IPTV на ОЛТ все ок, тестируя при этом юникаст, хотя два дня до этого показывал им конфиги мультикаста. R&D даже заходили по телнету на железку ! Веселое было время :)

 

Кроме vlan-ов и mvr там ничего не использую и Вам не советую :) Там даже радиус авторизация не работает, а когда вдруг начинает работать, то после 3-го неудачного логина - отправляет ОЛТ в ребут )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Насчет конфигов под онушки - прикольное решение )) ход конем )

Я вообще кроме Вланов ничего не юзею, даже mvr

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кроме vlan-ов и mvr там ничего не использую и Вам не советую :)

+1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чтобы закрепить тему с софтом от BDCOM.

 

Приехала новая партия онушек 151C - которые с 1 PON и 1 GigabitEthernet портом. Так вот : приехали с прошивкой 10.0.17A 1009(прошлая 1007), если клиентский девайс 100-мегабитный не согласовуют скорость - ничего не работает. Принудительно на 100 мегабит заводится.

Теперь приходится все их перешивать в 1007. Благо хоть у них имейж весит не так много, и нет надобности удалять имейж самой ОЛТ, чтобы их зашивать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Просто интересно из каких соображений байдаком лепит в remote-id мак онушки , ведь онушка не самостоятельное Л2 устройство . Я конечно понимаю что у друзей китайцев популярные изделия в виде многопортовых онушек , но позвольте в таком случае нужно учить онушки вставлять опцию 82 . А так получается нужно городить какие то костыли вообще не понятного мне например характера .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Решение вопроса ip dhcp-relay snooping information option format cm-type

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Продолжаем разговор про OLT BDCOM и работу с Opt.82 :)

Получили на тест комплект из P3310B + 4шт BDCOM P1004 + 1шт BDCOM 1501C

 

Настраиваю схему vlan-per-user. Собрал тестовый стенд.

CAT3750G-->OLT-->ONU

 

для двух ONU выделил и настроил вланы 21 и 218 соответственно. Пробросил до 3750G где поднял ip-unnumbered для SVI.

На linux-e поднял isc-dhcp со следующей настройкой.

 

ddns-update-style none;

option domain-name "pesochnica.ru";

option domain-name-servers 95.108.163.225, 8.8.8.8 ;

 

default-lease-time 600;

max-lease-time 7200;

 

authoritative;

log-facility local7;

 

subnet 95.108.163.224 netmask 255.255.255.224 {

}

 

log(info, "***");

if exists agent.circuit-id {

log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (with opt82)") );

 

log( info,concat("*SWITCH: ",binary-to-ascii(16,8,":",substring(option agent.remote-id,1,6))) );

log( info,concat("*VLAN: ",binary-to-ascii (10,16,"",substring(option agent.circuit-id,2,2))) );

log( info,concat("*OLT: ",binary-to-ascii(10,8,"",suffix(option agent.circuit-id,1))) );

 

} else {

log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (without opt82)") );

}

 

class "vlan21" { match if binary-to-ascii (10,16, "", substring(option agent.circuit-id, 2, 2))="21"; }

class "vlan218" { match if binary-to-ascii (10,16, "", substring(option agent.circuit-id, 2, 2))="218"; }

 

shared-network pesochnica {

subnet 95.108.160.0 netmask 255.255.254.0 {

option routers 95.108.160.1;

option subnet-mask 255.255.254.0;

pool { range 95.108.160.20; allow members of "vlan218"; }

}

 

subnet 95.108.163.96 netmask 255.255.255.224 {

option routers 95.108.163.97;

option subnet-mask 255.255.255.224;

 

pool { range 95.108.163.98; allow members of "vlan21";}

}

}

 

Запускаю , кури логи, вижу только:

Nov 7 11:21:42 iptv2 dhcpd: DHCPDISCOVER from 00:1a:79:22:de:2f via 10.7.0.2: unknown network segment

 

 

Настройки OLD P3310B :

 

BDCOM-OLT#1:#sh conf

!version 10.1.0B build 18986

service timestamps log date

service timestamps debug date

service password-encryption

!

hostname BDCOM-OLT#1:

!

ip default-gateway 10.7.0.1

!

spanning-tree mode rstp

!

aaa authentication login default local

aaa authentication enable default enable

aaa authorization exec default local

!

username boom password 7 vjkjltwxnjghjxbnfk

!

!!slot 0 84

interface GigaEthernet0/1

shutdown

!

interface GigaEthernet0/2

shutdown

!

interface GigaEthernet0/3

shutdown

!

interface GigaEthernet0/4

shutdown

!

interface GigaEthernet0/5

shutdown

!

interface GigaEthernet0/6

description UPLINK-TO-CORE

switchport trunk vlan-allowed 7,21,218,998

switchport mode trunk

dhcp snooping trust

arp inspection trust

ip-source trust

!

interface EPON0/1

!ONU 1501C1

epon bind-onu mac fcfa.f7c6.089a 1

!ONU P1004

epon bind-onu mac fcfa.f7d8.c403 2

switchport trunk vlan-allowed 21,218,998

switchport mode trunk

!

interface EPON0/1:1

onu-configuration

epon onu port 1 ctc vlan mode tag 218

epon onu port 1 ctc mcst tag-stripe enable

epon onu port 1 ctc mcst mc-vlan add 998

!!onu-configuration-end

!

interface EPON0/1:2

onu-configuration

epon onu port 1 ctc vlan mode tag 21

epon onu port 1 ctc mcst tag-stripe enable

epon onu port 1 ctc mcst mc-vlan add 998

!!onu-configuration-end

!

interface EPON0/2

shutdown

!

interface EPON0/3

shutdown

!

interface EPON0/4

shutdown

!

!!slot end

!

interface VLAN7

ip address 10.7.0.2 255.255.255.0

!

vlan 7

name OLT-MANAGEMENT-L2

!

vlan 21

name TEST-VLAN2

!

vlan 218

name TEST-VLAN

!

vlan 998

name IPTV

!

vlan 1,7,21,218,998

!

ip mcst enable

ip mcst series-connection

ip mcst mrouter interface GigaEthernet0/6

ip mcst mc-vlan 998 range 233.1.1.1 - 233.1.1.16

!

ip dhcp-relay snooping

ip dhcp-relay snooping vlan 21,218

ip dhcp-relay snooping information option format hn-type

ip dhcp-relay helper-address 95.108.163.237 vlan 7,21,218

!

!Pending configurations for absent linecards:

!

!No configurations pending global

 

 

Где я ошибся?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

где то в дхцп, до него же долетает что то. только не видно что,

вот этот кусок

log(info, "***");
if exists agent.circuit-id {
log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (with opt82)") );

log( info,concat("*SWITCH: ",binary-to-ascii(16,8,":",substring(option agent.remote-id,1,6))) );
log( info,concat("*VLAN: ",binary-to-ascii (10,16,"",substring(option agent.circuit-id,2,2))) );
log( info,concat("*OLT: ",binary-to-ascii(10,8,"",suffix(option agent.circuit-id,1))) );

} else {
log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (without opt82)") );
}

вообще выполняется?

 

А так вполне нормальынй ответ что запрос пришел с сегмента который не прописан в конфиге.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хмм, я так понимаю что проверить можно только засунув в настройки dhcp привязку хоста к ипшнику через мак-адрес а не чз опцию 82. Щас кстати попробую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть мысль что, чтобы копать дальше, надо 10.7.0.0/24 сеть всётаки в дхцп добавить )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не, даже если прописывать мак компа подключенного к ONU в настройки dhcp , то всё равно не выдаётся ip-адрес.

А вот когда ручками вбиваешь ипшник - то связь по ip работает, но мультикаст нет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DHCPDISCOVER from 00:1a:79:22:de:2f via 10.7.0.2: unknown network segment

 

он же четко пишет.

 

по 10.7.0.2 он не может выбрать шаред нетворк, чтобы внутри уже subnets просматривать. добавь и посмотри на другие сообщения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zhenya, спасибо за подсказку. с меня причитается ;)

Если прописывать MAC клиента то всё работает, если выдавать с привякой по номеру влана, то нет

 

p.s. добавлено чуть позже. из логов дхцп

*Leased 95.108.160.20 (with opt82)

*SWITCH: fa:f7:c6:8:9a

*VLAN: 7

*OLT: 1

 

Почему-то схавало влан управления OLT-шкой а не ONU-шный влан. а Мак записался ONU а не клиентского хоста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все, заработало.

Итоговый правильный конфиг isc-dhcp при котором у меня всё завелось:

 

log(info, "***");

if exists agent.circuit-id {

log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (with opt82)") );

 

log( info,concat("*SWITCH: ",binary-to-ascii(16,8,":",substring(option agent.remote-id,0,6))) );

log( info,concat("*VLAN: ",binary-to-ascii(10,8,"",substring(option agent.circuit-id,1,1))) );

log( info,concat("*OLT: ",binary-to-ascii(10,8,"",substring(option agent.circuit-id,3,1))) );

log( info,concat("*ONU: ",binary-to-ascii(10,8,"",substring(option agent.circuit-id,4,1))) );

 

} else {

log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (without opt82)") );

}

 

class "vlan218" { match if binary-to-ascii (10,8, "", substring(option agent.circuit-id, 1, 1))="218"; }

 

 

shared-network pesochnica {

 

subnet 10.7.0.0 netmask 255.255.255.0 {

<------>option routers ><------>10.7.0.1;

<------>option subnet-mask<---->255.255.255.0;

}

 

subnet 95.108.160.0 netmask 255.255.254.0 {

option routers 95.108.160.1;

option subnet-mask 255.255.254.0;

 

pool { range 95.108.160.20; allow members of "vlan218"; }

 

}

 

 

В логах DHCP отображается:

Nov 7 15:15:24 test-server dhcpd: ***

Nov 7 15:15:24 test-server dhcpd: *Leased 95.108.160.20 (with opt82)

Nov 7 15:15:24 test-server dhcpd: *SWITCH: fc:fa:f7:c6:8:9a

Nov 7 15:15:24 test-server dhcpd: *VLAN: 218

Nov 7 15:15:24 test-server dhcpd: *OLT: 7

Nov 7 15:15:24 test-server dhcpd: *ONU: 1

Nov 7 15:15:24 test-server dhcpd: DHCPDISCOVER from 00:1a:79:22:de:2f via 10.7.0.2

Nov 7 15:15:25 test-server dhcpd: DHCPOFFER on 95.108.160.20 to 00:1a:79:22:de:2f via 10.7.0.2

Nov 7 15:15:25 test-server dhcpd: ***

Nov 7 15:15:25 test-server dhcpd: *Leased 95.108.160.20 (with opt82)

Nov 7 15:15:25 test-server dhcpd: *SWITCH: fc:fa:f7:c6:8:9a

Nov 7 15:15:25 test-server dhcpd: *VLAN: 218

Nov 7 15:15:25 test-server dhcpd: *OLT: 7

Nov 7 15:15:25 test-server dhcpd: *ONU: 1

Nov 7 15:15:25 test-server dhcpd: DHCPREQUEST for 95.108.160.20 (95.108.163.237) from 00:1a:79:22:de:2f via 10.7.0.2

Nov 7 15:15:25 test-server dhcpd: DHCPACK on 95.108.160.20 to 00:1a:79:22:de:2f via 10.7.0.2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zhenya, спасибо за подсказку. с меня причитается ;)

 

а моё сообщение ты не заметил :)

есть мысль что, чтобы копать дальше, надо 10.7.0.0/24 сеть всётаки в дхцп добавить )

Изменено пользователем skinner

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

skinner, сочтёмся при случае ;)

 

Коллеги, а кто-нибудь решал успешно такую задачу как реализация схемы vlan-per-port на ONU BDCOM 1004B ?

 

OLT позволяет задать конфигурацию вида:

 

interface EPON0/1

epon bind-onu mac fcfa.f7c6.089a 1

epon bind-onu mac fcfa.f7d8.c403 2

switchport trunk vlan-allowed 21,218,265,998

switchport mode trunk

!

interface EPON0/1:1

onu-configuration

epon onu port 1 ctc vlan mode tag 218

epon onu port 1 ctc mcst tag-stripe enable

epon onu port 1 ctc mcst mc-vlan add 998

!!onu-configuration-end

!

interface EPON0/1:2

onu-configuration

epon onu port 1 ctc vlan mode tag 21

epon onu port 1 loopback detect

epon onu port 1 ctc mcst tag-stripe enable

epon onu port 1 ctc mcst mc-vlan add 998

 

epon onu port 2 loopback detect

epon onu port 2 ctc vlan mode tag 265

epon onu port 2 ctc mcst tag-stripe enable

epon onu port 2 ctc mcst mc-vlan add 998

 

epon onu port 3 loopback detect

epon onu port 3 shutdown

epon onu port 4 loopback detect

epon onu port 4 shutdown

!!onu-configuration-end

 

В isc-dhcp описаны классы

 

log(info, "***");

if exists agent.circuit-id {

log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (with opt82)") );

 

log( info,concat("*SWITCH: ",binary-to-ascii(16,8,":",substring(option agent.remote-id,0,6))) );

log( info,concat("*VLAN: ",binary-to-ascii(10,8,"",substring(option agent.circuit-id,1,1))) );

log( info,concat("*OLT: ",binary-to-ascii(10,8,"",substring(option agent.circuit-id,3,1))) );

log( info,concat("*ONU: ",binary-to-ascii(10,8,"",substring(option agent.circuit-id,4,1))) );

 

} else {

log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (without opt82)") );

}

 

class "vlan21" { match if binary-to-ascii (10,8, "", substring(option agent.circuit-id, 1, 1))="21"; }

class "vlan218" { match if binary-to-ascii (10,8, "", substring(option agent.circuit-id, 1, 1))="218"; }

class "vlan265" { match if binary-to-ascii (10,8, "", substring(option agent.circuit-id, 1, 1))="265"; }

 

 

shared-network pesochnica {

 

subnet 10.7.0.0 netmask 255.255.255.0 {

option routers ><------>10.7.0.1;

option subnet-mask<---->255.255.255.0;

}

 

subnet 10.13.0.0 netmask 255.255.255.0 {

option routers 10.13.0.1;

option subnet-mask 255.255.255.0;

 

pool { range 10.13.0.2; allow members of "vlan265"; }

}

 

subnet 95.108.160.0 netmask 255.255.254.0 {

option routers 95.108.160.1;

option subnet-mask 255.255.254.0;

 

pool { range 95.108.160.20; allow members of "vlan218"; }

}

 

subnet 95.108.163.96 netmask 255.255.255.224 {

option routers 95.108.163.97;

option subnet-mask 255.255.255.224;

 

pool { range 95.108.163.98; allow members of "vlan21";}

}

}

 

 

Однако при переключении компа из первого порта ONU DBCOM1004B (где vlan21 и все работает), во второй порт этой же ONU - в логах DHCP видно лишь:

Nov 11 10:54:07 dhcpd: DHCPDISCOVER from 00:1a:79:22:de:2f via 10.7.0.2: network pesochnica: no free leases

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у онушки второй порт тоже 21 влане? если да, то лизтайм надо уменьшать или чистить лизу )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не-не.

 

epon onu port 2 ctc vlan mode tag 265

 

"Лизы" есс-но подчистил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте, интересует такой вопрос, кто нибудь ставил BDcom P3310 в неотапливоемом помещении? (чердачное помещение 9U антивандальный шкаф, в фкафу упс Ippon 1500 new) Как он переживает холода до -20, редко но иногда до -30 жмет, но в шкафу думаю теплее будет бидиком и упс греть другдруга будут?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.