12.05.2015

Juniper SRX: Обновляем версию JunOS


Сегодня я хотел бы рассказать как можно обновить версию JunOS на вашем Juniper SRX. Я буду экспериментировать с SRX240B.

Пост будет полезен начинающим администраторам, матерые гуру не найдут тут ничего интересного.

Заинтересовало? Прошу под кат.


Для начала необходимо скачать свежую версию JunOS. Сделать это можно на официальном сайте или…

Рекомендую посмотреть SHA1 хэш файла, чтобы убедиться в его целостности:
image

Берем обычную USB флешку, форматируем ее в FAT32 (JunOS понимает только FAT16/FAT32 на USB накопителях) и копируем туда скачанный с сайта образ. На всякий случай проверим его SHA1 хэш:
iMac:~ Cartman$ diskutil list /dev/disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.0 GB     disk1
   1:                 DOS_FAT_32 PQI                     1.0 GB     disk1s1
iMac:~ Cartman$ ls -la /Volumes/PQI/
total 302912
drwxrwxrwx@ 1 Cartman  staff       4096 Jul 22 22:02 .
drwxrwxrwt@ 6 root     admin        204 Jul 22 22:01 ..
-rwxrwxrwx  1 Cartman  staff  155083241 Jun  5 02:09 junos-srxsme-12.1X46-D20.5-domestic.tgz
iMac:~ Cartman$ openssl sha1 /Volumes/PQI/junos-srxsme-12.1X46-D20.5-domestic.tgz 
SHA1(/Volumes/PQI/junos-srxsme-12.1X46-D20.5-domestic.tgz)= 98076db582d6e6e4dbd39657aff8756acda263b4


Подключаемся к устройству через консоль или SSH под учетной записью root (допустим мы подключаемся по SSH не под root):
cartman@gw-jsrx240> start shell 
% su -
Password: YOUR_ROOT_PASSWORD
root@gw-jsrx240% whoami
root
root@gw-jsrx240% id
uid=0(root) gid=0(wheel) groups=0(wheel), 5(operator), 10(field), 31(guest), 73(config)
root@gw-jsrx240% 

Посмотрим какие устройства уже созданы:
root@gw-jsrx240% ls /dev/da*
/dev/da0        /dev/da0s1a     /dev/da0s2      /dev/da0s2c     /dev/da0s3c     /dev/da0s3f     /dev/da0s4a     /dev/da0s4e
/dev/da0s1      /dev/da0s1c     /dev/da0s2a     /dev/da0s3      /dev/da0s3e     /dev/da0s4      /dev/da0s4c


Теперь подключим нашу USB флешку в любой свободный порт и посмотрим на список устройств еще раз:
root@gw-jsrx240% ls /dev/da*
/dev/da0        /dev/da0s1c     /dev/da0s2c     /dev/da0s3e     /dev/da0s4a     /dev/da1
/dev/da0s1      /dev/da0s2      /dev/da0s3      /dev/da0s3f     /dev/da0s4c     /dev/da1s1
/dev/da0s1a     /dev/da0s2a     /dev/da0s3c     /dev/da0s4      /dev/da0s4e


Сравнивая вывод двух команд находим, что флешка определилась как /dev/da1, а единственный на ней раздел как/dev/da1s1.

Теперь создадим каталог и смонтируем туда нашу флешку (не под учетной записью root команда mount не отработает):
root@gw-jsrx240% mkdir /var/tmp/usbflash
root@gw-jsrx240% mount -t msdos /dev/da1s1 /var/tmp/usbflash
root@gw-jsrx240% cd /var/tmp/usbflash/
root@gw-jsrx240% ls -l
total 302912
-rwxr-xr-x  1 root  wheel  155083241 Jun  5 06:09 junos-srxsme-12.1X46-D20.5-domestic.tgz


Дело осталось за малым, перейдем в Operational Mode и установим прошивку:
root@gw-jsrx240% cli
cartman@gw-jsrx240> request system software add junos-srxsme-12.1X46-D20.5-domestic.tgz


После ввода этой команды в консоль начнет вываливаться лог установки ОС, после чего SRX перезагрузится.

Проверим, что JunOS обновлен:
cartman@gw-jsrx240> show version 
Hostname: gw-jsrx240
Model: srx240b
JUNOS Software Release [12.1X46-D20.5]


Если вы любите хайку, то можно немножко себя развлечь:
cartman@gw-jsrx240> show version and haiku 
Hostname: gw-jsrx240
Model: srx240b
JUNOS Software Release [12.1X46-D20.5]


        IS-IS sleeps.
        BGP peers are quiet.
        Something must be wrong.