JUNOS
Материал из Xgu.ru
Juniper Networks JUNOS - операционная система, под управлением которой работает сетевое оборудование фирмы Juniper Networks. JUNOS основана на операционной системе UNIX FreeBSD.
[править] Control Plane и Forwarding Plane
Важный аспект работы JUNOS - это логическое и физическое разделение Control Plane и Forwarding (Data) Plane.
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
Структура команд:
Команды, которые нам доступны в 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":
Доступные контексты для редактирования:
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#
Иерархия настройки интерфейсов:
[править] 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 используется следующая схема именования интерфейсов:
- 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":
[править] Forwarding Table
Forwarding Table - таблица для быстрой пересылки пакетов. Строится на основе таблицы маршрутизации. Очень похожа на технологию CEF в Cisco.
Посмотреть, что в ней находится можно командой "show route forwarding-table":
root@jun-1> show route forwarding-table R