JUNOS

Материал из Xgu.ru

Перейти к: навигация, поиск
Junos-logo.jpg

Juniper Networks JUNOS - операционная система, под управлением которой работает сетевое оборудование фирмы Juniper Networks. JUNOS основана на операционной системе UNIX FreeBSD.

Содержание

[править] Control Plane и Forwarding Plane

Важный аспект работы JUNOS - это логическое и физическое разделение Control Plane и Forwarding (Data) Plane.

CP and FP.JPG

RE (Routing Engine) выполняется на процессоре архитектуры x86 или PowerPC. PFE (Packet Forwarding Engine) выполняется на специальных микросхемах ASIC (Application-Specific Integrated Circuit). Это сделано для увеличения производительности - транзитные пакеты передаются без вмешательства RE (соответственно и процессора). RE используется для построения RT (Routing Table) и FT (Forwarding Table). FT после ее построения записывается в память PFE и выполняется на ASIC. FT представляет собой таблицу, содержащую сеть назначения, интерфейс, через который может быть достигнута эта сеть, IP адрес next-hop'a и mac адрес next-hop'a. Так же на PFE для увеличения производительности и скорости обработки транзитных пакетов выполняется QoS, Policer (Shaping) и Stateless Firewall Filter(ACLs).

[править] Иерархическая структура интерфейса командной строки JUNOS

Работа с командной строкой в JUNOS разделяется на 2 режима:

  • Operational Mode (приглашение командной строки ">") - тут нам доступны show команды и команды для мониторинга и траблшутинга сети (monitor, ping, test, traceroute);
  • Configuration Mode (приглашение командной строки "#") - режим, в котором происходит настройка устройства. В этот режим можно попасть, если набрать команду "Configure" или "Edit" в Operational Mode.


[править] Operational Mode

Структура команд:

Operation Mode Junos.JPG

Команды, которые нам доступны в Operational Mode:

root> ?
Possible completions:
  clear                Clear information in the system
  configure            Manipulate software configuration information
  file                 Perform file operations
  help                 Provide help information
  monitor              Show real-time debugging information
  mtrace               Trace multicast path from source to receiver
  op                   Invoke an operation script
  ping                 Ping remote target
  quit                 Exit the management session
  request              Make system-level requests
  restart              Restart software process
  set                  Set CLI properties, date/time, craft interface message
  show                 Show system information
  ssh                  Start secure shell on another host
  start                Start shell
  telnet               Telnet to another host
  test                 Perform diagnostic debugging
  traceroute           Trace route to remote host

[править] Configuration Mode

В JUNOS используется 2 конфигурации:

  • Active Configuration - это текущая конфигурация устройства.
  • Candidate Configuration - это конфигурация, которую мы правим в режиме конфигурирования.

Для того, чтобы конфигурация-кандидат стала активной, в режиме конфигурирования нужно ввести команду "Commit":

root> configure
Entering configuration mode

[edit]
root# set system root-authentication plain-text-password
New password:
Retype new password:

[edit]
root# commit
commit complete

[edit]
root# exit
Exiting configuration mode

root>

Чтобы зайти в определенный контекст для настройки используется команда "Edit":

Juniper Junos Edit.JPG

Доступные контексты для редактирования:

root> configure
Entering configuration mode

[edit]
root# edit ?
Possible completions:
> access               Network access configuration
> access-profile       Access profile for this instance
> accounting-options   Accounting data configuration
> applications         Define applications by protocol characteristics
> chassis              Chassis configuration
> class-of-service     Class-of-service configuration
> diameter             Diameter protocol layer
> event-options        Event processing configuration
> firewall             Define a firewall configuration
> forwarding-options   Configure options to control packet forwarding
> groups               Configuration groups
> interfaces           Interface configuration
> jsrc                 JSRC partition configuration
> jsrc-partition       JSRC partition configuration
> logical-systems      Logical systems
> multi-chassis
> policy-options       Policy option configuration
> protocols            Routing protocol configuration
> routing-instances    Routing instance configuration
> routing-options      Protocol-independent routing option configuration
> security             Security configuration
> services             Service PIC applications settings
> snmp                 Simple Network Management Protocol configuration
> system               System parameters
> virtual-chassis      Virtual chassis configuration
[edit]

[править] Настройка интерфейсов

Для того, чтобы настроить интерфейс нужно перейти в контекст "Interfaces":

root> configure
Entering configuration mode

[edit]
root# edit interfaces

[edit interfaces]
root#

Иерархия настройки интерфейсов:

Interface Configure Juniper.PNG

[править] L3 настройки интерфейса

Важный момент - все L3 параметры интерфейса настраиваются в контексте "UNIT". UNIT - это аналог сабинтерфейсов в Cisco.

[edit interfaces]
root# set em0 unit 0 family inet address 100.0.0.1/30

Em0 - Это наш физический интерфейс. Family inet - параметры какого протокола мы хотим настроить. Доступны следующие значения:

root# set em0 unit 0 family ?
Possible completions:
> ccc                  Circuit cross-connect parameters
> inet                 IPv4 parameters
> inet6                IPv6 protocol parameters
> iso                  OSI ISO protocol parameters
> mpls                 MPLS protocol parameters
> tcc                  Translational cross-connect parameters
> vpls                 Virtual private LAN service parameters
[edit interfaces]
root# set em0 unit 0 family

Можно сразу из Configuration Mode посмотреть, что мы настроили набрав команду "show":

[edit interfaces]
root# show
em0 {
    unit 0 {
        family inet {
            address 100.0.0.1/30;
        }
    }
}

[edit interfaces]

Применим наши настройки командой "Commit":

root# commit
commit complete

Проверим доступность IP на другой стороне канала:

root> ping 100.0.0.2 rapid
PING 100.0.0.2 (100.0.0.2): 56 data bytes
!!!!!
--- 100.0.0.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.402/0.719/1.306/0.343 ms

[править] L2 настройки интерфейса

L2 настройки задаются в следующем контексте:

root> configure
Entering configuration mode

[edit]
root# edit interfaces em0

[edit interfaces em0]
root# set ?
Possible completions:
  accounting-profile   Accounting profile name
+ apply-groups         Groups from which to inherit configuration data
+ apply-groups-except  Don't inherit configuration data from these groups
  description          Text description of interface
  disable              Disable this interface
  encapsulation        Physical link-layer encapsulation
  gratuitous-arp-reply  Enable gratuitous ARP reply
> hold-time            Hold time for link up and link down
> layer2-policer       Layer2 policing for interface
  link-mode            Link operational mode
  mac                  Hardware MAC address
  mtu                  Maximum transmit packet size (256..9192)
  no-gratuitous-arp-reply  Don't enable gratuitous ARP reply
  no-gratuitous-arp-request  Ignore gratuitous ARP request
  no-traps             Don't enable SNMP notifications on state changes
> traceoptions         Interface trace options
  traps                Enable SNMP notifications on state changes
> unit                 Logical interface
  vlan-tagging         802.1q VLAN tagging support
[edit interfaces em0]

Задать дуплекс на интерфейсе:

[edit interfaces em0]
root# set link-mode full-duplex

[edit interfaces em0]
root#

Посмотреть состояние интерфейсов и назначенные IP адреса (аналог sh ip int bri в Cisco):

root> show interfaces terse
Interface               Admin Link Proto    Local                 Remote
cbp0                    up    up
demux0                  up    up
dsc                     up    up
em0                     up    up
em0.0                   up    up   inet     100.0.0.1/30
em1                     up    up
gre                     up    up
ipip                    up    up
irb                     up    up
lo0                     up    up
lo0.16384               up    up   inet     127.0.0.1           --> 0/0
lo0.16385               up    up   inet     128.0.0.4           --> 0/0
                                   inet6    fe80::2ab:ae0f:fc99:e300
lsi                     up    up
mtun                    up    up
pimd                    up    up
pime                    up    up
pip0                    up    up
pp0                     up    up
tap                     up    up

[править] Именования интерфейсов в JUNOS

В JUNOS используется следующая схема именования интерфейсов:

Juniper-interface.JPG

  • GE - Тип интерфейса. В данном случае Gigabit Ethernet.
  • 0 - это Flexible PIC Concentrator (FPC). Номер физического слота на нашем шасси.
  • 0 - это Physical Interface Card (PIC). Номер карты, вставленной в слот.
  • 1 - это номер порта на карте PIC.

[править] Таблица маршрутизации в JUNOS

В JUNOS можно создавать несколько таблиц маршрутизации. Главная таблица называется inet.0 и содержит ipv4 юникаст маршруты. По-умолчанию созданы следующие таблицы:

  • inet.0 - используется для ipv4 юникаст маршрутов;
  • inet.1 - используется для мультикаста;
  • inet.2 - используется для Multicast Border Gateway Protocol (MBGP) с проверкой RPF (Reverse Path Forwarding);
  • inet.3 - используется для MPLS маршрутов;
  • inet.4 - используется для Multicast Source Discovery Protocol (MSDP) маршрутов;
  • inet6.0 - используется для ipv6 юникаст маршрутов;
  • mpls.0 - используется для mpls next hops.


Как читать вывод команды "show route":

Route Table Juniper.PNG


[править] Forwarding Table

Forwarding Table - таблица для быстрой пересылки пакетов. Строится на основе таблицы маршрутизации. Очень похожа на технологию CEF в Cisco.

Forwarding Table Juniper.PNG

Посмотреть, что в ней находится можно командой "show route forwarding-table":

root@jun-1> show route forwarding-table
R