Данный способ диагностики применим в случае появления проблем с установлением PPPoE сессий клиентами, находящимися за ONT, либо клиентами, запущенными на ONT. В этом случае, если на OLT включен PPPoE Intermediate agent, для анализа можно воспользоваться функцией перехвата фреймов PPPoE, проходящих через OLT. Таким образом, при включении расширенного логирования по модулю OLT pppoe-ia, в логе можно будет увидеть как фреймы PPPoE, поступающие от ONT, так и ответные фреймы от BRAS, установленного на сети. Данная информация будет включать заголовки данных пакетов, типы запросов и прочее.
В дефолтной конфигурации на чип OLT назначен профиль pppoe-ia с именем pppoe-ia-00. По умолчанию функционал профиля отключен и OLT не осуществляет перехват и анализ заголовков транзитных PPPoE пакетов. Обычно данный профиль включается с целью добавления дополнительной информации об отправляемом в сеть клиентском PPPoE запросе, например о номере pon-порта откуда поступил запрос , путем добавления к фрейму специального PPPoE Vendor Specific tag. В данной статье рассмотрим включение данного функционала без добавления специальных меток, а только включение перехвата для анализа. |
В случае, если на OLT уже настроен профиль pppoe-ia, можно приступать сразу к выполнению пункта 2. Ниже приведена настройка начиная с активации профиля pppoe-ia.
Перейдите в режим конфигурирования, далее в режим настройки дефолтного pppoe-ia профиля. Активируйте профиль PPPOE-IA, который назначен на OLT чип по умолчанию, примените и сохраните настройки.
LTP-8X# configure terminal
LTP-8X(config)# profile pppoe-ia pppoe-ia-00
LTP-8X(config-pppoe-ia)("pppoe-ia-00")# enable
LTP-8X(config-pppoe-ia)("pppoe-ia-00")# do commit
LTP-8X(config-pppoe-ia)("pppoe-ia-00")# do save
LTP-8X(config-pppoe-ia)("pppoe-ia-00")# exit |
На MA4000 для подтверждения выполненных в конфигурации изменений будет использоваться команда confirm.
Все клиентские PPPoE сессии, которые будут установлены после активации профиля, будут доступны для мониторинга.
LTP-8X# show interface gpon-port 0 pppoe sessions PPPoE sessions (1): ## Serial GPON-port Ont ID Port Client MAC Session ID Duration Unblock 1 ELTX91000020 0 6 490 EC:B1:E0:23:4B:E6 0x0019 0:03:18 0:00:00 |
Далее необходимо настроить уровень логирования для модуля pppoeia и модулей, отвечающих за запись отладочных сообщений в локальный лог-файл.
Для LTP-X данная конфигурация будет выглядеть так.
LTP-4X(config)# logging module pmchal-pppoeia loglevel debug LTP-4X(config)# logging system loglevel debug LTP-4X(config)# logging file loglevel debug LTP-4X(config)# do commit LTP-4X(config)# do save |
Для MA4000 настройка будет иметь некоторые отличия. Настройка будет выполняться по отдельным слотам. А конфигурация параметров уровня вывода в файл осуществляется в настройках logging filter. При этом для каждого слота будет использоваться свой logging filter. Например, для слота 0 настройка будет выглядеть следующим образом:
ma4000(config)# logging filter slot0 ma4000(pp4x-config-log-filter-slot0)# facility any debug ma4000(pp4x-config-log-filter-slot0)# exit ma4000(config)# slot 0 logging system loglevel debug ma4000(config)# slot 0 logging module pmchal-pppoeia loglevel debug ma4000(config)# do commit ma4000(config)# do confirm |
Если необходимо настроить отправку отладочных логов на удаленный syslog-сервер, расположенный в сети, необходимо дополнительно выполнить.
На LTP-X:
LTP-4X(config)# logging remote 1.1.1.1 LTP-4X(config)# do commit LTP-4X(config)# do save |
На MA4000:
ma4000(config)# logging host 1.1.1.1 port 514 transport udp debug ma4000(config)# do commit ma4000(config)# do confirm |
В данных примерах адрес удаленного syslog сервера указан 1.1.1.1. Необходимо заменить на актуальное значение.
Для того чтобы вернуть исходные настройки логирования по завершению анализа, выполните:
На LTP-X:
LTP-4X(config)# logging module pmchal-pppoeia loglevel notice LTP-4X(config)# logging system loglevel notice LTP-4X(config)# logging file loglevel notice LTP-4X(config)# do commit LTP-4X(config)# do save |
На MA4000:
ma4000(config)# logging filter slot0 ma4000(pp4x-config-log-filter-slot0)# facility any info ma4000(pp4x-config-log-filter-slot0)# exit ma4000(config)# slot 0 logging system loglevel notice ma4000(config)# slot 0 logging module pmchal-pppoeia loglevel notice ma4000(config)# do commit ma4000(config)# do confirm |
После выполнения данных настроек, лог будет объемным. В логе будет присутствовать информация о каждом управляющем PPPoE пакете, который будет проходить через OLT. Наличие большого количества сообщения может вызывать излишнюю нагрузку на CPU OLT. Поэтому по завершению анализа рекомендуется вернуть настройки логирования в исходное состояние как описано в п.4. |
Локально лог можно посмотреть следующими командами:
Для LTP-X:
LTP-4X# show log ltp LTP-4X# show log buffer |
Для MA4000:
ma4000# show log slot0 |
Для понимания отладки обратите внимание на то, из каких заголовков состоит PPPoE-фрейм.
+-----------+-----------+-------------+--------------------+-----------
| DMAC | SMAC | Type/Length | Payload Data | FCS |
| 6 bytes | 6 bytes | 2 bytes | Variable length | 4 bytes |
+-----------+-----------+-------------+--------------------+-----------
| |
| |
| |
| |
| |
+----------+----------+--------+------------+----------+---------------
| Ver | Type | Code | Session ID | Length | Payload Data1|
| 4 bits | 4 bits | 1 byte | 2 bytes | 2 bytes | |
+----------+----------+--------+------------+----------+--------------- |
Далее рассмотрим пример debug лога, полученного на LTP-4X. Отладочные сообщения имеют префикс pmchal: debug: [PPPOEIA]. Здесь мы можем видеть в логах процедуру установления сессии клиентом и, соответственно, фреймы PADI, PADO, PADR, PADS.
Nov 19 15:21:25 LTP-4X pmchal: debug: [PPPOEIA] RX: rx(60): c=2,p=3681 p->s PADI ff ff ff ff ff ff e0 d9 e3 5a c2 c8 81 00 02 58 88 63 11 09 00 00 00 0c 01 03 00 04 00 6b ... |
Например, разберем первое сообщение из этого лога - PADI от клиента. Информация по нему включает следующие строки.
Nov 19 15:21:25 LTP-4X pmchal: debug: [PPPOEIA] RX: rx(60): c=2,p=3681 p->s PADI ff ff ff ff ff ff e0 d9 e3 5a c2 c8 81 00 02 58 88 63 11 09 00 00 00 0c 01 03 00 04 00 6b ... |
Здесь мы можем видеть следующее (построчно):
Ниже приведен пример Termination Request (PADT), вызванного клиентом.
Nov 19 15:21:23 KOZM-KULAKOVO-GPON1 pmchal: debug: [PPPOEIA] RX: rx(60): c=2,p=3681 p->s PADT 1c af f7 0e 1c 17 e0 d9 e3 5a c2 c8 81 00 02 58 88 63 11 a7 00 0c 00 0c 01 03 00 04 00 6b ... |