Счетчик ошибок juniper

  • Вся активность

Juniper QFX/EX. Мониторинг MTU Errors счетчика по SNMP.

Join the conversation

You can post now and register later.

If you have an account, sign in now to post with your account.

Недавно начал изучать с нуля оборудование Juniper Networks. К нам в контору пришли 3 Juniper SRX240 и SRX650. Вот собрал список команд которые мне больше всего пригодились при первоначальной настройке оборудования Juniper.

Оборудование Juniper работает на основе OS FreeBSD, при включении и прохождении аутентификации вы можете увидеть такие строки приглашения в режимы пользователя:

root@juniper% — это сам shell OS FreeBSD
после ввода команды cli мы попадаем в
root@juniper> — операционный режим, после ввода команды edit попадаем в
root@juniper# — конфигурационный режим

О назначении всех режимов я останавливаться не буду.

Команды операционного режима

Команды мониторинга и устранения неисправностей:
root@juniper> clear — очистка чего-либо
root@juniper> monitor — просмотр чего либо в реальном времени
root@juniper> ping — проверка доступности узлов ICMP-пакетами
root@juniper> show — просмотр конфигурации
root@juniper> test — тестирование сохраненных конфигураций и интерфейсов
root@juniper> traceroute — трассировка маршрута

Отображение состояния интерфейсов
root@juniper> show interface description
root@juniper> show interface terse {кратко о состоянии интерфейсов}
root@juniper> show interface detail {полная информация о интерфейсах}

Сохранение резервной конфигурации
root@juniper> request system configuration rescue save

Чтобы возвратиться к спасательной конфигурации, загрузите её следующей командой:
root@juniper# rollback rescue

Удаляет не примененные команды
root@juniper> clear system commit

Показывает CPU, Mem and Temperature
root@juniper> show chassis routing-engine

Показывает статистику на интерфейсе в реальном времени
root@juniper> monitor traffic interface ge-0/0/1 {какие пакеты и куда идут на интерфейсе}
root@juniper> monitor interface traffic {трафик на всех интерфейсах}

Рестарт процесса
root@juniper> restart {process} gracefully

Перегрузка оборудования
root@juniper> request system reboot

Удаление ненужных файлов
root@juniper> request system storage cleanup

Команды конфигурационного режима

Отключение ветки конфигурации
root@juniper# deactivate {interfaces ge-0/0/10}

Загрузка заводской конфигурации
root@juniper# load factory-default

Установка пароля на root-пользователя
root@juniper# set system root-authentication plain-text-password

Установка нового пользователя
root@juniper# set system login user {имя пользователя} class {тип пользователя: operator, read-only, super-user} authentication plain-text-password

Настройка WEB-интерфейса
root@srx# set system services web-management http interface {vlan.0} {включение интерфейсов}

Включение ssh-доступ к роутеру
root@srx# set system services ssh

Переключение с одного порта на другой
(порт на который переключаешься не должен быть активен)
root@juniper# rename interfaces ge-0/0/0 to ge-0/0/1

Возвращение портов — обратная операция
root@juniper# rename interfaces ge-0/0/1 to ge-0/0/0

Что бы не удалять IP-адрес с интерфейса и присваивать другой используй команду rename
[edit interfaces]
root@juniper# rename ge-0/0/1 unit 0 family inet address 192.168.0.1/28 to address 192.168.0.2/28

Копирование части конфигурации на другую ветку
(ветка на которую копируется не должна быть создана)
root@juniper# copy interfaces ge-0/0/0 to ge-0/0/1

Возвращение на верхний уровень иерархии конфигурационного режима [edit]
[edit interfaces ge-0/0/1]
root@juniper# top

Ввод операционных команд из конфигурационного режима
root@juniper# run {show route} {любая операционная команда}

Команды на применение, сохранение и откат конфигурации.

Проверка конфигурации на ошибки до коммита
root@juniper# commit check

Применение конфигурации по времени
root@juniper# commit at 12:00 {по системному времени}

Чтобы отменить операцию по времени
root@juniper> clear system commit

Применение конфигурации с откатом по времени
root@juniper# commit confitmed 100 {время в минутах}

Откат конфигураций
root@juniper# rollback {откат на последнюю конфигурацию}
root@juniper# rollback? {просмотр откатов конфигурации}

Просмотр изменений в конфигурации до ее применения
root@juniper# show | compare

Коммутация портов

Сделать нужные порты членами одной виртуальной локальной сети (VLAN).
root@juniper# set interfaces interface-range interfaces-trust member-range ge-0/0/1 to ge-0/0/7

Этой командой мы сказали, что интерфейсы являются портами коммутатора и принадлежат к одному VLAN под названием vlan-trust.
root@juniper# set interfaces interface-range interfaces-trust unit 0 family ethernet-switching vlan members vlan-trust

Далее создаем собственно сам vlan-trust и говорим, что данный VLAN терминируется и имеет IP-адрес
root@juniper# set vlans vlan-trust vlan-id 3
root@juniper# set vlans vlan-trust l3-interface vlan.0
root@juniper# set interfaces vlan unit 0 family inet address 192.168.0.1/24

Настройка зон безопасности {Названия зон могут любыми}

Разрешаем все сервисы в зоне trust
root@juniper# set security zones security-zone trust host-inbound-traffic system-services all

Разрешаем все протоколы в зоне trust
root@juniper# set security zones security-zone trust host-inbound-traffic protocols all

Добавляем интерфейсы в зону trust
root@juniper# set security zones security-zone trust interfaces vlan.0
root@juniper# set security zones security-zone trust interfaces lo0.0
root@juniper# set security zones security-zone trust interfaces ge-0/0/1.0

Создаем переход от зоны trust к зоне trust {в этих политиках мы разрешаем всё}
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match source-address any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match destination-address any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match application any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust then permit

Описывать зону untrast и переходы от этой к другим зонам не стал, т.к. у меня нету такой необходимости.

В выводе команды show interface extensive Junos показывает среди счетчиков ошибок счетчик, который называется Policed discards. По задумке он считает фреймы, которые джун обработать не может или они ему не интересны. Точное описание счетчика в документации следующее:

Number of frames that the incoming packet match code discarded, as they were not recognized or not of interest. Usually, this field reports protocols that the JUNOS software does not handle.

Обычно это означает появление пакетов вроде CDP, PVST и прочего.
Не факт, что влияет на полезный трафик.

Table of Contents

Анализ проблемы с pppoe

В одном офисе перестал работать pppoe канал в интернет.

Со стороны провайдера было видно srx, но не проходила аутентификация.

При установлении pppoe соединения маршрутизаторы общаются по протоколу LCP — Link Control Protocol.

Что бы разобраться в проблеме надо посмотреть обмен LCP сообщениями.

Смотрим трафик на интерфейсе к которому подключен провайдер.

root@srx> monitor traffic interface pp0.0 extensive count 100

Начало новой сессии, srx послылает запрос на согласование (Conf-Request) параметров (опций) подключения.

18:03:52.248235 Out 
        ...
        -----original packet-----
        54:e0:32:00:00:01 > 00:1e:67:00:00:02, ethertype PPPoE S (0x8864), length 36: PPPoE  [ses 37713]LCP (0xc021), length 16: LCP, Conf-Request (0x01), id 70, length 16
        encoded length 14 (=Option(s) length 10)
        0x0000: c021 0146 000e 
          MRU Option (0x01), length 4: 1492
            0x0000: 05d4 
          Magic-Num Option (0x05), length 6: 0x5665bd0c
            0x0000: 5665 bd0c 

Провайдер согласился с предложенными значениям параметров (Conf-Ack).

18:03:52.268010  In 
        ...
        -----original packet-----
        00:1e:67:00:00:02 > 54:e0:32:00:00:01, ethertype PPPoE S (0x8864), length 60: PPPoE  [ses 37713]LCP (0xc021), length 16: LCP, Conf-Ack (0x02), id 70, length 16
        encoded length 14 (=Option(s) length 10)
        0x0000: c021 0246 000e 
          MRU Option (0x01), length 4: 1492
            0x0000: 05d4 
          Magic-Num Option (0x05), length 6: 0x5665bd0c
            0x0000: 5665 bd0c 

Провайдер предложил следующую пачку опций, в т.ч. и метот аутентификации — PAP (Auth-Prot Option).

18:03:54.132155  In 
        ...
        -----original packet-----
        00:1e:67:00:00:02 > 54:e0:32:00:00:01, ethertype PPPoE S (0x8864), length 60: PPPoE  [ses 37713]LCP (0xc021), length 37: LCP, Conf-Request (0x01), id 2, length 37
        encoded length 35 (=Option(s) length 31)
        0x0000: c021 0102 0023 
          PFC Option (0x07), length 2: 
          MRU Option (0x01), length 4: 1492
            0x0000: 05d4 
          Magic-Num Option (0x05), length 6: 0x2840ee38
            0x0000: 2840 ee38 
          Auth-Prot Option (0x03), length 4: PAP
            0x0000: c023 
          MRRU Option (0x11), length 4: 2048
            0x0000: 0800 
          12-Bit seq # Option (0x12), length 2: 
          End-Disc Option (0x13), length 9: MAC 00:1e:67:00:00:03
            0x0000: 0300 1e67 0278 27

SRX не согласился (Conf-Reject) с предложенными провайдером значениями папаметров, и послал список неугодных опций.

18:03:54.132528 Out 
        ...
        -----original packet-----
        54:e0:32:00:00:01 > 00:1e:67:00:00:02, ethertype PPPoE S (0x8864), length 43: PPPoE  [ses 37713]LCP (0xc021), length 23: LCP, Conf-Reject (0x04), id 2, length 23
        encoded length 21 (=Option(s) length 17)
        0x0000: c021 0402 0015 
          PFC Option (0x07), length 2: 
          MRRU Option (0x11), length 4: 2048
            0x0000: 0800 
          12-Bit seq # Option (0x12), length 2: 
          End-Disc Option (0x13), length 9: MAC 00:1e:67:00:00:03
            0x0000: 0300 1e67 0278 27

Провайдер еще раз предлагает метот аутентификации PAP (Auth-Prot Option)

18:03:54.134273  In 
        ...
        -----original packet-----
        00:1e:67:00:00:02 > 54:e0:32:00:00:01, ethertype PPPoE S (0x8864), length 60: PPPoE  [ses 37713]LCP (0xc021), length 20: LCP, Conf-Request (0x01), id 3, length 20
        encoded length 18 (=Option(s) length 14)
        0x0000: c021 0103 0012 
          MRU Option (0x01), length 4: 1492
            0x0000: 05d4 
          Magic-Num Option (0x05), length 6: 0x2840ee38
            0x0000: 2840 ee38 
          Auth-Prot Option (0x03), length 4: PAP
            0x0000: c023 

SRX поправляет и предлагает CHAP (Auth-Prot Option).

18:03:54.134654 Out 
        ...
        -----original packet-----
        54:e0:32:00:00:01 > 00:1e:67:00:00:02, ethertype PPPoE S (0x8864), length 31: PPPoE  [ses 37713]LCP (0xc021), length 11: LCP, Conf-Nack (0x03), id 3, length 11
        encoded length 9 (=Option(s) length 5)
        0x0000: c021 0303 0009 
          Auth-Prot Option (0x03), length 5: CHAP, MD5
            0x0000: c223 05

Последние два сообщения еще раз десять ходят в обе стороны и потом согласование параметров начинается заново.

После осозная проблемы связались с провайдером и попросили переделать аутентификацию на CHAP.


TCP-RST в настройках зоны безопасности

tcp-rst — Send RST for NON-SYN packet not matching TCP session

[edit]
root@bluebox# set security zones security-zone TRUST ?   
Possible completions:
  <[Enter]>            Execute this command
> address-book         Address book entries
  application-tracking  Enable Application tracking support for this zone
+ apply-groups         Groups from which to inherit configuration data
+ apply-groups-except  Don't inherit configuration data from these groups
  description          Text description of zone
> host-inbound-traffic  Allowed system services & protocols
> interfaces           Interfaces that are part of this zone
  screen               Name of ids option object applied to the zone
  tcp-rst              Send RST for NON-SYN packet not matching TCP session
  |                    Pipe through a command

Посмотреть тип железа и серийник

show chassis hardware

[edit security utm]
root@msk-02-srx2# run show chassis hardware
Hardware inventory:
Item             Version  Part number  Serial number     Description
Chassis                                AU3911AF0XXX      SRX100H
Routing Engine   REV 18   750-021773   AT3911AF0XXX      RE-SRX100H
FPC 0                                                    FPC
  PIC 0                                                  8x FE Base PIC
Power Supply 0

dhcp helper

[edit]
admin@nsk-01-srx2# show forwarding-options
...
helpers {
    bootp {
        server 192.168.10.22;
        server 192.168.9.12;
        vpn;
        interface {
            vlan.502;
            vlan.504;
            vlan.501;
            vlan.506;
        }
    }
}

host inbound traffic — bootp, dhcp

[edit security zones security-zone trust]
admin@msk-04-srx1# show
interfaces {
    vlan.501 {
        host-inbound-traffic {
            system-services {
                ping;
                traceroute;
                ssh;
                dhcp;
            }
        }
    }
    vlan.502 {
        host-inbound-traffic {
            system-services {
                ping;
                traceroute;
                bootp;
            }
        }
    }

bootp — надо использовать когда на srx настроен dhcp хелпер ([edit forwarding-options helpers bootp]).

dhcp — надо использовать когда на самом srx настроен dhcp сервер.

Juniper open dns server

name-server {
    208.67.222.222;
    208.67.220.220;
}

Схема прохождения пакета через srx

Подрезать скорость

Скрыть часть конфига

Что бы скрыть часть конфига надо уровнем ниже дать скрытую команду “apply-flags omit”.

[edit firewall]
admin@srx2# set family inet filter TEST apply-flags omit       

[edit firewall]
admin@srx2# show
...
    filter TEST { /* OMITTED */ };
}
...

Что бы посмотреть надо через пайп дать команду “display omit”

[edit firewall]
admin@srx2# show | display omit
...
   filter TEST {
        apply-flags omit;
        term DENY-ANY {
            then {
                discard;
            }
        }
    }
...      

Задать shell при логине пользователя

Что бы при логине обычный пользователь попадал не в консоль CLI, а сразу в unix-шелл надо дать скрытую команду “shell sh” (UNIX Bourne shell) или “shell csh” (UNIX C shell).

Заход сразу в шелл можно использовать когда надо вытащить логи srx которые не попадают в syslog.

{primary:node0}[edit system login user scp]
root@srxmaster# show
apply-flags omit;
uid 2000;
class super-user;
shell sh;
authentication {
    encrypted-password "XXX"; ## SECRET-DATA
}

Ошибка комита при достижении максимального количества зон безопасности на srx100

root@srx100B# commit check 
error: zone quota exceeded (usage 11 > max 10)
error: configuration check-out failed

Ошибки на физическом интерфейсе

Carrier transitions

Вывод “show interface”:

Input errors:
 Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0

Output errors:
 Carrier transitions: 5, Errors: 0, Drops: 0, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0

Carrier transitions just mean the link has flapped. See the exact description from Juniper:

Carrier transitions—Number of times the interface has gone from down
to up. This number does not normally increment quickly,

increasing only when the cable is unplugged, the far-end system is
powered down and then up, or another problem occurs. If the number
of carrier transitions increments quickly (perhaps once every 10 seconds),
the cable, the far-end system, or the PIC or PIM is malfunctioning.
You would need to do basic troubleshooting to find out why the link is flapping. Those steps would be different >if it was a telco circuit or an P2P ethernet cable.

Framing errors

KB27597

Вывод “show interface”:

Input errors:
 Errors: 468, Drops: 0, Framing errors: 468, Runts: 0, Policed discards: 71, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0 

KB27597

Framing errors — это ошибка в контрольнной сумме пришедшего на интерфейс пакета, пакет “бьется” и контрольные суммы отправленного и полученно пакета не совпадают.

Решение проблемы с Framing errors заключается в:

  • проверить, что с обоих концов правильно настроены скорость и дуплекс порта.

  • поменять патч-корд

  • поменять порт оборудования

Policed discards

Policed discards — дропаются служебные пакеты протоков которык нет в “security interface host-inbound-traffic protocols”.

При случае проверить с ospf.

“Frames that the incoming packet match code discarded because they were not recognized or of interest. Usually, this field reports protocols that the JUNOS software does not handle, such as CDP.”


Скорость создания сессий.

KB23428

CLI

 root@srx2> show security monitoring fpc ?
 Possible completions:
   <fpc-slot>           FPC slot number (0..0)
 root@srx2> show security monitoring fpc 0 ?
 Possible completions:
   <[Enter]>            Execute this command
   |                    Pipe through a command
 admin@msk-01-srx2> show security monitoring fpc 0   
 FPC 0
   PIC 0
     CPU utilization          :    3 %
     Memory utilization       :   57 %
     Current flow session     :  469
     Current flow session IPv4:  469
     Current flow session IPv6:    0
     Max flow session         : 524288
Total Session Creation Per Second (for last 96 seconds on average):   15
IPv4  Session Creation Per Second (for last 96 seconds on average):   15
IPv6  Session Creation Per Second (for last 96 seconds on average):    0

SNMP OID

root@srx2> show snmp mib walk .1.3.6.1.4.1.2636.3.39.1.12.1.4.1.5 
jnxJsNodeSessionCreationPerSecond.0 = 15

Когда два srx работают в режиме кластера в выводе появится строка “jnxJsNodeSessionCreationPerSecond.1 = ”

root@srx2> show snmp mib walk .1.3.6.1.4.1.2636.3.39.1.12.1.4.1      
jnxJsClusterMonitoringNodeIndex.0 = 0
jnxJsClusterMonitoringNodeDescr.0 = single
jnxJsNodeCurrentTotalSession.0 = 485
jnxJsNodeMaxTotalSession.0 = 0
jnxJsNodeSessionCreationPerSecond.0 = 15
jnxJsNodeSessCreationPerSecIPv4.0 = 15
jnxJsNodeSessCreationPerSecIPv6.0 = 0
jnxJsNodeCurrentTotalSessIPv4.0 = 485
jnxJsNodeCurrentTotalSessIPv6.0 = 0

Бэкап и восстановление конфигурации

Часто возникает задача синхронизировать конфиги основного и резервного srx.

Пока опустим момент как мы оба srx ставим в сеть.

Идея:

  • с основного srx1 по ssh скачиваем текущий конфиг juniper.conf.gz

  • переименовываем juniper.conf.gz в juniper.conf.new.gz

  • закачиваем на резервный srx2 конфиг juniper.conf.new.gz

  • на srx2 накатываем новый конфиг

Скачиваем текущий конфиг

# scp root@10.13.1.254:/config/juniper.conf.gz ./
Password:
juniper.conf.gz                    100%   11KB  10.7KB/s   00:00

переименовываем

# mv juniper.conf.gz juniper.conf.new.gz

закачиваем на резервный srx2

# scp juniper.conf.new.gz root@10.13.1.254:/config/
Password:

накатываем новый конфиг

[edit]
admin@srx2# load override /config/juniper.conf.new.gz

Потом проверяем его, меняем где надо адреса на интерфесах и название и комитим.


MOTD

Message of the day

admin@srx2# set system login message “Privet Serega! NE PEREGRUZHAI srx! Lozhis` spat`=) WBR EKS and Levin.”


Залить текущий junos на бэкапный раздел

root@srx-master> request system snapshot slice alternate
node0:


Formatting alternate root (/dev/ad0s1a)…

Copying ‘/dev/ad0s2a’ to ‘/dev/ad0s1a’ .. (this may take a few minutes)
The following filesystems were archived: /

node1:


Formatting alternate root (/dev/ad0s2a)…
Copying ‘/dev/ad0s1a’ to ‘/dev/ad0s2a’ .. (this may take a few minutes)
The following filesystems were

На кластере можно дать команду только на активной ноде.


Перенести кусок конфигурации с одного srx на другой

Будем переносить записи в address book.

Отображаем конфирацию в set стиле

 [edit security address-book UNTRUST-BOOK]
 root@srx-old# show | display set     
 set security address-book UNTRUST-BOOK address perevod-korona.ru dns-name perevod-korona.ru ipv4-only
 set security address-book UNTRUST-BOOK address wupos.westernunion.com dns-name wupos.westernunion.com ipv4-only
...

Подгружаем конфигурацию

У команды load есть ключ relative который подкружает set не от корня конфигуации, а от текущего места.

{primary:node1}[edit security address-book]
root@srx-new# load set terminal 
[Type ^D at a new line to end input]
set security address-book UNTRUST-BOOK address perevod-korona.ru dns-name perevod-korona.ru ipv4-only
set security address-book UNTRUST-BOOK address wupos.westernunion.com dns-name wupos.westernunion.com ipv4-only
...
^D

Нюансы

Если сразу переносить много конфига, то RE возможно будет не успевать его отрабатывать и будут появляться ошибки вида — “terminal:2:(4) syntax error: address”.

Проблема описана в KB15472. Как решить в линуксовом терминале пока не придумал.

Если сидеть на srx через череp minicom, то заливаться будет без ошибок — скорость соединения маленькая.


Обновить софт в srx

 root> request system software add ?               
 Possible completions:
   <package-name>       URL or pathname of package
   best-effort-load     Load succeeds if at least one statement is valid
   delay-restart        Don't restart processes
   no-copy              Don't save copies of package files
   no-validate          Don't check compatibility with current configuration
   partition            Format and re-partition the media before installation
   reboot               Reboot system after adding package
   unlink               Remove the package after successful installation
   validate             Check compatibility with current configuration

root> request system software add no-copy http://192.168.10.12/junos/junos-srxsme-12.1X47-D25.4-domestic.tgz

KB25265

http://kb.juniper.net/InfoCenter/index?page=content&id=KB25265

Проблема.

 root@srx> ping ocsp.comodoca.com       
 PING6(56=40+8+8 bytes) :: --> 2a02:1788:2fd::b2ff:5301
 ping: sendmsg: No route to host
 ping6: wrote ocsp.comodoca.com 16 chars, ret=-1
 ^C
 --- ocsp.comodoca.com ping6 statistics ---
 1 packets transmitted, 0 packets received, 100% packet loss

Решение.

root@srx> ping ocsp.comodoca.com inet 
 PING ocsp.comodoca.com (178.255.83.1): 56 data bytes
 64 bytes from 178.255.83.1: icmp_seq=0 ttl=57 time=79.415 ms
 ^C
 --- ocsp.comodoca.com ping statistics ---
 1 packets transmitted, 1 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 79.415/79.415/79.415/0.000 ms

Записать вывод команды в файл

root@srx> show services application-identification application detail | save ai-app-detail

Файл запишется в домашнюю директорию пользователя.


Истекли лицензии appid-sig и idp-sig

 root@srx> show system license
 License usage:
                                  Licenses     Licenses    Licenses    Expiry
   Feature name                       used    installed      needed
   av_key_kaspersky_engine               1            0           1    28 days
   dynamic-vpn                           0            2           0    permanent
   ax411-wlan-ap                         0            2           0    permanent
   appid-sig                             1            0           1    invalid
         - APPID Signature

Все ранее настроенные политики продолждают работать.

Нельзя обновить сигнатуры и верме комита увеличилось секунд на 40.

 root@srx# commit
 [edit security idp idp-policy Recommended rulebase-ips rule 1 match attacks]
   'predefined-attack-groups "[Recommended]IP - Critical"'
     Security Package is being used, however license is not valid/has expired. This may be in violation of policy.
 commit complete

Смысл maximum-transactions в настройках вложенных приложений (nested applications)

 nested-application my:XAKEP-SSL {
     type XAKEP;
     protocol SSL;
     signature NestedApplication:XAKEP-SSL {
         member m01 {
             context ssl-server-name;
             pattern xakep.ru;
             direction client-to-server;
         }
         maximum-transactions 1;
     }
 }

maximum-transactions — максимальное количество совпадений с “подписью” при при достижении которого считается, что это именно это приложение.


Посмотреть список и детальную информацию по типам приложений с которыми работает AppFW и IDP на srx

 root@srx> show services application-identification application summary
 Application(s): 800
 Nested Application(s): 981
   Applications                                 Disabled         ID      Order
   junos:ZENGUARD-SSL                            No               1987    33799 
   junos:FACEBOOK-TIMELINE                       No               1986    33793 
   junos:FACEBOOK-STATUS-UPDATE                  No               1985    33794 
   junos:GOLFZON-MEMBERS-SSL                     No               1984    33792 
   junos:AFREECA-HTTP-STREAM                     No               1982    33790 
....

root@srx> show services application-identification application summary | match HTTP    
  junos:AFREECA-HTTP-STREAM                     No               1982    33790   
  junos:WECHAT-HTTP                             No               1932    33751   
  junos:SSH-OVER-HTTP                           No               1907    33586   
  junos:YAHOO-FINANCE-HTTP                      No               1896    33722   
  junos:AIM-HTTP-API                            No               1865    33700   
  junos:ALIWANGWANG-HTTP                        No               1863    33704   
  junos:BAIDU-HI-HTTP                           No               1859    33703   
  junos:GROOVE-HTTP                             No               1264    33669   
...

 root@srx> show services application-identification application detail junos:YAHOO-FINANCE-HTTP
 Application Name: junos:YAHOO-FINANCE-HTTP                                   
 Application type: YAHOO-FINANCE-HTTP                                         
 Description: This signature detects Yahoo! finance, a site from Yahoo! that provides financial news and information.
 Application ID: 1896   
 Disabled: No               
 Number of Parent Group(s): 1     
 Application Groups:
     junos:web:finance                           
 Application Tags:
     characteristic        : Bandwidth Consumer                               
     characteristic        : Loss of Productivity                             
     risk                  : 2                                               
     subcategory           : Finance                                         
     category              : Web                                             
 Signature NestedApplication:YAHOO-FINANCE-HTTP                           
     Layer-7 Protocol: HTTP                                               
     Chain Order: no       
     Maximum Transactions: 1                 
     Order: 33722           
     Member(s): 1           
         Member 0       
             Context: http-header-host     
             Pattern: (.*.)?finance.yahoo.com                         
             Direction: CTS                                 

Посмотреть настройки стантардных junos application

root> show configuration groups junos-defaults applications

Посмотреть кто залогинился

root> show system users no-resolve   
  5:38PM  up 28 days,  2:04, 4 users, load averages: 0.10, 0.06, 0.04
 USER     TTY      FROM                              LOGIN@  IDLE WHAT
 root     p0                                                          3:17PM   2:04 cli         
 root     p1                                                          3:03PM     55 cli         
 root     p2                                                          4:21PM     56 cli         
 root     p3                                                          5:31PM      - cli 

Поставить таймаут на ssh/telnet сессию

root> set cli idle-timeout 60
 Idle timeout set to 60 minutes

 root> show cli
 CLI complete-on-space set to on
CLI idle-timeout set to 60 minutes
 CLI restart-on-upgrade set to on
 CLI screen-length set to 55
 CLI screen-width set to 207
 CLI terminal is 'xterm'
 CLI is operating in enhanced mode
 CLI timestamp disabled
 CLI working directory is '/cf/root'

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

root> request chassis cluster failover redundancy-group [0|1] node [0|1]

Увести RG0 на node1:

root> request chassis cluster failover redundancy-group 0 node 1

После этого приоритет node1 для RG0 станет равным 255.

Что бы привести приоритет в соответствие со штатными настройками надо дать комануду:

root> request chassis cluster failover reset redundancy-group 0

После этого, в зависимости от настройки “Preempt”, RG0 останется или на node1 или вернется на node0.


Сброс конфигурации junos

 [edit]
 root# load factory-default   
 warning: activating factory configuration

Посмотреть загрузку cpu

Routing Engine

 user@srx> show chassis routing-engine
 Routing Engine status:
     Temperature                 57 degrees C / 134 degrees F
     Total memory              1024 MB Max   655 MB used ( 64 percent)
       Control plane memory     544 MB Max   457 MB used ( 84 percent)
       Data plane memory        480 MB Max   202 MB used ( 42 percent)
     CPU utilization:
       User                       4 percent
       Background                 0 percent
       Kernel                    10 percent
       Interrupt                  0 percent
       Idle                      85 percent
     Model                       
     Serial ID                   
     Start time                     2015-02-04 19:03:18 GMT-3
     Uptime                         26 minutes, 6 seconds
     Last reboot reason             0x200:normal shutdown
     Load averages:                 1 minute   5 minute  15 minute
                                        0.07       0.17       0.61

Forwarding Plane

Смотреть “Real-time threads CPU utilization”

 user@srx> show chassis forwarding       
 FWDD status:
   State                                 Online   
   Microkernel CPU utilization        14 percent
   Real-time threads CPU utilization   0 percent
   Heap utilization                   42 percent
   Buffer utilization                  1 percent
   Uptime:                               22 minutes, 39 seconds

Недавно начал изучать с нуля оборудование Juniper Networks. К нам в контору пришли 3 Juniper SRX240 и SRX650. Вот собрал список команд которые мне больше всего пригодились при первоначальной настройке оборудования Juniper.

Оборудование Juniper работает на основе OS FreeBSD, при включении и прохождении аутентификации вы можете увидеть такие строки приглашения в режимы пользователя:

root@juniper% — это сам shell OS FreeBSD
после ввода команды cli мы попадаем в
root@juniper> — операционный режим, после ввода команды edit попадаем в
root@juniper# — конфигурационный режим

О назначении всех режимов я останавливаться не буду.

Команды операционного режима

Команды мониторинга и устранения неисправностей:
root@juniper> clear — очистка чего-либо
root@juniper> monitor — просмотр чего либо в реальном времени
root@juniper> ping — проверка доступности узлов ICMP-пакетами
root@juniper> show — просмотр конфигурации
root@juniper> test — тестирование сохраненных конфигураций и интерфейсов
root@juniper> traceroute — трассировка маршрута

Отображение состояния интерфейсов
root@juniper> show interface description
root@juniper> show interface terse {кратко о состоянии интерфейсов}
root@juniper> show interface detail {полная информация о интерфейсах}

Сохранение резервной конфигурации
root@juniper> request system configuration rescue save

Чтобы возвратиться к спасательной конфигурации, загрузите её следующей командой:
root@juniper# rollback rescue

Удаляет не примененные команды
root@juniper> clear system commit

Показывает CPU, Mem and Temperature
root@juniper> show chassis routing-engine

Показывает статистику на интерфейсе в реальном времени
root@juniper> monitor traffic interface ge-0/0/1 {какие пакеты и куда идут на интерфейсе}
root@juniper> monitor interface traffic {трафик на всех интерфейсах}

Рестарт процесса
root@juniper> restart {process} gracefully

Перегрузка оборудования
root@juniper> request system reboot

Удаление ненужных файлов
root@juniper> request system storage cleanup

Команды конфигурационного режима

Отключение ветки конфигурации
root@juniper# deactivate {interfaces ge-0/0/10}

Загрузка заводской конфигурации
root@juniper# load factory-default

Установка пароля на root-пользователя
root@juniper# set system root-authentication plain-text-password

Установка нового пользователя
root@juniper# set system login user {имя пользователя} class {тип пользователя: operator, read-only, super-user} authentication plain-text-password

Настройка WEB-интерфейса
root@srx# set system services web-management http interface {vlan.0} {включение интерфейсов}

Включение ssh-доступ к роутеру
root@srx# set system services ssh

Переключение с одного порта на другой
(порт на который переключаешься не должен быть активен)
root@juniper# rename interfaces ge-0/0/0 to ge-0/0/1

Возвращение портов — обратная операция
root@juniper# rename interfaces ge-0/0/1 to ge-0/0/0

Что бы не удалять IP-адрес с интерфейса и присваивать другой используй команду rename
[edit interfaces]
root@juniper# rename ge-0/0/1 unit 0 family inet address 192.168.0.1/28 to address 192.168.0.2/28

Копирование части конфигурации на другую ветку
(ветка на которую копируется не должна быть создана)
root@juniper# copy interfaces ge-0/0/0 to ge-0/0/1

Возвращение на верхний уровень иерархии конфигурационного режима [edit]
[edit interfaces ge-0/0/1]
root@juniper# top

Ввод операционных команд из конфигурационного режима
root@juniper# run {show route} {любая операционная команда}

Команды на применение, сохранение и откат конфигурации.

Проверка конфигурации на ошибки до коммита
root@juniper# commit check

Применение конфигурации по времени
root@juniper# commit at 12:00 {по системному времени}

Чтобы отменить операцию по времени
root@juniper> clear system commit

Применение конфигурации с откатом по времени
root@juniper# commit confitmed 100 {время в минутах}

Откат конфигураций
root@juniper# rollback {откат на последнюю конфигурацию}
root@juniper# rollback? {просмотр откатов конфигурации}

Просмотр изменений в конфигурации до ее применения
root@juniper# show | compare

Коммутация портов

Сделать нужные порты членами одной виртуальной локальной сети (VLAN).
root@juniper# set interfaces interface-range interfaces-trust member-range ge-0/0/1 to ge-0/0/7

Этой командой мы сказали, что интерфейсы являются портами коммутатора и принадлежат к одному VLAN под названием vlan-trust.
root@juniper# set interfaces interface-range interfaces-trust unit 0 family ethernet-switching vlan members vlan-trust

Далее создаем собственно сам vlan-trust и говорим, что данный VLAN терминируется и имеет IP-адрес
root@juniper# set vlans vlan-trust vlan-id 3
root@juniper# set vlans vlan-trust l3-interface vlan.0
root@juniper# set interfaces vlan unit 0 family inet address 192.168.0.1/24

Настройка зон безопасности {Названия зон могут любыми}

Разрешаем все сервисы в зоне trust
root@juniper# set security zones security-zone trust host-inbound-traffic system-services all

Разрешаем все протоколы в зоне trust
root@juniper# set security zones security-zone trust host-inbound-traffic protocols all

Добавляем интерфейсы в зону trust
root@juniper# set security zones security-zone trust interfaces vlan.0
root@juniper# set security zones security-zone trust interfaces lo0.0
root@juniper# set security zones security-zone trust interfaces ge-0/0/1.0

Создаем переход от зоны trust к зоне trust {в этих политиках мы разрешаем всё}
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match source-address any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match destination-address any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match application any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust then permit

Описывать зону untrast и переходы от этой к другим зонам не стал, т.к. у меня нету такой необходимости.

Что делать когда Juniper сам по себе перезагрузился? Каким образом проверить использование системных ресурсов на устройстве? Как выполнять Troubleshooting работы Juniper?

1. Самое первое, что стоит проверить после перезагрузки устройства — show chassis routing-engine значение «Last reboot reason» в котором в штатном режиме должно быть — «Router rebooted after a normal shutdown» Но, стоит понимать, что это определение не говорит о том, что проблем не было, это лишь поможет понять, увидел ли проблему JunOS или нет, что может упростить процесс анализа.
Я на своей практике замечал следующие состояние: «could not be determined«, «panic:ehci_abort_xfer: not in process context«, «0x1:power cycle/failure«.

На правах

рекламы

совета, большинство падений оборудования связано с недавно внесенными изменениями в сеть/работу устройства и т.д. Какие действия выполнялись на Juniper можно проверить по commits (история внесений изменений в конфигурацию устройства):
show system commit  — кто и когда коммитил
show configuration | compare rollback 2 — сравнить текущую конфигурацию системы с конфигурацией в файле  rollback 2
show system rollback compare 4 3 — сравнить 2 файла конфигурации

2. Проверим файлы с логами: show log messages | find «FreeBSD Project». Не забываем, что если у нас устройство генерирует большое количество записей, то просматриваем все имеющиеся файлы логов (messages.0.gz, messages.1.gz и тд.) пока не найдем желаемое. Читаем логи за 15 минут до падения устройства и анализируем.
Для того чтобы удобно работать с логами, необходимо использовать достаточный уровень логирования, например — set system syslog file messages any notice. Рекомендуется не включать полное логирование «any any», такое логирование со временем просто «убьет» flash drive на routing-engine. Если мы хотим логировать всё-всё-всё — syslog сервер нам в помощь.

Заметим, что в случае, если устройство перезагружено администратором в логах будет следующие записи:
May 17 17:15:04  EX3200 mgd[45517]: UI_REBOOT_EVENT: System rebooted by ‘admin’
May 17 17:15:10  EX3200 shutdown: reboot by admin:

В случае, если мы замечаем, что устройство жалуется на конкретный процесс (daemon), в KB Juniper мы можем найти описание процессов: List of Junos OS Processes

Не мало важный момент это — использование traceoptions на Juniper (debug). Включение traceoptions для сервисов, протоколов, процессов и тд. значительно помогает в настройке/troubleshooting, но, это может вылезть «боком», трейсы довольно трудоемкий процесс и кушает много системных ресурсов. Поэтому, в штатном режиме использовать traceoptions не стоит и + это убьет flash drive в 10 раз быстрее… Когда flash drive плохо, возникает похожая ошибка — g_vfs_done():da1s1f[WRITE(offset=962772992, length=16384)]error = 5, она может возникнуть в процессе работы, загрузки устройства, либо работы с файловой системой.
Проверяем не было ли создано системой core-dumps файлов (это дампы памяти, которая система может сделать в случаи crash определенного демона rpd, etc).
show system core-dumps

Содержание данных файлов трудно проанализировать самостоятельно, поэтому, зачастую создается тикет в JTAC и данные файлы заливаются на FTP Juniper, в последующем анализируются инженерам. FAQ в KB Juniper по добавления файлов.
TT (trouble ticket) можно открыть при наличии активного сервисного контракта у Juniper Networks — Serial Number Entitlement Search

3. Проверим версию установленного JunOS:
show version

Не нужно гнаться за самой последней веткой и версией софта а использовать recommend (http://kb.juniper.net/InfoCenter/index?page=content&id=KB21476&actp=search)
Важный момент, возможно уже существует описание бага по причине которого и произошла перезагрузка оборудования, данную информацию можно проверить в в PROBLEM REPORT SEARCH — https://prsearch.juniper.net/InfoCenter/index?page=prsearch. Для входа требуется регистрация.
Информация и FAQ по обновлению JunOS

3. Большинство устройств Juniper имеют модульную архитектуру и разделение по плоскости управления и обработки трафика (control & data plane), правда это разделение не всегда аппаратное. Выполняем типичную проверку состояния компонентов устройства (Routing-engine, Flexible PIC Concentrator, tfeb, ethernet-switch, компоненты и функции устройства могут отличаться в зависимости от серии и модели устройства). Таким образом мы попытаемся локализовать проблему.

show chassis hardware — список всех компонентов (само шасси, платы (модуля), блоки питания, фаны). Это исключительно список активных компонентов. Если карта сейчас упала или перезагружается здесь она отображена не будет, пока она полностью не загрузиться и не будет инициализирована.

show chassis routing-engine  — состояние Routing-engine (мозгов устройства), если используется резервирование, одна RE в состоянии Master, вторая RE в состоянии Backup. Здесь обращаем внимание на использование оперативной памяти и CPU.
Рекомендации по настройка отказоустойчивость по RE — Configuring Routing Engine Redundancy

show chassis alarms и show system alarms — комментарии излишни, система сама может показать проблему, если она ее заметила.

show chassis fpc detail — информация о состоянии и нагрузки линейных карт.

show chassis fpc pic-status — информация о состоянии pic модулей, которые вставлены в fpc карты.

show chassis pic fpc-slot 0 pic-slot 2 — информация о состоянии и загрузки конкретной pic карты, в примере это MS-MIC-16G на mx10-t.

show chassis environment — температура ASIC чипов (LU (XL), MQ (XM), QX (XQ) — это типы чипов на Juniper Trio Chipset для MX) тип чипа зависит от модели и архитектуры устройства). При нормальных условиях функционирования устройства температура не должна превышать 60 градусов по Цельсию. Если все блоки питания подключены к сети, напротив PEM будет указано — OK, если блок питания присутствует, но питание не подается — Absent. В штатном режиме, все fan должны крутиться на нормальной скорости, это отображается как — Spinning at normal speed.

На больших железках MX240 +  все участвующие в обработке трафика компоненты связываются между собой через встроенный в SCB ethernet-switch. Выполнив команду show chassis ethernet-switch statistics мы можем посмотреть нет ли ошибок на служебных интерфейсах.

5. Настройки защиты control plane. По умолчанию, Juniper MX например, не имеет никаких ограничений по протоколам, портам, к которым могут обращаться снаружи. Учитывая тот факт, что существует большое количество уязвимостей как JunOS CVE Vulnerability Juniper, так и уязвимостей в протоколах. Правильное решение данной проблемы — настроить фильтры для трафика, который может обращаться к control plane нашего устройства.
Официально у Juniper есть следующая литература:
http://www.juniper.net/us/en/training/jnbooks/day-one/fundamentals-series/securing-routing-engine/

mode Команда Описание
# commit confirmed Применяет конфигурацию на 10 минут, после чего возвращается к исходной конфигурации, можно указать количество минут на которое нужно применить конфигурацию, например «commit confirmed 6» конфигурация будет применена на 6 минут.
# replace pattern [что_заменить] with [на_что_заменить] находит и заменяет выражения внутри конфигурации
> request system autorecovery state save сохраняет информацию об автовостановлении
> request system configuration rescue save сохраняет текущую конфигурацию в качестве rescue
# set interfaces [название интерфейса] disable отключает интерфейс
# delete interfaces [название интерфейса] disable включает интерфейс
# load factory-default загружает первоначальную (заводскую) конфигурацию.

Команды просмотра и траблшутинга

mode Команда Описание
# show | compare сравнивает текущую конфигурацию и конфигурацию кандидат
> show chassis routing-engine показывает температуру, утилизацию памяти и CPU
> show system license Показывает доступные лицензии на устройстве
> show version Показывает модель устройства и версию JunOS
> show system alarms Показывает системные предупреждения
> show chassis hardware Показывает информацию об устройстве, серийный номер.
> show host hostname Разрешает имя хоста, показывает информацию о DNS, если нужно проверить с конкретного интерфейса, из shell выполняем команду: dig @dns_address -b source_IP hostname
> show system uptime Показывает текущее системное время, аптайм, время загрузки системы
> show arp Показывает arp таблицу, при желании можно указать что именно требуется показать с помощью | grep
# show security policies | display xml | no-more Показывает своего рода матрицу доступа, информацию по всем policy. Вывод команды между тэгами <security> </security> нужно скопировать, сохранить в файл как XML. За тем открыть файл Excel или другим XML совместимым редактором, и получим удобный вывод в таблице.
# show [интересующая ветка конфигурации] | display set показывает набор команд, которые необходимо выполнить для получения такой конфигурации
> show ethernet-switching table показывает mac таблицу (для сортировки можно использовать | grep)
# show groups junos-defaults applications показывает стандартные applications устройства, используемые, например при написании security policies.
> restart dhcp-service soft перезапуск DHCP демона JDHCP

Команды для работы с кластером

mode Команда Описание
> request routing-engine login node 0 Команда для перехода к конфигурации другой ноды (в место node 0 указываем ноду к которой хотим перейти)
> request chassis cluster configuration-synchronize Принудительная синхронизация конфигурации между нодами кластера
# set chassis cluster configuration-synchronize no-secondary-bootup-auto Отключение автоматической синхронизации конфигурации между нодами кластера
> show chassis cluster information configuration-synchronization Просмотр состояния синхронизации конфигурации между нодами

Режим конфигурации имеет:

configure – режим общей конфигурации-кандидата;
configure private – чтобы одновременно вносить совместимые изменения, редактировать собственную копию конфигурации-кандидата;
configure exclusive – для монопольного конфигурирования конфигурации-кандидата.

Фиксация изменений:

commit check
commit at 23:00
commit confirmed 1
commit and-quit

Команды рабочего режима:

deactivate – задать изменения конфигурации и оставить их неактивными;
activate – включить неактивные конфигурационные куски.

Отмена изменений:

rollback – возвращает предыдущую конфигурацию;
rollback {1-50} – возвращает выбранную, предыдущую конфигурацию;
show |compare rollback 2 – используется для сравнения конфигурации кандидата с конфигурацией rollback 2;
show |compare – позволяет увидеть какие изменения будут зафиксированы после активизации конфигурации.

Прочее:

Сохранение резервной конфигурации:

root@srx> request system configuration rescue save

Удаляет не примененные команды:

root@srx> clear system commit

Выключение оборудования:

root@srx> request system power-off

Удаление ненужных файлов:

root@srx> request system storage cleanup

Проверка конфигурации на ошибки до commit:

root@srx# commit check

Применение конфигурации с откатом по времени:

root@srx# commit confitmed 100 {время в минутах}

Применение конфигурации по времени:

root@srx# commit at 12:00 {по системному времени}

Просмотр таблицы ARP:

root@srx# show arp

Просмотр MACов:

root@srx> show ethernet-switching table
root@srx> show ethernet-switching table | match XX:XX:XX:XX:XX:XX

Просмотр MACов по влану:

root@srx# show ethernet-switching table vlan 12
Показывает статистику на интерфейсе в реальном времени
rroot@srx> monitor traffic interface fe-0/0/1 {какие пакеты и куда идут на интерфейсе}
root@srx> monitor interface traffic {трафик на всех интерфейсах}
Дебаг первой фазы туннеля:
show security ike security-associations
Дебаг второй фазы туннеля:
show security ipsec security-associations | no-more
Сбросить первую фазу туннеля:
clear security ike security-associations
Сбросить вторую фазу туннеля:
clear security ipsec security-associations | no-more

Отображение набора команд для текущей конфигурации:

root@srx# show system services | display set

Просмотр сделанных изменений:

root@srx# show | compare

Сравнение активной и одной из предыдущих конфигураций:

root@srx# show configuration | compare rollback number

Восстановление предыдущей конфигурации:

root@srx# rollback X
root@srx# commit

Общие команды конфигурации

mode Команда Описание
# commit confirmed Применяет конфигурацию на 10 минут, после чего возвращается к исходной конфигурации, можно указать количество минут на которое нужно применить конфигурацию, например «commit confirmed 6» конфигурация будет применена на 6 минут.
# replace pattern [что_заменить] with [на_что_заменить] находит и заменяет выражения внутри конфигурации
> request system autorecovery state save сохраняет информацию об автовостановлении
> request system configuration rescue save сохраняет текущую конфигурацию в качестве rescue
# set interfaces [название интерфейса] disable отключает интерфейс
# delete interfaces [название интерфейса] disable включает интерфейс
# load factory-default загружает первоначальную (заводскую) конфигурацию.

Команды просмотра и траблшутинга

mode Команда Описание
# show | compare сравнивает текущую конфигурацию и конфигурацию кандидат
> show chassis routing-engine показывает температуру, утилизацию памяти и CPU
> show system license Показывает доступные лицензии на устройстве
> show version Показывает модель устройства и версию JunOS
> show system alarms Показывает системные предупреждения
> show chassis hardware Показывает информацию об устройстве, серийный номер.
> show host hostname Разрешает имя хоста, показывает информацию о DNS, если нужно проверить с конкретного интерфейса, из shell выполняем команду: dig @dns_address -b source_IP hostname
> show system uptime Показывает текущее системное время, аптайм, время загрузки системы
> show arp Показывает arp таблицу, при желании можно указать что именно требуется показать с помощью | grep
# show security policies | display xml | no-more Показывает своего рода матрицу доступа, информацию по всем policy. Вывод команды между тэгами <security> </security> нужно скопировать, сохранить в файл как XML. За тем открыть файл Excel или другим XML совместимым редактором, и получим удобный вывод в таблице. Подробнее в KB Juniper
# show [интересующая ветка конфигурации] | display set показывает набор команд, которые необходимо выполнить для получения такой конфигурации
> show ethernet-switching table показывает mac таблицу (для сортировки можно использовать | grep)
# show groups junos-defaults applications показывает стандартные applications устройства, используемые, например при написании security policies.
> restart dhcp-service soft перезапуск DHCP демона JDHCP

Команды для работы с кластером

mode Команда Описание
> request routing-engine login node 0 Команда для перехода к конфигурации другой ноды (в место node 0 указываем ноду к которой хотим перейти)
> request chassis cluster configuration-synchronize Принудительная синхронизация конфигурации между нодами кластера
# set chassis cluster configuration-synchronize no-secondary-bootup-auto Отключение автоматической синхронизации конфигурации между нодами кластера
> show chassis cluster information configuration-synchronization Просмотр состояния синхронизации конфигурации между нодами

Еще можно посмотреть Команды для работы с тунелями Juniper SRX

You are here: Home / Blogs / JUNOS: Useful Show Commands to Capture Data for Verification and Troubleshooting – Part 1

I saw couple of JUNOS related post on Packet Pushers, so I thought of writing about useful show commands that can be captured during verification or troubleshooting.

In the Juniper world, things are more focused on distributed infrastructure to achieve robust performance, so it’s better to mention it to gain a clear understanding of the system. Juniper routers are divided into two different parts, known as the control plane and the forwarding plane. The control plane is where your routing-related processes are running, and the forwarding plane is where actual forwarding of data takes place based on the information learned from the control plane. The control plane in a Juniper router is handled by the Routing Engine, while the forwarding plane is handled by forwarding cards known as Flexible PIC Concentrator (FPC) or Modular Port Concentrator (MPC) depending on which router you are using. PIC is a module which has physical ports to connect, and it can be built-in or modular, depending on the type of card you are using.

In this series, we will mostly focus on control plane data collection commands for various protocols or technologies. I might not be able to cover all the protocols or technologies, but I will try to cover basic things which can help you with day to day operations and verification. In this specific post, I will cover all the basic commands that you need to verify health check related information and basic routing information.

Always use “set cli timestamp” while you are provisioning, troubleshooting or capturing information from the router to log the time stamp of all commands that you are executing.

[email protected]> set cli timestamp

Jul 10 15:52:36

CLI timestamp set to: %b %d %T

[email protected]> show version 

Jul 10 15:52:41

JUNOS Base OS boot [10.4R6.5]

JUNOS Base OS Software Suite [10.4R6.5]

Output of show version without “set cli timestamp”:

[email protected]> show version

JUNOS Base OS boot [10.4R6.5]

JUNOS Base OS Software Suite [10.4R6.5]

Show commands can be executed from any level of router mode. While you are in operation mode “>”, you can use show commands directly. If you are in operation mode “#”, you will have to use the keyword “run” before show commands, as shown in following example.

[email protected]> show version

JUNOS Base OS boot [11.2S6]

JUNOS Base OS Software Suite [11.2S6]

lab@R1MX960re0&gt; edit

Entering configuration mode

[email protected]# run show version <<< using “run” key word before show version.

JUNOS Base OS boot [11.2S6]

JUNOS Base OS Software Suite [11.2S6]

You can use “match” keyword with pipe (|) to find any specific field or pattern in output:

[email protected]> show version | match IDP

JUNOS IDP Services [11.2S6]

[email protected]> show interfaces ge-7/0/0 | match error

Linklevel type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None,

MACREWRITE Error: None, Loopback: Disabled, Source filtering: Disabled,

[email protected]> show interfaces ge-7/0/0 | match MTU

Linklevel type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None,

MACREWRITE Error: None, Loopback: Disabled, Source filtering: Disabled,

[email protected]> show interfaces ge-7/0/0 | match rate

Input rate : 0 bps (0 pps)

Output rate : 0 bps (0 pps)

To execute multiple field searches you can use following command or format:

{master}

[email protected]> show interfaces ge-7/0/0 | match “MTU|Rate”

Linklevel type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None,

MACREWRITE Error: None, Loopback: Disabled, Source filtering: Disabled,

Input rate : 0 bps (0 pps)

Output rate : 0 bps (0 pps)

You can write or save the output of show commands to specific file for offline analysis using save command as follows:

This example is storing output command with specific match to file name “interface_ge700_mtu_rate”:

{master}

[email protected]> show interfaces ge-7/0/0 | match “MTU|Rate” | save interface_ge700_mtu_rate

Wrote 3 lines of output to ‘interface_ge700_mtu_rate’

To read the file you can execute file show command as follows:

lab@R1MX960re0&gt; <strong>file show interface_ge700_mtu_rate</strong>

Linklevel type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None,

MACREWRITE Error: None, Loopback: Disabled, Source filtering: Disabled,

Input rate : 0 bps (0 pps)

Output rate : 0 bps (0 pps)

Here I am saving the whole output of show interface ge-7/0/0 to file name “interface_ge700”:

lab@R1MX960re0&gt; show interfaces ge7/0/0 | <strong>save interface_ge700</strong>

Wrote 16 lines of output to ‘interface_ge700’

lab@R1MX960re0&gt; <strong>file show interface_ge700</strong>

Physical interface: ge7/0/0, Enabled, Physical link is Up

Interface index: 147, SNMP ifIndex: 1154

Linklevel type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None,

MACREWRITE Error: None, Loopback: Disabled, Source filtering: Disabled,

Flow control: Enabled, Autonegotiation: Enabled, Remote fault: Online,

Speednegotiation: Disabled, AutoMDIX: Enabled

Device flags : Present Running

Interface flags: SNMPTraps Internal: 0x4000

CoS queues : 8 supported, 4 maximum usable queues

Current address: 00:05:85:77:6c:83, Hardware address: 00:05:85:77:6c:83

Last flapped : 20120628 13:00:43 EST (1w4d 23:03 ago)

Input rate : 0 bps (0 pps)

Output rate : 0 bps (0 pps)

Interface transmit statistics: Disabled

To identify the system timing, system uptime, when system last rebooted and configuration:

[email protected]> show system uptime

<strong>Current time:</strong> 20120710 15:51:03 <strong>UTC</strong>

S<strong>ystem booted</strong>: 20120710 15:20:07 UTC (00:30:56 ago)

Protocols started: 20120710 15:22:14 UTC (00:28:49 ago)

<strong>Last configured:</strong> 20120710 15:21:38 UTC (00:29:25 ago) by root

3:51PM up 31 mins, 1 user, load averages: 0.10, 0.07, 0.15

To look at the CPU related information of Routing-Engine (RE):

In this command, you will be able to identify the memory and CPU utilization of RE, and you will be also able to find out the last reboot reason and time.

[email protected]> show chassis routing-engine

Temperature                 41 degrees C / 105 degrees F

CPU temperature             40 degrees C / 104 degrees F

Memory utilization          26 percent

Start time                     20120710 15:20:07 UTC

Uptime                         6 hours, 41 minutes, 58 seconds

Last reboot reason             Router rebooted after a normal shutdown.

Load averages:                 1 minute   5 minute  15 minute

To identify what kind of hardware inventory this router has:

In this command you will be able to identify the type of Routing-engine that you are using, Fabric information and Forwarding card information. This information is very useful when you want to replace faulty hardware and open an RMA with JTAC engineers.

[email protected]> show chassis hardware

Item             Version  Part number  Serial number     Description

To look at the FPC resource utilization:

[email protected]> show chassis fpc   

Temp  CPU Utilization (%)   Memory    Utilization (%)

Slot State          (C)  Total  Interrupt      DRAM (MB) Heap     Buffer

0  Online          36      5          0       1024       18         29

2  Online          39      7          0       2048       20         13

5  Online          42      5          0       1024        7         41

7  Online          32     10          0       1024       26         29

[email protected]> show chassis fpc detail

Start time:                           20120711 08:49:04 UTC

Uptime:                               6 hours, 58 minutes, 32 seconds

Max Power Consumption             310 Watts

Start time:                           20120711 08:49:10 UTC

Uptime:                               6 hours, 58 minutes, 26 seconds

Max Power Consumption             440 Watts

Start time:                           20120711 08:48:58 UTC

Uptime:                               6 hours, 58 minutes, 38 seconds

Max Power Consumption             265 Watts

Start time:                           20120711 08:49:01 UTC

Uptime:                               6 hours, 58 minutes, 35 seconds

Max Power Consumption             335 Watts

To take a look at a configuration:

From operation mode:

[email protected]> show configuration

From configure mode:

[edit]

[email protected]# show

To look at the last 50 configuration commits with their time stamp and who executed those configuration changes:

[email protected]> show system commit

0   20120711 15:49:02 UTC by lab via cli

1   20120710 15:21:38 UTC by root via other

2   20120710 15:01:08 UTC by lab via cli

3   20120707 15:43:02 UTC by lab via cli

To look at the difference between the current and 49th configuration:

[email protected]> show configuration | compare rollback 49

You can use any rollback number from 1 to 49.

To identify what are the process that are running on router:

[email protected]> show system processes extensive

last pid: 14820; load averages: 0.12, 0.07, 0.01 up 1+00:18:38 15:38:15

131 processes: 4 running, 110 sleeping, 17 waiting

Mem: 261M Active, 59M Inact, 48M Wired, 231M Cache, 69M Buf, 897M Free

Swap: 2048M Total, 2048M Free

PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND

11 root        1 171   52     0K    12K RUN     22.6H 91.70% idle

1387 root         1   4    0 32860K 10360K kqread   0:29  0.00% rpd

14819 root        1 101    0 28764K 11564K RUN      0:00 15.00% mgd

14816 root        1   4    0  4336K  2836K sbwait   0:00  3.00% cscript

1344 root        1  96    0 34280K  9076K select  33:47  0.98% chassisd

1083 root        1  96    0  4204K  2712K select   0:29  0.05% eventd

To check the interface status on router:

[email protected]> show interfaces terse ge-0/3/0

Interface               Admin Link Proto    Local                 Remote

To look for all interfaces from specific FPC/MPC, use the “*” as shown:

[email protected]> show interfaces terse ge-7/*

Interface               Admin Link Proto    Local                 Remote

To list only up interfaces you can use “match” condition along with “*”:

[email protected]> show interfaces terse ge-7/* | match “up    up”

To look at more information on interfaces for various counters, error counters, and other interface-related information, use the “extensive” keyword at the end:

[email protected]> show interfaces ge-7/0/0 extensive

To identify total number of routes:

The following command will give you the total number of routes, as well as a breakdown of which protocol and which address family has how many routes. This command will also provide you information about the Router ID and autonomous system information.

[email protected]> show route summary

Autonomous system number: 300

inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden)

Direct:      7 routes,      7 active

Local:      8 routes,      8 active

Static:      2 routes,      2 active

mpls.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)

inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)

To look at the specific route:

[email protected]> show route 192.168.10.18

inet.0: 22 destinations, 22 routes (22 active, 0 holddown, 0 hidden)

+ = Active Route, = Last Active, * = Both

192.168.10.18/32   *[OSPF/10] 1d 00:27:57, metric 3

&gt; to 10.10.10.10 via lt1/2/0.5

inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

+ = Active Route, = Last Active, * = Both

192.168.10.18/32   *[RSVP/7/1] 1d 00:27:49, metric 3

&gt; to 10.10.10.10 via lt1/2/0.5, labelswitchedpath R2toR9

To look at the more detailed information for a specific route, use the “extensive” keyword:

The following command will show you all required information, including which protocol learned this route, what is the next-hop neighbor as well as interface, what kind of label will be used to reach that particular route, and if there are multiple routes to reach the same destination, then which one is selected (look for selected keyword in the output).

[email protected]> show route 192.168.10.18 extensive

inet.0: 22 destinations, 22 routes (22 active, 0 holddown, 0 hidden)

192.168.10.18/32 (1 entry, 1 announced)

KRT inkernel 192.168.10.18/32 &gt; {10.10.10.10}

Next hop type: Router, Next hop index: 1136

Nexthop reference count: 14

<strong>                Next hop: 10.10.10.10 via lt1/2/0.5, selected</strong>

State: &lt;Active Int&gt;

Age: 1d 0:28:13         Metric: 3

<strong>                Area: 0.0.0.0</strong>

<strong>                Task: OSPF</strong>

Announcement bits (1): 2KRT

inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

192.168.10.18/32 (1 entry, 0 announced)

Nexthop reference count: 4

Next hop: 10.10.10.10 via lt1/2/0.5 weight 0x1, selected

Labelswitchedpath R2toR9

<strong>                Label operation: Push 299776</strong>

Label TTL action: propttl

           State: &lt;Active Int&gt;

Age: 1d 0:28:05         Metric: 3

In next post of this series, I will write more about protocol verification.

Оборудование Juniper работает на основе OS FreeBSD, при включении и прохождении аутентификации вы можете увидеть такие строки приглашения в режимы пользователя:

root@juniper% — это сам shell OS FreeBSD
после ввода команды cli мы попадаем в
root@juniper> — операционный режим, после ввода команды edit попадаем в
root@juniper# — конфигурационный режим

Команды операционного режима

Команды мониторинга и устранения неисправностей:

  • root@juniper> clear — очистка чего-либо
  • root@juniper> monitor — просмотр чего либо в реальном времени
  • root@juniper> ping — проверка доступности узлов ICMP-пакетами
  • root@juniper> show — просмотр конфигурации
  • root@juniper> test — тестирование сохраненных конфигураций и интерфейсов
  • root@juniper> traceroute — трассировка маршрута

Отображение состояния интерфейсов

  • root@juniper> show interface description
  • root@juniper> show interface terse {кратко о состоянии интерфейсов}
  • root@juniper> show interface detail {полная информация о интерфейсах}

Сохранение резервной конфигурации

  • root@juniper> request system configuration rescue save

Чтобы возвратиться к спасательной конфигурации, загрузите её следующей командой:

  • root@juniper# rollback rescue

Удаляет не примененные команды

  • root@juniper> clear system commit

Показывает CPU, Mem and Temperature

  • root@juniper> show chassis routing-engine

Показывает статистику на интерфейсе в реальном времени

  • root@juniper> monitor traffic interface ge-0/0/1 {какие пакеты и куда идут на интерфейсе}
  • root@juniper> monitor interface traffic {трафик на всех интерфейсах}

Рестарт процесса

  • root@juniper> restart {process} gracefully

Перегрузка оборудования

  • root@juniper> request system reboot

Удаление ненужных файлов

  • root@juniper> request system storage cleanup

Команды конфигурационного режима

Отключение ветки конфигурации

  • root@juniper# deactivate {interfaces ge-0/0/10}

Загрузка заводской конфигурации

  • root@juniper# load factory-default

Установка пароля на root-пользователя

  • root@juniper# set system root-authentication plain-text-password

Установка нового пользователя

  • root@juniper# set system login user {имя пользователя} class {тип пользователя: operator, read-only, super-user} authentication plain-text-password

Настройка WEB-интерфейса

  • root@srx# set system services web-management http interface {vlan.0} {включение интерфейсов}

Включение ssh-доступ к роутеру

  • root@srx# set system services ssh

Переключение с одного порта на другой
(порт на который переключаешься не должен быть активен)

  • root@juniper# rename interfaces ge-0/0/0 to ge-0/0/1

Возвращение портов — обратная операция

  • root@juniper# rename interfaces ge-0/0/1 to ge-0/0/0

Что бы не удалять IP-адрес с интерфейса и присваивать другой используй команду rename
[edit interfaces]

  • root@juniper# rename ge-0/0/1 unit 0 family inet address 192.168.0.1/28 to address 192.168.0.2/28

Копирование части конфигурации на другую ветку
(ветка на которую копируется не должна быть создана)

  • root@juniper# copy interfaces ge-0/0/0 to ge-0/0/1

Возвращение на верхний уровень иерархии конфигурационного режима [edit]
[edit interfaces ge-0/0/1]

  • root@juniper# top

Ввод операционных команд из конфигурационного режима

  • root@juniper# run {show route} {любая операционная команда}

Команды на применение, сохранение и откат конфигурации.

Проверка конфигурации на ошибки до коммита

  • root@juniper# commit check

Применение конфигурации по времени

  • root@juniper# commit at 12:00 {по системному времени}

Чтобы отменить операцию по времени

  • root@juniper> clear system commit

Применение конфигурации с откатом по времени

  • root@juniper# commit confitmed 100 {время в минутах}

Откат конфигураций

  • root@juniper# rollback {откат на последнюю конфигурацию}
  • root@juniper# rollback? {просмотр откатов конфигурации}

Просмотр изменений в конфигурации до ее применения

  • root@juniper# show | compare

Коммутация портов

Сделать нужные порты членами одной виртуальной локальной сети (VLAN).

  • root@juniper# set interfaces interface-range interfaces-trust member-range ge-0/0/1 to ge-0/0/7

Этой командой мы сказали, что интерфейсы являются портами коммутатора и принадлежат к одному VLAN под названием vlan-trust.

  • root@juniper# set interfaces interface-range interfaces-trust unit 0 family ethernet-switching vlan members vlan-trust

Далее создаем собственно сам vlan-trust и говорим, что данный VLAN терминируется и имеет IP-адрес

  • root@juniper# set vlans vlan-trust vlan-id 3
  • root@juniper# set vlans vlan-trust l3-interface vlan.0
  • root@juniper# set interfaces vlan unit 0 family inet address 192.168.0.1/24

Настройка зон безопасности {Названия зон могут любыми}

Разрешаем все сервисы в зоне trust

  • root@juniper# set security zones security-zone trust host-inbound-traffic system-services all

Разрешаем все протоколы в зоне trust

  • root@juniper# set security zones security-zone trust host-inbound-traffic protocols all

Добавляем интерфейсы в зону trust

  • root@juniper# set security zones security-zone trust interfaces vlan.0
  • root@juniper# set security zones security-zone trust interfaces lo0.0
  • root@juniper# set security zones security-zone trust interfaces ge-0/0/1.0

Создаем переход от зоны trust к зоне trust {в этих политиках мы разрешаем всё}

  • root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match source-address any
  • root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match destination-address any
  • root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match application any
  • root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust then permit

Задача
Вам необходимо отменить активную конфигурацию маршрутизатора и возвратиться к предыдущей конфигурации.

Решение
Команда режима конфигурации rollback загружает предыдущую конфигурацию маршрутизатора как кандидатскую конфигурацию:

[edit]
aviva@router1# rollback 1
load complete
[edit]
aviva@router1# show
...
[edit]
aviva@router1# commit
commit complete

Команды

Расшифровка

show chassis hardware

Показать установленные аппаратные компоненты

show chassis hardware models

Отображает серийный номер и номер модели для заказываемых FRU

show chassis environment

Показать состояние компонентов (блоков питания, и т.д) и температуру, скорость системы охлаждения

show configuration interfaces ge-0/0/1

Посмотреть текущие настройки интерфейса ge-0/0/1

show log messages

Посмотреть состояние ведения журнала в syslog

show interfaces terse

Кратко о состоянии интерфейсов, например:
show interface terse xe-0/0/11
Interface              Admin   Link  Proto     Local     Remote
xe-0/0/11             up          up

где
Admin up — административно включён админом
Link up — подключён патч-кордом коммутатор-сервер

show lacp interfaces

Отображение информации протокола управления агрегацией каналов (LACP) об указанном агрегированном интерфейсе Ethernet, Fast Ethernet или Gigabit Ethernet

show ethernet-switching table interface ge-0/0/1

Посмотреть MAC-адрес, подключенного оборудования

show cli history

Показать список предыдущих команд

show system users

Показывает пользователей, которые в данный момент вошли в систему

show arp no-resolve interface ae0.335

Посмотреть записи таблицы ARP на маршрутизаторе, где ae0 агрегированный интерфейс, а 335 unit (unit это тоже самое, что interface Vlan335 как в Cisco)

Понравилась статья? Поделить с друзьями:
  • Счетчик монет pro cs 80r ошибка ec
  • Счетчик электроэнергии выдает ошибку еррор 21
  • Счетчик меркурий коды ошибок
  • Счетчик цэ2727а ошибка
  • Счетчик меркурий выдает ошибку