Недавно начал изучать с нуля оборудование 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 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 работает на основе 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
Что делать когда 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/
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 — c англ. «можжевельник» (коммутаторы, маршрутизаторы, межсетевые экраны и др.) базируется на операционной системе Junos OS (основана на FreeBSD). CLI Junos OS отличается от привычного многим CLI Cisco IOS. Ниже рассмотрим примеры настройки базового функционала устройств на основе Junos OS.
Основы CLI Junos OS/Базовая настройка устройства (Part1):
Junos OS имеет UNIX shell и 2 основных режима CLI: 1) Operational mode 2) Configuration mode
UNIX shell
— UNIX составляющая Junos OS, в ней доступен только стандартный набор unix/linux команд.
Operational mode
— основной режим CLI Junos OS, служит для вывода информации о состоянии устройства, протоколов и т.д. — аналог Cisco user/exec modes.
Configuration mode
— режим конфигурации устройства.
Обозначение разных режимов в консоли устройства:
% — UNIX shell
> — Operational mode
# — Configuration mode
После загрузки устройства Junos OS попросит ввести логин и пароль:
Все платформы «из коробки» имеют только пользователя root, без пароля. После ввода логина мы попадаем в UNIX shell (root@%). Слово Amnesiac говорит о том, что устройство имеет конфигурацию по умолчанию (не настроено).
Переход из UNIX shell в CLI Junos OS (Operational mode) выполняется командой «cli»:
root@% cli
root>
Переход из Operational mode в Configuration mode выполняется командой «configure»:
root> configure
Entering configuration mode[edit]
root#
Для того, чтобы вносить и сохранять конфигурации на устройстве
обязательно
требуется настроить пароль для root пользователя (без него не получится выполнить commit):
root# set system root-authentication plain-text-password
New password:
Retype new password:[edit]
root#
Настройка hostname (имя устройства) выполняется командой «set system host-name»:
root# set system host-name SRX
Создание нового пользователя (admin) с root правами (class super-user):
root# set system login user admin authentication plain-text-password
root# set system login user admin class super-user
Настройка временной зоны и NTP (имя NTP сервера должно «резолвиться», в противном случае нужно настраивать IP адрес):
root# set system time-zone Europe/Moscow
root# set system ntp server 0.pool.ntp.org
root# set system ntp boot-server 0.pool.ntp.org
Настройка доступа по SSH:
root# set system services ssh
root# set system services ssh protocol-version v2
Настройка DNS(Google DNS, например):
root# set system name-server 8.8.8.8
Основная особенность Junos OS в том, что вся конфигурация не применяется на лету, как у Cisco, например, её обязательно нужно применять командой «commit»:
root# commit
commit complete[edit]
root@SRX#
Выход из режима конфигурации осуществляется командой «quit configuration-mode» или «exit configuration-mode»(с любого уровня конфигурации):
root@SRX# quit configuration-mode
Exiting configuration moderoot@SRX>
Перезагрузка и выключение устройства:
/Перезагрузка
root@SRX> request system reboot
/Выключение
root@SRX> request system halt
Сброс настроек к заводским:
root@SRX# load factory-default
/т.к. после введения команды все настройки сбросятся, то необходимо заново настроить root password. Так же обязательно необходимо выполнить commit
Основы CLI Junos OS (Part2):
1. Configuration mode:
Есть 2 вида конфигурации в Junos:
1) Active configuration — в терминологии Cisco это running-config.
2) Candidate configuration — конфигурация с неподтвержденными изменениями в ней (Uncommitted changes).
Посмотреть внесенную, но не примененную конфигурацию (uncommitted changes) в режиме конфигурации можно с использованием команды «show | compare«, где «+» это конфигурация, которая будет добавлена в активную после выполнения commit, а «-» которая будет удалена.
Применение конфигурации, как уже было показано выше, выполняется командой «commit». У этой команды существуют дополнительные опции:
«commit check» — позволяет проверить внесенную конфигурацию на предмет ошибок, без применения. Junos в процессе конфигурации никогда не скажет, что что-то нельзя настроить, или что-то некорректно, все ошибки он проверяет только когда конфигурация применяется или производится проверка через «commit check».
root@SRX# commit check
configuration check succeeds[edit]
root@SRX#
Каждый успешный «commit» сохраняет копию конфигурации в т.н. commit database, которая хранит до 50 последних конфигураций. Это позволяет откатиться на одну из сохраненных конфигураций позднее, используя команду «rollback» и номер конфигурации (0-49). Посмотреть commit database (покажет когда был выполнен commit, а так же кем и когда):
> show system commit
Для просмотра конфигурации отдельного rollback используется команда «show system rollback» далее указывается его номер.
/покажет конфигурацию rollback 2
> show system rollback 2
rollback 0 (или просто rollback) откатит конфигурацию к последнему успешному commit (т.е. rollback 0 — вернет конфигурацию к current active configuration):
root@SRX# rollback 0
load complete[edit]
root@SRX#
«commit confirmed» — полезная команда, особенно когда настройка осуществляется удаленно. Применяет конфигурацию, но автоматически откатится (Junos фактически сделает rollback 1), если не будет дополнительно введена команда «commit» в течение определенного времени (по умолчанию через 10 минут)
root@SRX# commit confirmed
configuration check succeeds
commit confirmed will be automatically rolled back in 10 minutes unless confirmed
commit complete# commit confirmed will be rolled back in 10 minutes
[edit]
root@SRX#
Scheduled commit позволяет производить commit в определенное время, выполняется командой «commit at«. Полезно, когда необходимо синхронизировать применение новой конфигурации на нескольких устройствах. Пример:
root@SRX# commit at 23:55:00
configuration check succeeds
commit at will be executed at 2016-06-08 23:55:00 MSK
Exiting configuration moderoot@SRX>
«clear system commit» отменяет scheduled commit:
root@SRX> clear system commit
Pending commit clearedroot@SRX>
«commit synchronize» — производит commit на всех доступных RE (для устройств с несколькими RE) — по умолчанию синхронизации между RE при выполнении простого «commit» не происходит. Можно включить синхронизацию конфигурации между RE по умолчанию:
# set system commit synchronize
/теперь, при выполнении простого commit, конфигурация будет синхронизироваться между RE
Rescue configuration — позволяет сохранить текущую конфигурацию (active configuration) в commit database, к которой в любое время можно откатиться (не перезаписывается другими commit, живет отдельно). Данная конфигурация должна содержать root password.
— Создание rescue configuration:
user@SRX> request system configuration rescue save
— Откат к rescue configuration:
root@SRX# rollback rescue
load complete[edit]
root@SRX#
— Удаление rescue configuration:
root@SRX> request system configuration rescue delete
Rescue configuration рекомендуется сохранять с минимальным набором необходимых настроек!
Выход из режима конфигурации можно выполнять отдельными командами («quit configuration- mode»;»exit configuration-mode»), или можно совместить commit и выход из режима конфигурации командой «commit and-quit»:
root@SRX# commit and-quit
commit complete
Exiting configuration moderoot@SRX>
В режиме конфигурации Junos OS в квадратных скобках всегда показывает на каком уровне иерархии мы находимся, в отличие от Cisco IOS, что очень удобно при настройке:
/Вся конфигурация устройства
[edit]
root@SRX# edit system/Конфигурация параметров системы
[edit system]
root@SRX# top edit interfaces/Конфигурация всех интерфейсов
[edit interfaces]
root@SRX# edit ge-0/0/0/Конфигурация интерфейса ge-0/0/0
[edit interfaces ge-0/0/0]
root@SRX#
Основные команды конфигурационного режима:
— «show» — зависит от того, в каком режиме выполняется.
В Configuration mode показывает конфигурацию для того уровня иерархии в котором сейчас находимся, например show, выполненный на уровне [edit], покажет всю конфигурацию устройства —
candidate configuration
(аналог «do show run» в Cisco IOS)
— «edit» — служит для перемещения внутрь иерархии конфигурации
— «up» — подняться в иерархии конфигурации на уровень вверх, up 2 — на два уровня, и т.д.
— «top» — подняться с любого уровня в конфигурации до корня [edit]
— «set» — внести изменения в конфигурацию (добавить конфигурацию)
— «delete» — внести изменения в конфигурацию (удалить конфигурацию)
— «deactivate» — позволяет временно отключить часть конфигурации (сделать её неактивной), без удаления:
# deactivate protocols stp
— «activate» — сделать конфигурацию активной вновь (# activate interfaces ge-0/0/0)
— «disable» — отключить протокол или интерфейс (admin down):
# set interface ge-0/0/0 disable
— «copy» — скопировать часть конфигурации, например с одного интерфейса на другой:
# delete interfaces ge-0/0/4
# copy interfaces ge-0/0/3 to ge-0/0/4
— «rename» — позволяет перемещать часть конфигурацию из одной секции в другую, например с одного интерфейса на другой:
# delete interfaces ge-0/0/4
# rename interfaces ge-0/0/3 to ge-0/0/4
/Вся конфигурация с ge-0/0/3 переместится на ge-0/0/4, интерфейса ge-0/0/3 больше не будет существовать в конфигурации.
Другой пример — поменять один IP адрес на интерфейсе на другой:
# rename interfaces ge-0/0/3 unit 0 family inet address 192.168.1.1/24 to address 192.168.2.1/24
— «commit» — применение конфигурации (работает с любого уровня иерархии, если вы не в режиме configure private — «can only commit from top of private configuration»)
— «rollback» — откатиться до одной из предыдущих конфигураций
— «run» — позволяет выполнять operational mode команды из configuration mode (#run show route, например)
Опции входа в режим конфигурации:
По умолчанию несколько пользователей могут входить в режим конфигурации устройства и выполнять «commit».
«configure exclusive» — позволяет только одному пользователю править и применять конфигурацию. В этом режиме все изменения в candidate configuration которые не были сохранены пропадают: «uncommitted changes will be discarded on exit». Второй пользователь, вошедший на устройство сможет выполнять правки в конфигурации, но при попытке выполнить «commit» получит сообщение: «error: configuration database locked by:».
«configure private» — позволяет нескольким пользователям править и применять конфигурацию независимо друг от друга — у каждого будет своя приватная копия конфигурация, а «commit» и «rollback» не будет затрагивать конфигурацию другого пользователя. В этом режиме так же все изменения в candidate configuration которые не были сохранены пропадают: «uncommitted changes will be discarded on exit».
! Если пользователь находится в режиме configure private, то второй, вошедший в режим конфигурации с помощью команды «configure» не сможет производить «commit»:»error: private edits in use. Try ‘configure private’ or ‘configure exclusive’.»
! Если пользователь находится в режиме configure и уже произвел изменения в конфигурации, то второй пользователь не сможет зайти в режим конфигурации ни как «configure exclusive», ни как «configure private»:»error: shared configuration database modified»
2. Operational mode:
Команда «show» в Operational mode показывает статус системы, интерфейсов, протоколов и т.д., «show configuration» покажет конфигурацию устройства —
active configuration
(аналог «show run» в Cisco IOS)
Уровни детализации вывода команд в Operational mode от самого краткого до наиболее подробного:
«terse«
«brief«
«detail«
«extensive«
Пример:
> show interfaces terse
Фильтрация вывода show команд:
| match — аналог include в Cisco IOS
| except — аналог exclude в Cisco IOS
| find — аналог begin в Cisco IOS
| display set — показывает плоскую конфигурацию устройства с использованием набора set команд:
> show configuration | display set
Help команды Operational mode:
«help apropos» — покажет все доступные команды, содержащие ключевое слово (# help apropos ospf)
«help tip cli» — покажет случайную подсказку по конфигурации JunOS
«help reference» — инструкция по конфигурации той или иной команды, синтаксис и прочее
«help topic» — инструкция по применению той или иной команды (# help topic interfaces address)
Аутентификация:
Настройка порядка аутентификации на устройстве:
# set system authentication order [tacplus | radius | password]
tacplus — TACACS+ server
radius — RADIUS server
password — local DB of device (всегда рекомендуется оставлять)
Local DB будет проверятся даже в том случае, если настроено authentication-order [radius tacplus], но ни один из серверов не отвечает. Если хотя бы 1 сервер отвечает (отправляет устройству accept или reject) то local DB проверяться не будет!
Базовая настройка TACACS+/RADIUS:
# set system tacplus-server 10.0.0.254
# set system radius-server 10.0.0.254
Авторизация пользователей (управление правами):
Класс пользователя (login class) — именованный контейнер, который группирует набор разрешающих правил. По умолчанию доступно 4:
1) super-user: All permissions
2) operator: clear, network, reset, trace, view
3) read-only: view
4) unauthorized: no permissions
Каждый пользователь может находиться
только в одном
login class!
Настройка интерфейсов:
В Junos OS есть понятие unit — это некий аналог subinterface в Cisco IOS. Все интерфейсы обязательно должны иметь unit. По умолчанию на интерфейсы назначен unit 0 (это можно трактовать как простой L2/L3 интерфейс в IOS). В конфигурации устройства unit разделяет собой физические свойства интерфейса (скорость, дуплекс и т.д.) и логические (ip адрес, protocol family и т.д.):
(Физические характеристики интерфейса)
unit number {
(Логические характеристики интерфейса)
Если необходимо настроить IP-адрес на интерфейсе (сделать его как native L3 routed интерфейс), или настроить как простой L2 switchport интерфейс (не важно Trunk или Access), то это обязательно должен быть unit 0 (так же это касается PPP и HDLC), например:
/L3 interface
#set interfaces ge-0/0/0 unit 0 family inet address 192.168.0.1/24
/L2 interface
#set interfaces ge-0/0/0 unit 0 family ethernet-switching
Address Family Identifier (AFI) Junos OS (определяет протокол, который будет работать на интерфейсе — тип интерфейса):
- family ethernet-switching — L2 порт (switchport in Cisco IOS)
- family inet — L3 порт IPv4 (IPv4 routed port/no switchport in Cisco IOS)
- family inet6 — L3 порт IPv6 (IPv6 routed port/no switchport in Cisco IOS)
- family mpls — MPLS
- family iso — IS-IS routing
#set interfaces ge-0/0/0 unit 0 family inet address 192.168.0.1/24
#set interfaces ge-0/0/0 unit 0 family inet address 192.168.0.2/24 preffered
/
#set interfaces ge-0/0/1 unit 0 family inet address 192.168.1.1/24
#set interfaces ge-0/0/1 unit 0 family inet address 192.168.2.1/24 primary
На один интерфейс в Junos OS можно назначать несколько IP адресов, при настройке он не заменится на новый, как на оборудовании Cisco.
«preferred» — эта опция используется когда несколько IP адресов назначаются на 1 интерфейс и они принадлежат одной подсети. Preferred адрес будет использоваться как адрес источника для узлов в directly connected сети. По умолчанию (если опция не прописана) выбирается наименьший адрес из настроенных.
«primary» — эта опция позволяет помечать какой адрес будет использоваться для генерации broadcast и multicast сообщений, а так же будет использоваться когда пакет необходимо отправить в другую подсеть (не directly connected). По умолчанию (если опция не прописана) выбирается наименьший адрес из настроенных.
Настройка Router-on-a-stick:
/Включение тэгирования на интерфейсе
#set interfaces ge-0/0/0 vlan-tagging
/Привязка unit к vlan-id (номер юнита и vlan-id технически могут не совпадать)
#set interfaces ge-0/0/0 unit 10 vlan-id 10
#set interfaces ge-0/0/0 unit 20 vlan-id 20
/Назначение IP адреса на подинтерфейсы
#set interfaces ge-0/0/0 unit 10 family inet address 192.168.10.1/24
#set interfaces ge-0/0/0 unit 20 family inet address 192.168.20.1/24
Если на интерфейсе настроен по умолчанию family ethernet-switching в unit 0, то его необходимо удалить, т.к. vlan-tagging и family ethernet-switching взаимоисключающие настройки.
Настройка Ethernet-Switching:
Создание VLAN в Junos OS:
#set vlans VLAN10 vlan-id 10
#set vlans VLAN20 vlan-id 20
1) Access port
/Режим портов по умолчанию на коммутаторах Juniper EX (access vlan 1 — default vlan)
#set interfaces ge-0/0/0 unit 0 family ethernet-switching
#set interfaces ge-0/0/0 unit 0 family ethernet-switching port-mode access
#set interfaces ge-0/0/0 unit 0 family ethernet-switching vlan-members VLAN10
2) Trunk port
#set interfaces ge-0/0/0 unit 0 family ethernet-switching port-mode trunk
#set interfaces ge-0/0/0 unit 0 family ethernet-switching vlan members [name | all]
По умолчанию trunk порт не разрешает прохождение в нем никаких VLAN! Все VLAN в trunk порту тегируются, т.е. Native VLAN отсутствует, при необходимости (например, если trunk между коммутатором Cisco и Juniper) его можно настроить:
#set interfaces ge-0/0/0 unit 0 family ethernet-switching native-vlan-id 1
При этом native VLAN необходимо удалить из разрешенных в trunk «vlan members».
3) Routed Vlan Interface (RVI)
Аналог SVI в Cisco IOS. Но если в IOS при создании SVI номер VLAN автоматически ассоциируется с номером SVI интерфейса (interface vlan 10), то в Junos OS нужно отдельно привязывать номер VLAN к номеру RVI интерфейса, и они технически могут не совпадать (но лучше, чтобы они совпадали):
#set vlans VLAN10 l3-interface vlan.10
#set interfaces vlan unit 10 family inet address 192.168.10.10/24
#set vlans VLAN20 l3-interface vlan.20
#set interfaces vlan unit 20 family inet address 192.168.20.20/24
root@EX1> show configuration vlans
VLAN10 {
vlan-id 10;
l3-interface vlan.10;
}
VLAN20 {
vlan-id 20;
l3-interface vlan.20;
}root@EX1> show configuration interfaces vlan
unit 10 {
family inet {
address 192.168.10.10/24;
}
}
unit 20 {
family inet {
address 192.168.20.20/24;
}
}
Проверки:
«show ethernet-switching interfaces» — покажет если это trunk порт(tagged) или access(untagged), STP статус порта.
«show vlans [brief]» — покажет список VLAN и участвующих интерфейсов.
Настройка Link Aggregation (LACP):
В Junos OS агрегированный интерфейс называется aggregated ethernet (ae). То же самое что и Port-channel в Cisco.
Для того, чтобы настраивать такие интерфейс, необходимо сначала их создать глобально:
/создание 2-х ae интерфейсов
#set chassis aggregated-devices ethernet device-count 2
Количество интерфейсов, которые можно создать, зависит от аппаратной платформы. Все агрегированные интерфейсы сразу появятся в списке интерфейсов устройства и будут доступны для настройки. Т.е. если device-count = 2, то будут созданы ae0 и ae1.
Добавление физических интерфейсов (перед добавлением рекомендуется удалить интерфейсы, т.к. в них не должно быть unit0 и других настроек: «logical unit is not allowed on aggregated links»):
#set interfaces ge-0/0/10 ether-options 802.3ad ae0
#set interfaces ge-0/0/11 ether-options 802.3ad ae0
Настройка LACP на агрегированном интерфейсе:
#set interfaces ae0 aggregated-ether-options lacp [active | passive]
Настройка ethernet-switching на агрегированном интерфейсе (L2 LAG):
#set interfaces ae0 unit 0 family ethernet-switching
/настройки trunk/access так же выполняются на интерфейсе ae0
Настройка ip routing на агрегированном интерфейсе (L3 LAG):
#set interfaces ae0 unit 0 family inet address 20.0.0.1/30
Проверки:
«show lacp interfaces» — интерфейсы, участвующие в LACP, их роль (на локальном устройстве и на удаленной стороне)
«show spanning-tree interface» — агрегированный интерфейс с точки зрения STP (если настроен L2 LAG).
Spanning-tree в Junos OS:
По умолчанию на коммутаторах Juniper работает STP/RSTP протокол, но в отличие от Cisco c её PVST или Rapid-PVST, на Juniper 1 instance для всех VLAN. Для per-vlan spanning-tree необходимо настраивать протокол VSTP.
# set protocols stp
/или
# set protocols rstp
/или
# set protocols mstp
/или
# set protocols vstp vlan all
Настройка bridge priority:
/для STP
# set protocols stp bridge-priority 4k
/для RSTP
# set protocols rstp bridge-priority 4k
/для MSTP
# set protocols mstp msti 1 bridge-priority 4k
/для VSTP
# set protocols vstp vlan vlan10 bridge-priority 4k
Настройка STP cost:
/для STP
# set protocols stp interface ge-0/0/0 cost 10
/для RSTP
# set protocols rstp interface ge-0/0/0 cost 10
/для MSTP
# set protocols mstp msti 1 interface ge-0/0/0 cost 10
/для VSTP
# set protocols vstp vlan vlan10 interface ge-0/0/0 cost 10
Edge port (STP Portfast):
#set protocols rstp interface ge-0/0/0 edge
Проверки STP:
«show spanning-tree interfaces» — участвующие в STP интерфейсы, их cost, состояние и роль.
«show spanning-tree bridge» — настройки STP на коммутаторе в целом.
Особенности маршрутизации в Junos OS:
В Junos OS вместо AD — Administrative Distance используется термин Route Preference. Значения Route Preference по умолчанию:
Junos OS так же автоматически создает и поддерживает несколько таблиц маршрутизации (в зависимости от настроек):
inet.0 — IPv4 unicast routes
inet.1 — IPv4 multicast forwarding cache
inet.2 — Unicast routes that are used for multicast reverse-path-forwarding (RPF) lookup
inet.3 — IPv4 MPLS
inet6.0 — IPv6 unicast routes
inet6.1 — IPv6 multicast forwarding cache
mpls.0 — MPLS label switching operations
bgp.l2vpn.0 — Layer 2 VPN routes learned from BGP
bgp.l3vpn.0 — Layer 3 VPN routes learned from BGP
Просмотр отдельной таблицы маршрутизации (например inet.0):
> show route table inet.0
Просмотр forwarding-table:
> show route forwarding-table
Основные типы маршрутов в forwarding-table:
dest — Remote addresses directly reachable through an interface
intf — Installed as a result of configuring an interface
perm — Routes installed by the kernel
user — Routes installed by the routing protocol process or as a result of the configuration
iddn — Destination route for which the interface is unreachable
Router ID для динамических протоколов маршрутизации создается глобально на всё шасси и действует для всех протоколов:
# set routing-option router-id 1.1.1.1
Настройка Static Routing:
Статическая маршрутизация настраивается в [edit routing-option]. Пример default route:
#set routing-option static route 0.0.0.0/0 next-hop 10.0.0.1
Вместо next-hop есть возможность прописать 2 опции для сброса маршрута (Null0 в терминологии Cisco):
1) reject — сбросить пакет и отправить ICMP сообщение отправителю (type 3, code 4)
2) discard — сбросить пакет «молча»
— Опция «no-readvertise» — запрещает производить редистрибуцию этого статического маршрута в другие протоколы маршрутизации через Routing Policy (в OSPF, например).
#set routing-option static route 0.0.0.0/0 next-hop 10.0.0.1 no-readvertise
— По умолчанию Junos OS не выполняет recursive lookup для статических маршрутов. Но можно в качестве next-hop добавить адрес не из direct connected сети, для этого необходима опция «resolve». Juniper тогда будет пытаться разрешить этот маршрут через другой статический или через протокол динамической маршрутизации.
#set routing-option static route 20.0.0.0/24 next-hop 30.0.0.1 resolve
/сеть 30.0.0.0 не directly-connected
— Опция «qualified-next-hop» (floating static в терминах Cisco) — можно настроить второй next-hop с увеличенным (можно и со значением меньше 5) значением route preference, и когда основной next-hop станет недоступен, в таблицу маршрутизации будет инсталлирован этот же маршрут через запасной next-hop.
#set routing-option static route 0.0.0.0/0 qualified-next-hop 10.0.0.2
Проверки Static Routing:
«show route protocol static» — таблица маршрутизации, с выводом только статических маршрутов.
Настройка RIP:
Default Routing Policy для RIP:
Import — accept all RIP routes
Export — reject everything
Настройку добавлю при необходимости!
Настройка OSPF:Default Routing Policy для OSPF:
Import — accept all OSPF routes
Export — reject everything (but floods LSA by default !)
Routing Policy не может контролировать LSA flooding, reject everything в данном случае значит то, что из таблицы маршрутизации ничего не анонсируется соседям по умолчанию, но так как OSPF это Link-State протокол, то это не проблема для достижения полной сходимости и обмена OSPF маршрутами!
Основные настройки OSPF:
# set protocols ospf area 0 interface ge-0/0/0
# set protocols ospf area 0 interface ge-0/0/1
/настройка Hello/Dead интервалов
# set protocols ospf area 0 interface ge-0/0/0 hello-interval 1 dead-interval 4
/настройка интерфейса как Passive
# set protocols ospf area 0 interface ge-0/0/1 passive
/настройка reference-bandwidth (по умолчанию reference-bandwidth=100Mbps)
# set protocols ospf reference-bandwidth 10g
/настройка метрики вручную
# set protocols ospf area 0 interface ge-0/0/0 metric 10
/настройка интерфейса как point-to-point
# set protocols ospf area 0 interface ge-0/0/0 interface-type p2p
/настройка MD5 аутентификации
# set protocols ospf area 0 interface ge-0/0/0 authentication md5 0 key Juniper
Если unit не указывается при настройке, Junos OS полагает, что это unit 0 (т.е. ge-0/0/0.0)
Проверки OSPF:
«show ospf neigbor» — таблица соседей
«show route protocol ospf» — таблица маршрутизации с выводом только OSPF маршрутов
«show ospf interface ge-0/0/0 detail» — детальное описание интерфейса, на котором запущен OSPF
Настройка BGP:
Default Routing Policy для BGP:
Import — accept all BGP routes
Export — accept all active BGP routes
Первым делом необходимо настроить номер автономной системы устройства:
#set routing-options autonomous-system 65000
Так же рекомендуется заранее сконфигурировать router-id (настраивается глобально), если он не задан.
Минимальная настройка EBGP:
/название группы: external-peer, тип группы: external (EBGP), internal (IBGP)
#set protocols bgp group external-peer type external
/номер удаленной AS
#set protocols bgp group external-peer peer-as 65001
/IPv4 адрес пира в другой AS
#set protocols bgp group external-peer neighbor 192.168.0.2
В Junos OS, в отличие от Cisco IOS, BGP пиры должны обязательно присваиваться к группам.
Логирование:
Все логи хранятся в /var/log
Настройки логирования производятся в [edit system syslog]
host «ip-address» — удаленный syslog сервер
archive — как логи будут архивиться на устройстве
console — настройки логирования в консоль устройства
Обновление Junos OS:
Обновление рекомендуется производить путем предварительной загрузки новой версии ПО на само устройство (по протоколу SCP или FTP) в директорию /var/tmp
Проверка MD5 перед обновлением:
> file checksum md5 /var/tmp/jinstall-ex-2200-12.3R12.4-domestic-signed.tgz
Обновление:
> request system software add /var/tmp/jinstall-ex-2200-12.3R12.4-domestic-signed.tgz
После процедуры обновления нужно обязательно перезагрузить устройство!
Если после обновления имеются проблемы, можно загрузиться с backup раздела в предыдущую версию ПО (он по умолчанию не обновляется сразу):
> request system reboot slice alternate
Обновление backup раздела, если всё работает отлично после обновления основного:
> request system snapshot slice alternate
Удаление старых файлов, старых log-сообщений:
/опция dry-run покажет файлы, которые будут удалены (list of files to be deleted)
> request system storage cleanup {dry-run}
Сохранение и загрузка конфигурации:
Сохранение конфигурации в файл выполняется в режиме конфигурации:
# save «filename»
# save «path/filename»
# save ftp://; scp://
Если не указан путь сохранения, то конфигурация сохраняется в директорию пользователя (например, var/home/admin1)
Загрузка конфигурации выполняется при помощи команды «load»:
/сбросить устройство к заводским настройкам
# load factory-default
Другие опции load:
«merge» — слить текущую конфигурацию и загружаемую вместе (наложить друг на друга)
«override» — полностью заменить текущую конфигурацию (только из [edit])
«set» — позволяет загрузить конфигурацию в set командах из терминал или из файла
«terminal» — заливать конфигурацию из терминала
Troubleshooting:
System:
> show system alarms /показать системные alarm
> show system boot-messages /показать сообщения, которые выдавались в процессе загрузки устройства
> show system storage /показать информацию о подсистеме хранения
> show system snapshot media internal /показать информацию об основном и backup разделах
> show system storage partitions /показать разделы устройства
Chassis:
> show chassis alarms /показать alarm для устройства
> show chassis environment /показать температуру устройства
> show chassis hardware /показать информацию об устройстве, включая серийный номер
> show chassis firmware /показать версию загрузчика и ПО
> show chassis led /показать информацию о светодиодах на устройстве(работает не на всех)
Еcли chassis alarm горит из-за того, что management порт не подключен («Management Ethernet Link Down»), можно настроить игнорирование данного alarm:
# set chassis alarm management-ethernet link-down ignore
Обозначение интерфейсов в Junos OS:
Физические:
MM-FPC/PIC/Port (пример ge-0/0/10)
MM — Media Type (fe — Fast Ethernet; ge — Gigabit Ethernet; se — Serial)
FPC — Flexible PIC Controller (линейная карта, устанавливаемая в шасси (MX), либо всё устройство целиком, в случае фиксированной конфигурации (EX switch))
PIC — Physical Interface Card (портовая карта, устанавливаемая в FPC)
Port — Конкретный физический порт
Системные процессы Junos OS (daemons):
rpd — routing protocol daemon — отвечает все протоколы маршрутизации
mgd — management daemon — отвечает за управление оборудованием
dcd — device control daemon — отвечает за конфигурацию интерфейсов
chassisd — отвечает за мониторинг состояния всего шасси
snmpd — SNMP daemon
Архитектура Junos OS:
———
v.1.00
D-Link
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
https://ftp.dlink.ru/pub/Switch/ show fdb mac_address [МАС-адрес] — поиск по маку cable_diag ports [порт] – проверка состояния кабеля(для выполнения коммутатор может моргнуть портом). Не на всех моделях D—link есть права на эту команду. show bandwidth_control — посмотреть ограничения пропускной способности на порту show ports [порт] — посмотреть статус конкретного порта show ports — посмотреть статус всех портов show ports description — посмотреть статус всех портов с десприпшенами (важно, если есть погашенный порт) show ports [порт] details — посмотреть расширенную информацию по состоянию порта show fdb port [порт] — просмотр маков на порту show error ports [порт] – проверка на ошибки show ddm ports <portlist> status — DDM info, где вместо <portlist> указываем номер порта show packet ports 1—24 — статистика трафика на портах show utilization cpu — загрузка проца show utilization dram — загрузка оперативной памяти show utilization ports — трафик на всех портах show log — лог show ipif — посмотреть IP точки show switch — посмотреть IP точки и другую инфу show arpentry — таблица арп show multicast port_filtering_mode — показывает режим фильтрации групп на портах show igmp_snooping — проверка IGMP show igmp_snooping group — показывает информацию о тех группах которые igmp snooping обрабатывает на данный момент show traffic_segmentation — смотрим Traffic_segmentation show access_profile — Смотрим Access Profile ID : 3 show current_config access_profile — Смотрим Access Profile ID : 3 show address_binding — посмотреть статус адрес биндинга show address_binding blocked all — посмотреть список маков, заблокированных биндингом show address_binding dhcp_snoop binding_entry — посмотреть список маков и ип, полученных dhcp snooping‘ом show address_binding ip_mac all — посмотреть список соответствия маков и ип show vlan_translation — просмотр трансляции вланов (влан меняет свой тег) show vlan ports X — посмотреть VLAN на порту show filter dhcp_server — опция для фильтрации «левых» DHCP на порты show environment — температура, вентиляторы, охлаждение |
D-Link — DGS-1210ME Series
show ports X configuration ? — посмотреть что может показать show ports X configuration vlan — где Х номер порта, дает посмотреть VLAN на порту (в других версиях привыкли к show vlan ports X) show ddm ports X — работает, но под админкой |
SNR
sh logging buffered level warnings — Просмотр логов virtual—cable—test interface ethernet1/0/1 — Посмотреть кабель-диаг Как расшифровать результат выполнения virtual—cable—test? well — всё хорошо short — он и в африке шорт open — кабель не подключен или есть разрыв abnormal — ненормальное состояние линии, например короткое замыкание между разными парами sh interface ethernet status — посмотреть состояние всех портов sh int eth1/0/1 det — Посмотреть детальную информацию по отдельному порту sh mac—address—table int eth 1/0/1 — Посмотреть мак на порту sh mac—address—table add (MAC) — Поиск по маку show cpu util — Посмотреть утилизацию ЦПУ |
Extreme Networks
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
sh log | include «port XX» — парсим логи, где фигурировал конкретный номер порта (XX — номер порта) sh ports [port] transceiver information — информация DDM по конкретному порту от от SFP-модуля show ports <port—list> transceiver information [detail] — проанализировать информацию DDMI от SFP-модуля (уровни сигнала, затухание, температуру) + физические характеристики SFP-модуля (длина волны, производитель, тд.) show iparp X.X.X.X — выдает связку IP-адрес в MAC-адрес show iparp vlan vXXXX — Посмотреть маки и соответствующие им IP-адреса в конкретном влане show iparp X:X:X:X:X:X — Посмотреть ip по mac (канальный уровень) show iproute X.X.X.X (ip) X.X.X.X (маска подсети) — просмотр таблицы маршрутизации для конкретной сети rtlookup [IP-адрес] — посмотреть лучший маршрут для достижения ip(не нужно указывать маску) show vlan description — Если повезет в столбце Description будет псевдоним компании show vlan vXXXX — то же что и show vlan detail, только для конкретного vlan show vlan — выведет все имеющиеся vlan, с назначенными ip адресами и количеством активных\возможных vlan портов, для объединения в одноранговую сеть show ports no—refresh — все порты, номера и имена, позволяет узнать имена L2 show ports XX no—refresh — то же, только для одного порта show ports statistics — статистика порта, подсчет входящих\исходящих пакетов show fdb — соответствие всех mac влану и порту show fdb X:X:X:X:X:X — соответствие мак адреса vlan и порта show fdb vXXXX — соответствие mac и vlan и порта show ports 2 rxerrors no—refresh — ошибки на порту шлюза, r=recieve (получение) инфа show ports 2 txerrors no—refresh — ошибки на порту шлюза, t=transmit (отправление) инфа show ports ХХ utilization — скорость приёма/передачи (юзаем пробел) show ports XX information detail — подробная информация о порте и наличии на нём вланов,еще можно использовать как альтернативу show vlan ports XX show lacp — просмотр всех агрегированных портов show lacp lag XX(номер порта(g)) — просмотр агрегированного порта, из чего собран debug hal show optic—info ddmi port X — просмотр подробной информации об оптическом порту, включая уровень сигнала. Показывает даже, когда show ports <port—list> transceiver information уверяет вас, что на порту даже модуля нет |
Juniper
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
show configuration | display set | match [XXXX] — парсим общий конфигурационный файл Juniper-а для поиска определенных настроек (например, по названию интерфейса, id vlan, ip, тд.) show arp — таблица арп ВСЕ show arp interface [имя интерфейса, прим. «ae5.1534»] expiration—time — арп-таблица по конкретному интерфейсу с указанием срока годности каждой записи show arp no—resolve | match [IP-адрес] — поиск по IP («no-resolve» — не преобразовывать ip-адрес в доменное имя) show arp no—resolve | match [МАС-адрес] — поиск по маку («no-resolve» — не преобразовывать ip-адрес в доменное имя) show vpls mac—table instance — MAC-таблица для VPLS интерфейсов show route receive—protocol bgp 10.0.0.1 — узнать маршруты полученные по BGP от пира. show route advertising—protocol bgp 10.0.0.1 — посмотреть маршруты отданные пиру по BGP. show interfaces ae2.1310 | match Encap — тип энкапсуляции для интерфейса (mpls/vpls, на примере ae2.1310, mx—cv21, vpls) show l2circuit connections interface ae2.801 — информация по входящим и исходящим MPLS-меткам (для примера ae2.801, mx—k12) show route label 304688 — посмотреть исходящий интерфейс по известной метке MPLS (для примера исходящая метка для ae2.801, mx—k12) show vpls connections {brief} | match 1310 — куда уходит (на примере ae2.1310, mx—cv21) file show /var/log/ospf | match [IP-адрес] show log messages | match [IP-адрес] file show /var/log/bgp—clients—v6 | grep [ASN] show bgp summary — суммарная информация о состоянии соседей() show log «filename» — разнообразные логи (bgp—clients — лог изменения состояний соседства, ospf — логи...) show interfaces diagnostics optics [interface—name] — диагностика оптических интерфейсов show ethernet—switching table — таблица маков (если есть L2) show ethernet—switching table | match [МАС-адрес] — поиск по маку show ethernet—switching table vlan xxxx — просмотр MAC-адресов в конкретном VLAN show bridge mac—table ee:ee:ee:01:78:d8 — конкретного MAC-адреса в таблицах bridge show system commit — показать список коммитов (когда и кем было внесено изменение) show system rollback compare X Y — сравнить коммиты под разными номерами show dhcp server binding detail 192.168.1.89 show subscribers id 123456 |
Cisco
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
sh log — просмотр последних логов sh int [giX/Y] transceiver (detail) — информация DDM по конкретному модулю в порту sh interfaces counters [интерфейс] — трафик на порту sh interfaces counters errors | inc [интерфейс] — ошибки на порту sh int [giX/Y] controller — детальная информация по конкретному физ. порту (статус, ошибки, количество фреймов, MTU, тд.) sh int description — дескрипшены на портах sh int switchport | begin [номер порта/название интерфейса] («begin» — сообщаем, с какой строки необходимо начать выводить инфу в консоль/с какого интерфейса) sh ip int brief — сводная инфа по всем интерфейсам (название интерфейса, какой назначен ip-адрес, статус «up|administratively down», протокол «up|down») sh ip int vlan [номер влана] | sh ip int GigabitEthernet [номер физического порта] — получить расширенную информацию по конкретному ip-интерфейсу sh vlan id [номер влана] — информация по коонкретному id влана (дескрипшен, статус, на какие порты прокинут, тд.) sh int status — сводка по физическим портам (номер порта, дескрипшен, статус «connected|disabled», тип порта «routed|trunk|[определенный влан]», режим Duplex, Speed, тд.) sh mac address—table vlan [номер влана] / sh mac address—table interface [giX/Y] — маки на конкретном логическом или физическом интерфейсе sh ip arp vlan [номер влана] — арп-записи в конкретном id vlan sh ip route — просмотр всей маршрутной информации sh ip ospf — развернутая информация по запущенным процессам ospf sh ip ospf interface — информация по интерфейсам, где запущен ospf sh ip ospf neighbor — просмотр состояния соседей по ospf sh int status err—dis — посмотреть причину блокировки порта |
Cisco 17xx (E1)
show controllers e1 — поднялся ли E1 по физике show isdn status |
Mikrotik
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
log print — просмотр всех логов log print follow where topics~«.error» — просмотр логов по событию «error» (есть события — system,info,l2tp,тд.). «follow» — просмотр логов, которые будут обновляться в real—time. log print where message ~«XXXXXX» — парсим логи по конкретному паттерну (например, по ip-адресу). «message» — строка лог-записи int print — просмотр состояния всех интерфейсов int eoip print brief — сводка по состоянию интерфейсов eoip int ethernet print — просмотр состояния интерфейсов ethernet int ethernet print detail where name =«etherX» — просмотр детальной информации по конкретному названию интерфейса int ethernet print terse where name =«etherХ» — просмотр краткой информации по конкретному названию интерфейса int ethernet print stats where name =«etherX» — просмотр статистики пакетов по конкретному названию интерфейса int bridge port print — просмотр состава интерфейсов по всем сконфигурированным бриджам int ethernet cable—test X — кейбл-тест на определенном порту (Х — номер порта) int bridge port print where bridge =«brХХХ» — просмотр состава интерфейсов в определенном бридже int bridge host print where bridge =«brХХХ» — просмотр мак-таблицы в конкретном бридже int bridge host print where interface =«ethХ.YYY» — просмотр мак-таблицы на определенном порту ip arp print where interface =«brХХХ» — просмотр арп-таблицы в конкретном бридже ip arp print where address =«ХХХ.ХХХ.ХХХ.ХХХ» — поиск арп-записей по определенному ip-адресу ip route print — просмотр таблицы маршрутизации ip firewall filter print — просмотр правил фаервола ip firewall connection print — просмотр всех текущих потоков (tcp,udp,ect) ip firewall connection print where src—address =«85.143.160.10» — отбираем потоки по определенному src—address ip firewall connection print where dst—address ~«:22» — отбираем потоки по определенному порту ip firewall connection print where protocol =«tcp» dst—address ~«:22» ip firewall connection print where protocol =«tcp» dst—address ~«:22» src—address ~«85.143.160.10» ip address print — просмотр ip-интерфейсов на микротике system health print — просмотр здоровья микротика system clock print — системное время system resource print — смотрим в т.ч. uptime system ntp client print |
Linux commands / Linux tools
ssh —g —N user@10.0.0.10 —L 8222:192.168.0.100:22 Проброс порта через ssh туннель на конкретный ip (актуально для входа на оборудование в изолированной сети или nat) ssh —g —N user@10.0.0.10 —p22 —D 8866 В браузере указать socks-прокси 127.0.0.1:8866 и зайти на нужный ресурс (актуально для проброса на web модемов, где идет редирект url) mtr —z —b —o «xxx xxx xxx» 8.8.8.8 |
iperf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
iperf —c SERVER_IPERF —P4 —i1 (для 2ой версии iperf‘a) iperf3 -c SERVER_IPERF -P4 -i1 (для 3ей версии iperf’a) iperf —c speedtest.retn.net —i 10 —u —b300M —d —t 60 iperf —c 10.30.0.20 —P4 —i1 —w 30MB —p 7777 iperf3 —c iperf.he.net iperf —c 10.0.0.1 —u —b 1m —t 30 —i 10 —P 10 man iperf —s, —server запускает утилиту в режиме сервера (будет ждать подключение) —c, —client <host> запускает утилиту в режиме клиента —u, —udp дает приоритет для передачи трафика по UDP больше чем TCP во время теста (как отправлен будет написано в консоли по время старта теста) —b, —bandwidth n[KM] где n — целевая скорость передачи потока bits/sec (default — 1 Mbit/sec | 10М = 10 Mbit/sec) Актуально в случае теста UDP(с ключом —u). —t, —time n где n — время передачи в секундах (default 10сек) —i, —interval n где n — количество секунд между выводом отчетов о скорости —P, —parallel n где n — количество параллельных потоков |
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@R1—MX960—re0> 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
Link—level type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None, MAC—REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, |
[email protected]> show interfaces ge-7/0/0 | match MTU
Link—level type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None, MAC—REWRITE 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”
Link—level type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None, MAC—REWRITE 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@R1—MX960—re0> <strong>file show interface_ge700_mtu_rate</strong> |
Link—level type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None, MAC—REWRITE 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@R1—MX960—re0> show interfaces ge—7/0/0 | <strong>save interface_ge700</strong> |
Wrote 16 lines of output to ‘interface_ge700’ |
lab@R1—MX960—re0> <strong>file show interface_ge700</strong> |
Physical interface: ge—7/0/0, Enabled, Physical link is Up |
Interface index: 147, SNMP ifIndex: 1154 |
Link—level type: Ethernet, MTU: 1514, Speed: 1000mbps, BPDU Error: None, MAC—REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, |
Flow control: Enabled, Auto—negotiation: Enabled, Remote fault: Online, Speed—negotiation: Disabled, Auto—MDIX: Enabled |
Device flags : Present Running |
Interface flags: SNMP—Traps 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 : 2012—06—28 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> 2012—07—10 15:51:03 <strong>UTC</strong> |
S<strong>ystem booted</strong>: 2012—07—10 15:20:07 UTC (00:30:56 ago) |
Protocols started: 2012—07—10 15:22:14 UTC (00:28:49 ago) |
<strong>Last configured:</strong> 2012—07—10 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 2012—07—10 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: 2012—07—11 08:49:04 UTC |
Uptime: 6 hours, 58 minutes, 32 seconds |
Max Power Consumption 310 Watts |
Start time: 2012—07—11 08:49:10 UTC |
Uptime: 6 hours, 58 minutes, 26 seconds |
Max Power Consumption 440 Watts |
Start time: 2012—07—11 08:48:58 UTC |
Uptime: 6 hours, 58 minutes, 38 seconds |
Max Power Consumption 265 Watts |
Start time: 2012—07—11 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 2012—07—11 15:49:02 UTC by lab via cli |
1 2012—07—10 15:21:38 UTC by root via other |
2 2012—07—10 15:01:08 UTC by lab via cli |
3 2012—07—07 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 |
> to 10.10.10.10 via lt—1/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 |
> to 10.10.10.10 via lt—1/2/0.5, label—switched—path R2—to—R9 |
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 in—kernel 192.168.10.18/32 —> {10.10.10.10} |
Next hop type: Router, Next hop index: 1136 |
Next—hop reference count: 14 |
<strong> Next hop: 10.10.10.10 via lt—1/2/0.5, selected</strong> |
State: <Active Int> |
Age: 1d 0:28:13 Metric: 3 |
<strong> Area: 0.0.0.0</strong> |
<strong> Task: OSPF</strong> |
Announcement bits (1): 2—KRT |
inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) |
192.168.10.18/32 (1 entry, 0 announced) |
Next—hop reference count: 4 |
Next hop: 10.10.10.10 via lt—1/2/0.5 weight 0x1, selected |
Label—switched—path R2—to—R9 |
<strong> Label operation: Push 299776</strong> |
Label TTL action: prop—ttl |
State: <Active Int> |
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
Table of Contents
Interface
get counter statistics | Show interface statistics (CRC errors etc) |
get interface trust port phy | Show physical ports for a certain zone |
get driver phy | Show all link states of interfaces |
get counter statistics interface ethernet3 | Show hardware stats on interface |
set interface [interface] no-subnet-conflict-check | Allows you to configure multiple interfaces in the same IP broadcast domain. |
Current Settings / Values
get envar | get environment variable |
get config | get device configuration |
get system | get system information |
get arp | get arp cache |
get route | get routing table |
get system | i Box | get port-mode |
get alg h323 counters | get the ALG counters |
get alg | get status of ALGs (disabled or enabled) |
get sys-cfg | get default settings for the device |
get sys scale | get basic system limits |
get debug | get currently enabled debug level |
get tcp | get system socket information |
NAT
get mip | get mip (nat) |
get vip | get vip (nat) |
get nat cookie | get show nat cookies |
Statistics / Performance
get perf cpu detail | get cpu performance |
get session info | get load on firewall |
get counter flow | Show flow stats (fragmentation etc) |
get counter screen | Show screen stats (SYN Floods etc) |
VPN
clear ike-cookie [gateway ip] | clear ike cookies |
clear sa [id] | clear sa |
get vpn | show vpns |
NSRP
get nsrp cluster | Show cluster info |
get nsrp monitor | Show list of monitored interfaces |
get nsrp vsd id 0 | Show VSD id 0 |
get counters ha | Show HA interface hardware counters |
exec nsrp sync global-config check-sum | Allows you to see if the cluster configs are syncronised |
exec nsrp sync global save | Sync’s the nodes.A reboot is required to complete the update. |
exec nsrp vsd-group 0 mode | Fails over the cluster. Run this command on the Master node. |
IGMP
set interface ethernet0/1 igmp router | enable IGMP on interface eth0/1 |
get vrouter trust-vr protocol pim | get the multicast sources visible to your ScreenOS device |
Misc
set exec port-mode | set the port mode |
set flow tcp-mss 1460 | sets the MSS |
- Author
- Recent Posts
Rick Donato is a Network Automation Architect/Evangelist and the founder of Packet Coders.
Want to become an IT Security expert?
Here is our hand-picked selection of the best courses you can find online:
Internet Security Deep Dive course
Complete Cyber Security Course – Hackers Exposed
CompTIA Security+ (SY0-601) Certification Complete course
and our recommended certification practice exams:
AlphaPrep Practice Tests — Free Trial