Junos. Базовая конфигурация.

Всем доброго времени суток!

Вот мы поставили/установили эмулятор Джунипер/сам джунипер у себя дома/в аппаратной и готовы начать его настройку. Но до того как вы настроите на нем свои bgp, is-is, mpls,opfs,ipsec и прочее, нужно провести его базовую конфигурацию. В данной записи я опишу настройку основных параметров маршрутизатора.

Для тех, кто в первые видит junos, рекомендую прослушать курс:

http://www.juniper.net/us/en/training/technical_education/jsl_international_editions/russian/course_start.html

Для начала, будем работать с одни роутером.

Запускаем. Приступаем к базовой настройке.

При первом старте устройства доступен только пользователь root, пароль — пустой . Переходим в режим роутера, заходим в конфигурационный режим:

Перед началом конфигурации, рекомендую «увеличить» ширину консоли:

root> set cli screen-width 250
Screen width set to 250

Мне нравится — 250.

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

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

[edit]
root#

2. Далее, нужно создать пользователя, от которого мы будем работать(по рутом сидеть нельзя — правило хорошего тона):

[edit]

root# set system login user admin class super-user

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

[edit]
root# set system login user admin uid 222

Первая команда создает пользователя admin с правами super-user, вторая команда задает ему пароль, ну и третья — выставляет заданный uid (user identificator), если его не задать, он выставиться автоматический.

Бонус гибкости junos в том, что команды можно писать вместе одной строкой, если у них общий смысл. Заменим выше стоящие команды одной:

[edit]

root# set system login user admin class super-user uid 222 authentication plain-text-password
New password:
Retype new password:

[edit]
root#

Теперь нужно сохранить и перелогиниться:

Команда commit позволяет сохранить и применить конфигурацию(в данном случае, commit and-quit, позволяет выйти из конфигурационного режима, после сохранения и применения конфигурации), если же в измененной конфигурации есть ошибки, то команда выдаст предупреждение и сохранения не произойдет.

Теперь, зайди под логином admin посмотрим конфиг:

admin> show configuration
## Last commit: 2013-05-21 14:33:00 UTC by root
version 12.1R1.9;
system {
    root-authentication {
        encrypted-password "$1$6JD1H4cO$eLXJTM6WK7vgmj.WNUdXo/"; ## SECRET-DATA
    }
    login {
        user admin {
            uid 222;
            class super-user;
            authentication {
                encrypted-password "$1$pvTDyKFf$4ubqShaKb/4wJFk20j8Ky."; ## SECRET-DATA
            }
        }
    }
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
}

 

Как видно, конфиг выглядит структурировано, удобночитабельно и, я бы сказал, изящно. Все разделы отделены табуляцией. Есть комментарии. Готовый конфиг можно копировать сразу, не набирая каждую команду по отдельности, для этого есть специальная команда(укажу позже).

Итак, продолжим базовую конфигурацию.

Укажем имя нашему хосту:

[edit]
admin# set system host-name HOST1

Далее укажем временную зону, заметьте, если вы не знаете как пишется ваша временная зона — воспользуйтесь подсказкой( после команды поставить знак вопроса):

[edit]
admin@HOST1# set system time-zone ?
Possible completions:
  <time-zone>          Time zone name or POSIX-compliant time zone string
  Africa/Abidjan
  Africa/Accra
  Africa/Addis_Ababa
  Africa/Algiers
  Africa/Asmera
  Africa/Bamako
  Africa/Bangui
  Africa/Banjul
  Africa/Bissau
  Africa/Blantyre
  Africa/Brazzaville
  Africa/Bujumbura
  Africa/Cairo
  Africa/Casablanca
  Africa/Ceuta
  Africa/Conakry
  Africa/Dakar
  Africa/Dar_es_Salaam
  Africa/Djibouti
  Africa/Douala
  Africa/El_Aaiun
---(more 5%)---

так же, как и в любом другом шеле, здесь отлично работает табуляция:

[edit]
admin@HOST1# set system time-zone Asia/Y
                                        ^
'Asia/Y' is ambiguous.
Possible completions:
  <time-zone>          Time zone name or POSIX-compliant time zone string
  Asia/Yakutsk
  Asia/Yekaterinburg
  Asia/Yerevan
[edit]
admin@HOST1# set system time-zone Asia/Y

ну, собственно, мой город Екатеринбург.

Если вы являетесь держателем какой либо ДНС зоны, то вам будет удобно указать следующие настройки:

[edit]
admin@HOST1# set system domain-name xxxx.ru

[edit]
admin@HOST1# set system domain-search xxxx.ru

Первая строка указывает, что ваш роутер принадлежат этому домену. Вторая — позволяет искать днс записи с подстановкой этого домена, пример — если у вас есть узел host.xxxx.ru, то при обращении к нему, достаточно будет ввести имя host, а не полную днс запись.

Далее — укажем днс сервера:

[edit]
admin@HOST1# set system name-server 8.8.8.8

[edit]
admin@HOST1# set system name-server 10.100.0.2

и настроим сервер времени:

[edit]
admin@HOST1# set system ntp server 10.100.0.2 prefer

[edit]
admin@HOST1# set system ntp source-address ?
Possible completions:
  <source-address>     Use specified address as source address

Первая команда указывает сервер времени( если указано несколько, то лучшему или приоритетному стоит указать параметр prefer). так же может быть необходимым указать сорс адрес, с которого пойдут запросы(это могут требовать какие нибудь политики безопасности), но так как у нас пока не настроен ни один интерфейс, оставим это себе на заметку.

Далее — настроим сервисы. Какие сервисы нам нужны как минимум? Для управления — ssh или telnet, для обновления прошивки — ftp.

[edit]
admin@HOST1# set system services telnet connection-limit 10

[edit]
admin@HOST1# set system services telnet rate-limit 5

[edit]
admin@HOST1# set system services ssh root-login deny

[edit]
admin@HOST1# set system services ssh connection-limit 10

[edit]
admin@HOST1# set system services ssh rate-limit 5

[edit]
admin@HOST1# set system services ftp connection-limit 10

[edit]
admin@HOST1# set system services ftp rate-limit 5

Connection-limit — ограничение на количество одновременных сессий.  Rate-limit — ограничение на количество подключений в минуту. Ну и естественно запрещаем руту заходить по ssh.

Сохраняем и применяем готовый конфиг — commit.

Продолжим.

Как и любое железо, джунипер пишет логи, пишет много и часто, давайте их как нить куда нить сохраним:

[edit]
admin@HOST1# set system syslog host 10.100.0.2 any info

[edit]
admin@HOST1# set system syslog host 10.100.0.2 facility-override ?
Possible completions:
  authorization        Authorization system
  daemon               Various system processes
  ftp                  FTP process
  kernel               Kernel
  local0               Local logging option number 0
  local1               Local logging option number 1
  local2               Local logging option number 2
  local3               Local logging option number 3
  local4               Local logging option number 4
  local5               Local logging option number 5
  local6               Local logging option number 6
  local7               Local logging option number 7
  user                 User processes
[edit]
admin@HOST1# set system syslog host 10.100.0.2 facility-override local7

Укажем куда сливать сислог(host) , что сливать (any info) и какое фасилити присвоить(facility-override).

Ну и конечно же, нужно настроить snmp!

[edit]
admin@HOST1# set snmp community test authorization read-only clients 10.100.0.2

Тут я создал коммьюнити тест, с правами «только чтение» для одного единственного клиента.

Продолжение:

http://netwild.ru/junos-basic-configuration2/