0,0
рейтинг
24 января 2013 в 12:08

Администрирование → Начальная настройка маршрутизаторов Juniper SRX tutorial



     В этой статья я постараюсь максимально доходчиво рассказать о том, как настроить Juniper серии SRX «из коробки». Статья подобного рода уже есть: habrahabr.ru/post/144218, однако моя отличается большей полнотой и подробностью настройки.
     Почему именно Juniper SRX, а не какая-то конкретная модель типа SRX100 или SXR240? Да просто потому что настройки будут полностью идентичными, ввиду полной одинаковости платформы – Junos OS. Это очень удобно, когда вроде бы разные по цене и производительности девайсы настраиваются абсолютно одинаковым образом. В этом лишь одно из достоинств Junos OS.

     Для начала нам надо попасть в консоль Джунипера. Есть, конечно, вариант первоначальной настройки через веб-интерфейс, но он в старых прошивках (10-ой версии) почему-то не всегда адекватно срабатывает. И вообще привыкайте, что веб-интерфейс хоть и есть, но мы же хотим стать настоящими сисадминами? А то представьте ситуацию, вы едете в машине, стоите в пробке, а вам звонят и просят срочно что-то настроить на шлюзе. У вас под рукой есть только медленный мобильный интернет. Если вы возьметесь что-то настраивать через графический интерфейс веб-морды, то это займет о-о-очень много времени. Это если не считать того, что веб-морда снаружи сети должна быть закрыта по соображениям безопасности.

     Присоединиться к консоли можно через консольный порт. Как он выглядит показано на рисунке:


     На первый взгляд это обычный RJ-45, но это не так. На самом деле этот разъем не имеет ничего общего с ethernet-портом. Этот разъем предназначен только для управления и ни для чего больше. В комплекте с Джунипером всегда идет переходник для подключения консольного порта к COM-порту компьютера. Так нам и нужно сделать.
     Далее скачиваем с сайта www.putty.org.ru клиент Putty и запускаем его. Появляется окошко, в котором нам надо поставить Serial и порт. Номер порта можно посмотреть в «Диспетчере устройств» Windows после того, как подключите роутер к компьютеру. В нашем примере это СОМ3.



     Нажав «Open», мы подключимся к Джуниперу. Кстати, если мы сначала включим его, а потом (подождав пока произойдет загрузка ОС) подключимся к нему через консольный порт, то мы не увидим никакого приглашения, а просто черный экран. Это нормально. Нужно просто ввести логин и пароль и мы попадем в систему.
     Если мы сначала подключимся к Джуниперу проводами, а затем включим его питание, то увидим в консоли процесс загрузки Junos OS. В какой-то момент система спросит нас: “Hit Enter to boot immediately or space bar for command prompt”. Если мы нажем «пробел» (на это дается одна секунда), то попадем в recovery-консоль. Это может пригодится, если мы забудем рутовый пароль. Но лучше не забывать. Процедура восстановления пароля описана здесь www.juniper.net/techpubs/software/junos-security/junos-security11.1/junos-security-admin-guide/index.html?user-auth-recover-root-pwd-srx.html
     Когда мы в первый раз настраиваем Джунипер, то нужно войти под пользователем root с пустым паролем. В дальнейшем система обязательно потребует указать ей рутовый пароль.
     После ввода логина-пароля выходит приглашение командной строки:



     В Junos OS есть три режима работы:
1.  Юниксовый шел (sh), имеет приглашение типа “root@srx%”. Поскольку Junos OS основана на FreeBSD, то первое куда мы попадаем после логина – это юниксовый шел. В нем на Джунипере лучше ничего не делать. Вводим cli, нажимаем Enter и попадаем собственно в саму оболочку Junos OS.
2.  Операционный режим, имеет приглашение “root@srx>”. Это по большому счету режим дебага и мониторинга. В нем можно просматривать важные параметры роутера, также в этом режиме происходит, например, обновление ПО и такие операции как перезагрузка-выключение. Если мы введем edit или configure, то попадаем в самый важный режим работы.
3.  Конфигурационный режим, имеет приглашение “root@srx#”. В этом режиме осуществляется конфигурирование роутера, т.е. редактирование и применение конфига. Этот режим является основным режимом, в котором вам придется работать. Также, отсюда для удобства можно запускать команды операционного режима с помощью команды run. Например, нельзя запускать пинг из конфигурационного режима, но можно с помощью команды run: run ping 1.2.3.4.
     Здесь и дальше я буду упоминать названия интерфейсов вида ge-0/0/x. Это гигабитные интерфейсы. Однако, Juniper SRX100 имеет 100-мбитные интерфейсы, они называются fe-0/0/x. На самом деле конфиг будет абсолютно тот же самый с точностью до имен интерфейсов, имейте ввиду.

     Приступим к начальной настройке Джунипера из командной строки. Наши задачи:
1.  Настроить root-аутентификацию и другие важные параметры (DNS, DHCP).
2.  Настроить порты коммутатора (то, что в SOHO роутерах называют LAN-портами) на интерфейсах c ge-0/0/1 по ge-0/0/7.
3.  Настроить Интернет на интерфейсе ge-0/0/0. Два варианта: либо IP-адрес нам выдает непосредственно провайдер, либо мы его получаем через PPPoE (кабельный интернет либо ADSL). Варианты с получение Интернета через VLAN и L2TP здесь рассматриваться не будут.
4.  Настроить зоны и политики безопасности.
5.  Настроить NAT на раздачу интернета в локальную сеть.

     Это можно сделать двумя способами: вручную или путем мастера первоначальной настройки. Мастер можно запустить из шела командой:
root@srx% config-wizard
     Мастер первоначальной настройки описан здесь: www.juniper.net/techpubs/hardware/junos-jseries/junos-jseries96/junos-jseries-hardware-guide/jd0e12614.html. В общем-то если вы знаете английский язык и ориентируетесь в терминах, то сможете настроить все сами без всяких мануалов, но на всякий случай приведу таблицу с расшифровкой параметров настройки.
Enter host name: Здесь вводим имя Джунипера. Оно будет отображаться в приглашении командной строки. Играет чисто визуальную роль.
Please enter root password:
Retype root password:
Здесь вводим пароль супер-пользователя root (обязательно)
Would you like to configure a domain name? [yes, no] (no):
Enter domain name:
Здесь вводим имя домена (необязательно)
Would you like to configure name server? [yes, no] (no):
Enter IP address for the name server:
Would you like to configure alternative name server? [yes, no] (no):
Enter IP address for the name server:
Здесь вводим адрес первичного DNS-сервера (крайне желательно)
  
А здесь адрес вторичного (необязательно)
Configure the following network interfaces
Identifier...Interface
....1........ge-0/0/0
....2........ge-0/0/1
....3........ge-0/0/2
Please select interface identifiers:
IP address for this interface:
Subnet mask bit length for this interface [1–32] (32):
Enter a security zone name to associate this interface to:
Здесь перечисляется список физических интерфейсов роутера. Если мы хотим сконфигурировать тот или иной интерфейс, то нам нужно выбрать его номер в списке
 
Здесь вводим номер интерфейса
Здесь вводим его новый IP-адрес
Здесь указываем маску подсети
А здесь указываем зону безопасности, к которой принадлежит интерфейс (например, trust для внутренней сети, untrust для Интернета)
Would you like to configure default gateway? [yes, no] (no):
Enter IP address for the default gateway:
Здесь вводим адрес основного шлюза, который выдал нам провайдер.
Would you like to create a new user account? [yes, no] (no):
Enter a new user name:
Enter user password
Retype the password:
Здесь можно создать нового пользователя помимо root (необязательно). Может быть полезно, если роутер будет конфигурировать не один администратор.
Would you like to configure SNMP Network Management? [yes,no] (no):
Enter community string [public]:
Здесь можно назначить имя коммьюнити для мониторинга по SNMP (необязательно)


     После завершения настройки система выведет итоговую конфигурацию и запросит разрешение на применение параметров настройки (commit). После коммита мы вновь увидим приглашение командной строки и можем войти в cli.
     А теперь то же самое, но более глубоко и в виде команд. Различные примеры первоначальной настройки можно посмотреть здесь: www.juniper.net/us/en/local/pdf/app-notes/3500153-en.pdf
Входим в режим конфигурирования:
root@srx% cli
root@srx> edit
     Вводим имя Джунипера:
root@srx# set system host-name Имя_роутера
     Имя роутера никак не влияет на его работу. Это чисто визуальный параметр, чтобы не запутаться в случае, если у нас не один, а несколько Джуниперов.
root@srx# set system root-authentication plain-text-password
     После нажатия Enter система попросит вас два раза ввести новый пароль для рута.
     Далее, нам нужно настроить Интернет-интерфейс. Здесь мы рассмотрим самый простой случай, когда провайдер выдает нам статический белый IP-адрес явным образом. Настройка Интернета через PPPoE будет рассмотрена позднее. Допустим, провайдер выдал нам адрес 1.2.3.4 с маской 255.255.255.240 == /28 (префикс подсети). Надо отметить, что джунипер не понимает маску подсети в ее классической октетной записи, а только в виде префикса. Подробнее о префиксах подсети можно прочитать здесь: ru.wikipedia.org/wiki/%D0%91%D0%B5%D1%81%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0%D1%86%D0%B8%D1%8F
root@srx# set interfaces ge-0/0/0 unit 0 family inet address 1.2.3.4/28
     Настраиваем основной шлюз провайдера. Допустим в нашем случае это 1.2.3.1
root@srx# set routing-options static route 0/0 next-hop 1.2.3.1
     Теперь давайте настроим веб-интерфейс Джунипера. Нам нужно сделать так, чтобы он был доступен только из внутренней сети и недоступен из Интернета:
root@srx# set system services web-management http interface vlan.0
     Включаем ssh-доступ к роутеру:
root@srx# set system services ssh
     Теперь надо настроить интерфейсы коммутатора (LAN-порты), т.е. те интерфейсы, которые будут подключены к нашей локальной сети. Опять же, возможны варианты: мы можем присвоить одному интерфейсу, например к ge-0/0/1, как описано выше адрес типа 192.168.1.1 и подключаем к этому интерфейсу корпоративные свитчи, но в этом случае через остальные порты Джунипера мы уже не сможем подключить клиентские компьютеры к подсети 192.168.1.0/24. Конкретно для нашей задачи получается немного неэкономично и негибко, хотя в других случаях такой вариант является нормальным.
     Намного более удобный вариант для нашей задачи – это сделать все остальные порты Джунипера равными по своим правам, что позволит подключать сетевые устройства к любому порту, по аналогии с обычными неуправляемыми свитчами. Для этого надо сделать все остальные порты членами одной виртуальной локальной сети (VLAN).
root@srx# set interfaces interface-range interfaces-trust member-range ge-0/0/1 to ge-0/0/7
     Этой командой мы создали interface-range, т.е. набор интерфейсов, под названием interfaces-trust и включили в данный диапазон порты с 1 по 7. Данный вид группировки интерфейсов экономит нам время, т.к. нужно вводить меньше команд.
root@srx# set interfaces interface-range interfaces-trust unit 0 family ethernet-switching vlan members vlan-trust
     Этой командой мы сказали, что интерфейсы из данного набора являются портами коммутатора (family ethernet-swtiching) и все вместе принадлежат к одному VLAN под названием vlan-trust.
root@srx# set vlans vlan-trust vlan-id 3
root@srx# set vlans vlan-trust l3-interface vlan.0
     Здесь мы создаем собственно сам vlan-trust и говорим, что данный влан терминируется (имеет IP-адрес) на интерфейсе vlan.0
root@srx# set interfaces vlan unit 0 family inet address 192.168.1.1/24
     Ну и наконец создаем интерфейс vlan.0 и присваиваем ему адрес 192.168.1.1/24. Чей это адрес? Это адрес Джунипера в данном влане и он же будет являться основным шлюзом для клиентских компьютеров, подключаемых к портам коммутатора. По сути, что мы сделали? Мы сгруппировали физические интерфейсы от ge-0/0/1 до ge 0/0/7 в один логический vlan.0. Теперь все сетевые устройства, которые мы подключим к этим портам будут видеть друг друга в одном широковещательном домене 192.168.1.0/24.
     Далее, нужно настроить адрес DNS-сервера (в данном примере Google Public DNS):
root@srx# set system name-server 8.8.8.8
root@srx# set system name-server 8.8.4.4
     Настраиваем DHCP-сервер на интерфейсе vlan.0 (чтобы клиентские устройства получали настройки сети по DHCP)
root@srx# set system services dhcp router 192.168.1.1
root@srx# set system services dhcp pool 192.168.1.0/24 address-range low 192.168.1.2
root@srx# set system services dhcp pool 192.168.1.0/24 address-range high 192.168.1.100
root@srx# set system services dhcp propagate-settings vlan.0
     Настраиваем зоны безопасности. Названия зон могут любыми, можно иметь большое количество зон и настраивать переходы между зонами в виде политик. Это очень удобный способ настройки безопасности. В данном примере у нас будет две зоны: trust (локальная сеть) и untrust (Интернет).
root@srx# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services ping
root@srx# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services ssh
     Здесь мы создаем зону безопасности untrust и присоединяем интерфейс ge-0/0/0, который у нас смотрит в Интернет, к этой зоне. Параметр зоны host-inbound-traffic обозначает какие сервисы и протоколы в зависимости могут получать доступ к самому Джуниперу. Например, в данном примере мы разрешили пинговать наш Джунипер извне, а также подключаться к нему по ssh. Если мы захотим получать Интернет-адрес по DHCP, то здесь нужно разрешить службу dhcp. Если мы захотим пользоваться IPsec-туннелями между Джуниперами, то нужно разрешить службу IKE, и так далее. То же относится и к протоколам маршрутизации. Например, чтобы разрешить обмен маршрутами OSPF, то нужно вписать опцию host-inboubd-traffic protocols ospf.
     Настраиваем зону trust:
root@srx# set security zones security-zone trust host-inbound-traffic system-services all
root@srx# set security zones security-zone trust host-inbound-traffic protocols all
root@srx# set security zones security-zone trust interfaces vlan.0
     К зоне trust у нас принадлежит виртуальный интерфейс vlan.0, членами которого теперь, как вы догадались, являются физические интерфейсы от ge-0/0/1 до ge-0/0/7. Для зоны trust у нас разрешены любые сервисы и протоколы, например HTTP, то есть веб-интерфейс Джунипера. Из Интернета на его веб-интерфейс попасть нельзя, как указано в настройках зоны untrust.
     Внимательно прочитайте последние два абзаца и постарайтесь хорошо понять назначение команды host-inbound-traffic, т.к. она напрямую влияет на безопасность нашей сети. Если мы не хотим, чтобы пользователи нашей сети могли обращаться к веб-интерфейсу Джунипера, мы можем оставить здесь все, как есть, но запретить это в политиках. Подробнее о политиках я напишу отдельную статью, т.к. это очень широкая тема для обсуждения
     Настройка зон отображает их интерфейсы и разрешает траффик, адресованный самому роутеру. Политики транзитного траффика (проходящего сквозь Джунипер) описываются в другом месте в виде переходов между зонами.
root@srx# set security policies from-zone trust to-zone untrust policy trust-to-untrust match source-address any
root@srx# set security policies from-zone trust to-zone untrust policy trust-to-untrust match destination-address any
root@srx# set security policies from-zone trust to-zone untrust policy trust-to-untrust match application any
root@srx# set security policies from-zone trust to-zone untrust policy trust-to-untrust then permit
     Здесь описана политика траффика при переходе от зоны trust к зоне untrust. В данном примере из локальной сети в Интернет разрешены все запросы. Если мы захотим как-то ограничить пользователей нашей сети в использовании Интернета (например, запретить общение через ICQ или IRC), то здесь можно создать соответствующие запрещающие правила.
root@srx# set security policies from-zone trust to-zone trust policy trust-to-trust match source-address any
root@srx# set security policies from-zone trust to-zone trust policy trust-to-trust match destination-address any
root@srx# set security policies from-zone trust to-zone trust policy trust-to-trust match application any
root@srx# set security policies from-zone trust to-zone trust policy trust-to-trust then permit

     Здесь описана политика из зоны trust в зону trust. Опять же разрешены все переходы.
     Политику из зоны untrust (Интернет) в зону trust (локальная сеть) описывать здесь не будем. Почему? Потому что политика по умолчанию стоит deny-all, т.е. все что явно не разрешено, то запрещено, а хосты из глобальной сети не должны иметь доступ к защищаемым Джунипером хостам, не так ли? Вообще, если мы не создали политику, то это не значит что ее нет вовсе. Она есть, только она пустая, а следовательно на все переходы отвечает запретом.
     Последним номером в нашей сегодняшней программе будет настройка NAT для раздачи Интернета пользователям локальной сети.
root@srx# set security nat source rule-set trust-to-untrust from zone trust
root@srx# set security nat source rule-set trust-to-untrust to zone untrust
root@srx# set security nat source rule-set trust-to-untrust rule source-nat-rule match source-address 0.0.0.0/0
root@srx# set security nat source rule-set trust-to-untrust rule source-nat-rule then source-nat interface
     Этим мы настроили Source NAT между локальной сетью и Интернетом. Теперь пользователи локалки могут спокойно пользоваться услугами глобальной сети.
     Также, желательно включить систему предотвращения вторжений (IDP, intrusion detection prevention). Базовые ее настройки приведены здесь:
root@srx# set security zones security-zone untrust screen untrust-screen
root@srx# set security screen ids-option untrust-screen icmp ping-death
root@srx# set security screen ids-option untrust-screen ip source-route-optiont
root@srx# set security screen ids-option untrust-screen ip tear-drop
root@srx# set security screen ids-option untrust-screen tcp syn-flood alarm-threshold 1024
root@srx# set security screen ids-option untrust-screen tcp syn-flood attack-threshold 200
root@srx# set security screen ids-option untrust-screen tcp syn-flood source-threshold 1024
root@srx# set security screen ids-option untrust-screen tcp syn-flood destination-threshold 2048
root@srx# set security screen ids-option untrust-screen tcp syn-flood timeout 20
root@srx# set security screen ids-option untrust-screen tcp land
     Более подробно про широкие возможности Junos IDP можно прочитать в книге Junos Security. Скачать ее можно например здесь: www.bookarchive.ru/computer/network/kompjuternaja_bezopasnost/101776-junos-security.html
     После ввода всех команд нужно проверить их на синтаксис и на логику командой:
root@srx# commit check
     Если в нашем конфиге присутствуют какие-либо опечатки или чего-то не хватает, то система всегда сообщит нам об этом. Внимательно читайте вывод консоли, ибо Junos OS очень подробно и точно и объясняет, что нам нужно исправить! Если консоль выдаст commit check succeded, то значит все в порядке и можно писать:
root@srx# commit
     После этого наши настройки сохраняться в памяти роутера и станут актуальными. Теперь можно подключать клиентские устройства, проверять пинги и Интернет. Если мы вдруг заметили, что применили что-то совсем не то и необходимо вернуться на предыдущую конфигу, то можно написать:
root@srx# rollback 0
     Эта команда вернет нас к предыдущей конфиге, которую, кстати, так же нужно коммитить. Число возможных откатов назад во времени по максимуму равно 49 и может быть настроено командой
root@srx# set system max-configuration-rollbacks 49
     Если ввести
root@srx# rollback ?
то система выдаст нам дату и время предыдущих коммитов (максимум – 49)
     Если мы выполняем удаленное конфигурирование Джунипера и боимся, что применение очередной политики или настройка интерфейса может привести к утрате связи с устройством, то можно пользоваться коммитом в следующем виде:
root@srx# commit confirmed число_минут
     Эта команда применяет текущий конфиг, но лишь на определенное число минут, указанное в команде (по умолчанию 10). Если в течение этого времени не ввести просто commit, то по истечении времени Джунипер автоматом вернется к предыдущей конфиге. Это очень удобно для удаленного конфигурирования!
     Итоговый конфиг приведен под спойлером
Итоговый конфиг
## Last changed: 2013-01-24 12:09:10 UTC
version 12.1R4.7;
system {
    host-name JuniperSRX;
    root-authentication {
        encrypted-password "$1$2bWkMZhh$mdsdcqRN71Pa7Wmb9VGSn/"; ## SECRET-DATA
    }
    name-server {
        8.8.8.8;
        8.8.4.4;
    }
    services {
        ssh;
        web-management {
            http {
                interface vlan.0;
            }
        dhcp {
            router {
                192.168.1.1;
            }
            pool 192.168.1.0/24 {
                address-range low 192.168.1.2 high 192.168.1.100;
            }
            propagate-settings vlan.0;
        }
    }
    syslog {
        archive size 100k files 3;
        user * {
            any emergency;
        }
        file messages {
            any critical;
            authorization info;
        }
        file interactive-commands {
            interactive-commands error;
        }
    }
    max-configurations-on-flash 5;
    max-configuration-rollbacks 49;
    license {
        autoupdate {
            url https://ae1.juniper.net/junos/key_retrieval;
        }
    }
}
interfaces {
    interface-range interfaces-trust {
    member-range ge-0/0/1 to ge-0/0/7;
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
ge-0/0/0 {
    unit 0 {
        family inet {
            address 1.2.3.4/28;
        }
    }
}
ge-0/0/1 {
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
ge-0/0/2 {
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
ge-0/0/3 {
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
ge-0/0/4 {
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
ge-0/0/5 {
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
ge-0/0/6 {
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
ge-0/0/7 {
    unit 0 {
        family ethernet-switching {
            vlan {
                members vlan-trust;
            }
        }
    }
}
vlan {
    unit 0 {
        family inet {
            address 192.168.1.1/24;
        }
    }
}
routing-options {
    static {
        route 0.0.0.0/0 next-hop 1.2.3.1;
    }
security {
     screen {
        ids-option untrust-screen {
            icmp {
                ping-death;
            }
            ip {
                source-route-option;
                tear-drop;
            }
            tcp {
                syn-flood {
                    alarm-threshold 1024;
                    attack-threshold 200;
                    source-threshold 1024;
                    destination-threshold 2048;
                    timeout 20;
                }
                land;
            }
        }
    }
    nat {
        source {
            rule-set trust-to-untrust {
                from zone trust;
                to zone untrust;
                rule source-nat-rule {
                    match {
                        source-address 0.0.0.0/0;
                    }
                    then {
                        source-nat {
                            interface;
                        }
                    }
                }
            }
        }
    policies {
        from-zone trust to-zone untrust {
            policy trust-to-untrust {
                match {
                    source-address any;
                    destination-address any;
                    application any;
                }
                then {
                    permit;
                }
            }
        }
        from-zone trust to-zone trust {
            policy trust-to-trust {
                match {
                    source-address any;
                    destination-address any;
                    application any;
                }
                then {
                    permit;
                }
            }
        }
    }
    zones {
        security-zone trust {
            host-inbound-traffic {
                system-services {
                    all;
                }
                protocols {
                    all;
                }
            }
            interfaces {
                vlan.0;
            }
        }
        security-zone untrust {
            screen untrust-screen;
            interfaces {
                ge-0/0/0.0 {
                    host-inbound-traffic {
                        system-services {
                            ssh;
                            ping;
                        }
                    }
                }
            }
        }
    }
}
vlans {
    vlan-trust {
        vlan-id 3;
        l3-interface vlan.0;
    }
}

     На этом я закончу статью по первоначальной настройке Juniper SRX. Буду очень рад вопросам и комментариям! В дальнейшем планируются статьи по Junos CLI, PPPoE, политикам, IPsec и основам маршрутизации в Junos OS.
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (32)

  • +1
    Большое спасибо за статью, надеюсь будет продолжение :)
    Насчет коммитов, в свое время получил очень важный совет, перед коммитом всегда делать show | compare. Это позволит посмотреть какие изменения были сделаны с последнего коммита. Учитывая вложенность конфигурации, недописанная команда по удалению сабинтерфейса может привести к удалению всех unit на интерфейсе. Делая такую проверку можно обезопасить себя от больших проблем =)
    • 0
      show | compare — классная вещь, согласен!
      Вообще, хочу первым делом сделать жизненный мануал по CLI. :)
      • 0
        Это было бы очень полезным =)
        В целом информации по настройки джниперов на порядок меньше чем Cisco. Сейчас столкнулся с этими железками — они очень интересные и много приятных фич в конфигурировании. Но куча всяких тонкостей которые пришлось постигать набивая шишки)
        • 0
          Ну эт смотря с какой стороны смотреть… Может на разных сайтах инфы и меньше, но документация на сайте джунипера мне кажется более понятной чем с сайта циско. Практически на каждый вопрос есть краткая статья в KB которая содержит всю необходимую информацию. Качество поиска по документации джунипера и циско я вообще и не сравниваю. Если кто-то когда-то пытался что-то найти поиском по сайту у циско меня поймет.
          • 0
            Не первый раз встречаю комментарий о том что документация по джуниперам сильно лучше цисковской. Вот честное слово, я после цисковского сайта вообще не могу что то найти по джуниперу. Видимо дело привычки, но нельзя сказать что я прям очень к цисковским докам привык.
            • 0
              Согласен, я тоже после сайта Cisco на сайте Juniper все «ноги поломал».
              К счастью, после понятия простой логики Junos жизнь становится лучше :-)
              • +1
                за 1.5 года пользования Juniper у меня сложилось следующее впечатление о платформе:
                Оборудование отличное, удобное, некоторые фишки очень клево сделаны, да и в целом приятно пользоваться. НО. Иногда как вылезет какая нибудь хрень и все впечатление смазывается. Как например глюченный ALG, который очень клевый, но все рекомендуют его отключать из за многочисленных багов (как то полдня траблшутил непрохождение sip трафика через ipsec, при том что я видел что трафик идет в туннель, но на другой стороне его не было)
                или ограничения в route based ipsec (помоему работает только с одним encr domain со стороны джунипера) или то, что policy based ipsec не работает с nat (хотя я с дуру смог заставить его работать, но только если происходит инициирование туннеля со стороны клиента).

                Но не смотря на все это — мне нравится джунипер) хотя бы за его commit confirmed =)

                PS с документацией все равно у них как то заморочено) часть открыта, часть доступна только зарегистрированным. Пробовал зарегится на просто аккаунт — не дает почему то.
  • 0
    Огромное спасибо за статью! Все описано достаточно детально и грамотно! А можно ли писать приложения для данного сетевого устройства, ведь как ни как им управляет ОС?
    • +1
      Скажем так, не программы, а все же скрипты. Да, можно.
      Есть целая библиотека разнообразных скриптов под самые разные нужды: www.juniper.net/us/en/community/junos/script-automation/library/
      Если есть желание, можешь почитать книги на эту тему: www.juniper.net/us/en/community/junos/training-certification/day-one/
      (раздел Junos Automation)
      Правда все на английском :)
      Говорят, на Junos можно даже какие-то пакеты ставить, но это не пробовал, ибо зачем?
      • 0
        Спасибо! Скрипты это очень замечательно! Но хотелось, что бы маршрутизатор выполнял именно программы написанные специально под его ОС, это позволило бы оптимизировать и модернизировать данное устройство под свои цели. Желание огромное, но времени мало, а я больше интересуюсь другим направлением, не хочу распыляться! Еще раз спасибо за информацию!
        • 0
          Я не знаю, что ты имеешь ввиду, но по-моему Junos OS — это самодостаточная сетевая ОС. Все, что ей необходимо по сетевой части: интерфейсы, протоколы, политики, фильтры т.д., а так же инструментарий для работы со всем этим у нее есть. Не понимаю, какие еще программы нужны?
          Если ты имеешь ввиду, можно ли под нее писать любые проги как под Линукс, то ответ — нет. Это узкоспециализированная железяка, которую покупают под совершенно конкретные нужды. Если хочется писать программы, то можно поставить Линукс. Если нужен высокопроизводительный шлюз корпоративного/провайдерского масштаба, то покупаешь Джунипер или Циско.
          Так что я не совсем понял, о каких программах идет речь, приведи пример.
  • 0
    Спасибо, вы все разъяснили! Просто я больше чем Windows и файл сервера на FreeBSD не администрировал, ну еще циско понасиловал в Packet tracer да в GNS3, так что извините за некомпетентность)
    • 0
      Да нормально. Джуниперы реально рулят по сравнению с софтовыми шлюзами, поверь я знаю что говорю. Так что проси у начальства хотя бы Juniper SRX100 (стоит в пределах 20000 руб, правда у него 100Мбитные порты) и наслаждайся настройкой :)
  • 0
    у моего начальства тяжело новую мышку получить) Я работаю администратором в компьютерном классе у себя в ВУЗе, так что у меня 20 компов старый Allied Telesyn коммутатор, и сервер на FreeNAS) Чем богаты тем и радуемся)
  • 0
    Сочувствую, друг! Но, мне кажется, ты все же не всю жизнь собрался в этом классе сидеть? )
  • 0
    До получения диплома)
    • 0
      С этого начинали все крутые спецы. В нашем деле единственное, что важно — это желание.
      А еще у меня такое мнение сложилось: сисадмин без хорошего железа — только наполовину сисадмин. На хорошее железо надо настраиваться, о нем надо мечтать. И оно обязательно придет! :)
      • 0
        А вот про настраиваться абсолютно согласен! По-этому спущусь в наш учебный центр Cisco и вытащу из стойки коммутатор пожирнее)
  • 0
    Спасибо за статью, с нетерпением жду продолжения.

    Скажите, а если бы мы настраивали не firewall, а роутер, что бы изменилось в настройке?
    • 0
      На роутерах остуствует понятие зон безопаности (кроме софтовой J серии), эту секцию можно было бы пропустить. Другой, более гибкий синтаксис бриджеваняи ( interface vlan -> irb, vlan -> bridge domain).
  • 0
    По теме — srx не слишком удобны в эксплуатации.
    Особенно кластеры: безумно долгое применение конфигурации (и как следствие медленная работа скриптов), периодическая рассинхронизация, не работающий commit confirmed (который описан в конце статьи), отсутствие нормального ECMP.
    • 0
      Кластеры это да, пока немного глючная технология…
      А в целом юзабилити у Джуниперов, как по мне, так на высоте :)
  • 0
    Автор, спасибище, и пиши еще :)
    Ты очень и очень вовремя! Как раз сегодня нужно будет вводить парк джуниперов в эксплуатацию
  • 0
    Отличная статья, спасибо.

    Не совсем понятен смысл политики trust-to-trust. Это аналогия VACL у Cisco?
    Получается без её применения между интерфейсами на весь трафик неявный deny?

    root@srx# commit check
    При вводе команд синтаксис не проверяется?
    • 0
      При вводе команд синтаксис проверяется, не проверяется семантика)
    • 0
      Еще конечно очень необычно (относительно cisco), что команды интерпретируются и конфиг совсем не похож на то, что было введено из режима конкурирования.
      Есть ли «обратная совместимость», т.е. можно ли вводить интерпретированный результат находясь в режиме конкурирования, или необходимо редактировать конфигурационный файл?
      • 0
        Можно.
        • 0
          Режим «конкурирования» ))), наверное все-таки «конфигурирования».
          Можно вставлять форматированный конфиг либо в веб-интерфейс, либо тупо в консоль, после команды:
          load merge terminal

          Обратное преобразование тоже возможно. Можно вывести кусок конфиги в виде списка консольных команд (в виде «set ....»). Например:
          show security policies | display set

          Политика trust-to-trust нужна. Иначе откуда Джунипер узнает, можно ли хостам внутри этой зоны общаться друг с другом? За нас думать он не умеет и не должен.
          Поэтому да, если политика не указана, стоит неявный deny.
          Но это поведение можно изменить командой:
          set security policies default-policy permit-all

  • 0
    root@srx# set vlans vlan-trust vlan-id 3

    В каждой статье по теме настройки джунипера повторяют пример с сайта джуна… Хоть бы кто-нить рассказал как на vlan.0 повесить не третий vlan, а 1-й.
    • 0
      А в чем проблема? Ну укажи влан 1. Все будет точно так же работать. Никакой привязки номера юнита (субинтерфейса) к номеру влана нет. Или ты что хочешь?
      • 0
        А сам-то пробовал указать там номер влна 1 вместо 3, а потом закоммитить конфиг?
        Человека, кто в первый раз держит джун в руках (на кого ориентированны статьи подобного плана) это может сбить с толку.
        Первый VLAN можно назначить только VLAN'у под названием default, при попытке назначить первый номер тому же vlan-trust при коммите получаешь ошибку: Non default VLANs cannot have vlan-id 1.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.