Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Данный способ диагностики применим в случае появления проблем с получением IP адресов по протоколу DHCP клиентами, находящимися за ONT, либо DHCP клиентами, запущенными на ONT. В этом случае, если на OLT включен DHCP relay агент, для анализа можно воспользоваться функцией перехвата пакетов DHCP, проходящих через OLT. Таким образом, при включении расширенного логирования по модулю OLT dhcp-ra в логе можно будет увидеть как пакеты DHCP, поступающие от ONT, так и ответные пакеты от DHCP сервера, установленного на сети. Данная информация будет включать заголовки данных пакетов, типы запросов и прочее.

В дефолтной конфигурации на чип OLT назначен профиль dhcp-ra с именем dhcp-ra-00. По умолчанию функционал профиля отключен и OLT не осуществляет перехват и анализ заголовков транзитных DHCP пакетов. Обычно данный профиль включается с целью добавления дополнительной информации об отправляемом в сеть DHCP запросе, например о номере pon-порта откуда поступил запрос , путем добавления опции 82.  Подробнее настройка данного функционала рассмотрена в статье [LTP-X] Настройка DHCP Relay Agent / Option 82.  В данной статье рассмотрим включение данного функционала без добавления специальных меток, а только включение перехвата для анализа.

В случае, если на OLT уже настроен профиль dhcp-ra, можно приступать сразу к выполнению пункта 2. Ниже приведена настройка начиная с активации профиля dhcp-ra.

  1. Перейдите в режим конфигурирования, далее в режим настройки дефолтного dhcp-ra профиля.  Активируйте профиль DHCP-RA, который назначен на OLT чип по умолчанию, примените и сохраните настройки.

    LTP-4X# configure terminal
    LTP-4X(config)# profile dhcp-ra dhcp-ra-00   
    LTP-4X(config-dhcp-ra)("dhcp-ra-00")# enable 
    LTP-4X(config-dhcp-ra)("dhcp-ra-00")# do commit 
    LTP-4X(config-dhcp-ra)("dhcp-ra-00")# do save 
    LTP-4X(config-dhcp-ra)("dhcp-ra-00")# exit

    На MA4000 для подтверждения выполненных в конфигурации изменений будет использоваться команда confirm.
    Все пользовательские DHCP сессии, которые будут установлены после активации профиля, будут доступны для мониторинга.

    LTP-4X(config)# do show interface gpon-port 0 dhcp sessions 
        DHCP sessions (1):
              ##              Serial    ONT    Service                 IP                  MAC      Vid      GEM    Life time
    
               1    454C545873000140    0/7          0    192.168.101.162    E0:D9:E3:85:A4:DA     1101      516          172
  2. Далее необходимо настроить уровень логирования для модуля dhcp-ra и модулей, отвечающих за запись отладочных сообщений в локальный лог-файл.
    Для LTP-X данная конфигурация будет выглядеть так.

    LTP-4X(config)# logging module pmchal-dhcpra 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-dhcpra loglevel debug 
    ma4000(config)# do commit
    ma4000(config)# do confirm
  3. Если необходимо настроить отправку отладочных логов на удаленный 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. Необходимо заменить на актуальное значение.

  4. Для того чтобы вернуть исходные настройки логирования по завершению анализа, выполните:
    На LTP-X:

    LTP-4X(config)# logging module pmchal-dhcpra 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-dhcpra loglevel notice 
    ma4000(config)# do commit
    ma4000(config)# do confirm

После выполнения данных настроек, лог будет объемным. В логе будет присутствовать информация о каждом DHCP пакете, который будет проходить через OLT. Наличие большого количества сообщения может вызывать излишнюю нагрузку на CPU OLT. Поэтому по завершению анализа рекомендуется вернуть настройки логирования в исходное состояние как описано в п.4.

Локально лог можно посмотреть следующими командами:

Для LTP-X:

LTP-4X# show log ltp
LTP-4X# show log buffer

Для MA4000:

ma4000# show log slot0

Ниже приведен пример debug лога, полученного на LTP-4X. Отладочные сообщения имеют префикс pmchal: debug: [DHCPRA].

Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] RX(594): p->s c=0,p=516: ff ff ff ff ff ff e0 d9 e3 85 a4 da 81 00 00 0b 08 00 45 00 02 40 00 00 00 00 40 11 78 ae ... 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] DHCP packet = 1454  = 1500 - 46 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] RX(594): p->s c=0,p=516:  dhcp=Discover(1), flags=unicast, xid=0x429cf0e6. 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] TRTB: add: id=0:  chan=0, port=516, client=e0:d9:e3:85:a4:da, xid=0x429cf0e6, creator=Discover(1), start=947729615433, reply=(nil), size=1 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] VLTAG: msgVlanTagsNum=1, vlanOuterOrig=(1,8100,044d), vlanOuter=(1,8100,044d), vlanInner=(0,0000,0000) 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] TX(349): p->s c=0,p=516: ff ff ff ff ff ff e0 d9 e3 85 a4 da 81 00 04 4d 08 00 45 00 01 4b 00 00 00 00 40 11 79 a3 ... 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA]  
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] RX(360): s->p c=0,p=0: e0 d9 e3 85 a4 da 48 5b 39 02 55 84 81 00 04 4d 08 00 45 00 01 56 00 00 00 00 80 11 ed a1 ... 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] DHCP packet = 1454  = 1500 - 46 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] RX(360): s->p c=0,p=0:  dhcp=Offer(2), flags=unicast, xid=0x429cf0e6. 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] VLTAG: msgVlanTagsNum=1, vlanOuterOrig=(1,8100,044d), vlanOuter=(1,8100,044d), vlanInner=(0,0000,0000) 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] TX(361): s->p c=0,p=516: e0 d9 e3 85 a4 da 48 5b 39 02 55 84 81 00 e0 0b 08 00 45 00 01 57 00 00 00 00 80 11 ed a0 ... 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA]  
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] RX(594): p->s c=0,p=516: ff ff ff ff ff ff e0 d9 e3 85 a4 da 81 00 00 0b 08 00 45 00 02 40 00 00 00 00 40 11 78 ae ... 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] DHCP packet = 1454  = 1500 - 46 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] RX(594): p->s c=0,p=516:  dhcp=Request(3), flags=unicast, xid=0x429cf0e6. 
Jan 13 09:13:36 LTP-4X pmchal: debug:    [DHCPRA] TRTB: add: Transaction already exist:  index=0:  chan=0, port=516, client=e0:d9:e3:85:a4:da, xid=0x429cf0e6, creator=Discover(1), start=947729615433, reply=(nil), update it 

Например, разберем первое сообщение из этого лога - DHCP Discover от клиента. Информация по нему включает следующие строки.

Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] RX(594): p->s c=0,p=516: ff ff ff ff ff ff e0 d9 e3 85 a4 da 81 00 00 0b 08 00 45 00 02 40 00 00 00 00 40 11 78 ae ... 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] DHCP packet = 1454  = 1500 - 46 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] RX(594): p->s c=0,p=516:  dhcp=Discover(1), flags=unicast, xid=0x429cf0e6. 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] TRTB: add: id=0:  chan=0, port=516, client=e0:d9:e3:85:a4:da, xid=0x429cf0e6, creator=Discover(1), start=947729615433, reply=(nil), size=1 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] VLTAG: msgVlanTagsNum=1, vlanOuterOrig=(1,8100,044d), vlanOuter=(1,8100,044d), vlanInner=(0,0000,0000) 
Jan 13 09:13:35 LTP-4X pmchal: debug:    [DHCPRA] TX(349): p->s c=0,p=516: ff ff ff ff ff ff e0 d9 e3 85 a4 da 81 00 04 4d 08 00 45 00 01 4b 00 00 00 00 40 11 79 a3 ... 

Здесь мы можем видеть следующее (построчно):

  1. Запрос поступил (RX - запрос получен чипом) с pon-порта 0, с GEM-порта 516 (c=0,p=516) ID ONT здесь указан не будет. Далее видны L2 заголовки фрейма: ff ff ff ff ff ff - destination MAC, e0 d9 e3 85 a4 da - source MAC, и.т.д.
  2. Информацию о длине пакета.
  3. Информацию о типе полученного сообщения DHCP (Discover), флагах, и id устанавливаемой сессии.
  4. Информация о добавлении записи в таблицу DHCP snooping.
  5. Информация о тегах VLAN для данного фрейма - количество тегов (msgVlanTagsNum=1), и информация о TPID и VLAN ID (TPID 0x8100, VLAN ID 0x044d = 1101 в десятичной системе).
  6. Запрос отправлен с чипа (TX) и далее L2 заголовки фрейма.

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

https://eltex-co.ru/support
https://servicedesk.eltex-co.ru/