Mise à jour du routeur SRX 100 sous Junos

Mise à jour du routeur SRX 100 sous Junos

Il s’avère parfois nécessaire de mettre à jour son routeur afin de combler des failles de sécurité ou encore disposer de nouvelles fonctionnalités plus ou moins importantes. Actuellement mon routeur SRX100 fonctionne sous le firmware : 12.1X46-D50.4 datant de Avril 2016. Je souhaite faire le mise à jour vers 12.3X48-D45.6 datant de Février 2017. Les nouveautés entre les deux firmwares sont significatives et accessibles au lien suivant.

Pré-requis :

root@junsrx# save /tmp/conf17052017
Wrote 751 lines of configuration to '/tmp/conf17052017'

Mise à jour individuelle

Il existe différentes catégories de mises à jour, découvrons ensemble la mise à jour individuelle pour le SRX100.
Nous commençons dans le mode dit de fonctionnement et nous vérifions la version du routeur :

root@junsrx> show version
Hostname: junsrx
Model: srx100h2
JUNOS Software Release [12.1X46-D50.4]

Dans notre cas nous récupérons le firmware depuis le site de Juniper. Dans mon cas je l’ai uploadé en SFTP dans le répertoire /tmp puis récupéré la configuration du routeur précédemment créé : conf17052017. Voici le contenu /tmp :

root@junsrx> start shell
root@junsrx% cd /tmp/
root@junsrx% ls
.clnpkg.LCK                             conf17052017
.download-manager.LCK                   idpd.pid
.pkg.REBOOT                             junos-srxsme-12.3X48-D45.6-domestic.tgz
BSD.var.dist                            libappid_debug.log
appidd_trace_debug                      lockmgr
exit

Pour les utilisateurs qui préfèrent utiliser la méthode via ftp voici la commande de base :

user@host> file copy ftp://username:[email protected]/filename  /tmp/

Nous sommes désormais prêts pour réaliser la mise à jour du routeur :

root@junsrx> request system sofware add /tmp/junos-srxsme-12.3X48-D45.6-domestic.tgz validate                      
Formatting alternate root (/dev/da0s1a)...
/dev/da0s1a: 619.6MB (1268876 sectors) block size 16384, fragment size 2048
        using 4 cylinder groups of 154.91MB, 9914 blks, 19840 inodes.
super-block backups (for fsck -b #) at:
 32, 317280, 634528, 951776
Extracting /tmp/junos-srxsme-12.3X48-D45.6-domestic.tgz ...
saving package file in /var/sw/pkg ...
Checking compatibility with configuration
Initializing...
rm: /var/validate/chroot/mfs/var/etc/pam.conf: Operation not permitted
rm: /var/validate/chroot/mfs/var/etc: Directory not empty
rm: /var/validate/chroot/mfs/var: Directory not empty
rm: /var/validate/chroot/mfs: Directory not empty
rm: /var/validate/chroot: Directory not empty
Verified manifest signed by PackageProductionEc_2016 method ECDSA
Verified junos-12.1X46-D50.4-domestic signed by PackageProductionEc_2016 method ECDSA
Using junos-12.3X48-D45.6-domestic from /altroot/cf/packages/install-tmp/junos-12.3X48-D45.6-domestic
Copying package ...
veriexec: cannot update veriexec for /cf/var/validate/chroot/junos/usr/lib/libslax.so.3: No such file or directory
veriexec: cannot update veriexec for /cf/var/validate/chroot/junos/usr/lib/libext_bit.so.3: No such file or directory
veriexec: cannot update veriexec for /cf/var/validate/chroot/junos/usr/lib/libext_curl.so.3: No such file or directory
veriexec: cannot update veriexec for /cf/var/validate/chroot/junos/usr/lib/libext_xutil.so.3: No such file or directory
Verified manifest signed by PackageProductionEc_2017 method ECDSA
Hardware Database regeneration succeeded
Validating against /config/juniper.conf.gz
Usage: license-check -f "<features>" -m -p -q -M -u -U -V
  -V verify if release based licenses are present
Connectivity fault management process: rtslib: ERROR kernel does not support all messages: expected 103 got 102,a reboot or software upgrade may be required
Connectivity fault management process:
Connectivity fault management process: rtslib: WARNING version mismatch for msg bulkstats: expected 0 got 98,a reboot or software upgrade may be required
Connectivity fault management process:
Connectivity fault management process: rtslib: WARNING version mismatch for msg ddos: expected 99 got 98,a reboot or software upgrade may be required
Connectivity fault management process:
Connectivity fault management process: rtslib: WARNING version mismatch for msg notify msg: expected 98 got 0,a reboot or software upgrade may be required
Connectivity fault management process:
Connectivity fault management process: rtslib: WARNING version mismatch for msg kuack messages: expected 99 got 0,a reboot or software upgrade may be required
Connectivity fault management process:
Connectivity fault management process: rtslib: WARNING version mismatch for msg marker ifstate: expected 104 got 0,a reboot or software upgrade may be required
Connectivity fault management process:
mgd: commit complete
Validation succeeded
rm: /cf/var/validate/chroot/mfs/var/etc/pam.conf: Operation not permitted
rm: /cf/var/validate/chroot/mfs/var/etc: Directory not empty
rm: /cf/var/validate/chroot/mfs/var: Directory not empty
rm: /cf/var/validate/chroot/mfs: Directory not empty
rm: /cf/var/validate/chroot: Directory not empty
Installing package '/altroot/cf/packages/install-tmp/junos-12.3X48-D45.6-domestic' ...
Verified junos-boot-srxsme-12.3X48-D45.6.tgz signed by PackageProductionEc_2017 method ECDSA
Verified junos-srxsme-12.3X48-D45.6-domestic signed by PackageProductionEc_2017 method ECDSA
Verified junos-boot-srxsme-12.3X48-D45.6.tgz signed by PackageProductionEc_2017 method ECDSA
Verified junos-srxsme-12.3X48-D45.6-domestic signed by PackageProductionEc_2017 method ECDSA
JUNOS 12.3X48-D45.6 will become active at next reboot
WARNING: A reboot is required to load this software correctly
WARNING:     Use the 'request system reboot' command
WARNING:         when software installation is complete
Saving state for rollback ...

Il est demandé de réaliser un redémarrage de l’appareil afin de disposer de la nouvelle version du firmware :

root@junsrx> request system reboot
Reboot the system ? [yes,no] (no) yes

Shutdown NOW!

[pid 2871]

root@junsrx> *** FINAL System shutdown message from root@junsrx *** System going down IMMEDIATELY

Une fois l’appareil redémarré un message apparaît avant de nous authentifier :

WARNING: JUNOS versions running on dual partitions are not same
** /dev/da0s2a
FILE SYSTEM CLEAN; SKIPPING CHECKS
clean, 240844 free (44 frags, 30100 blocks, 0.0% fragmentation)

Junos utilise deux partitions : da0s1a et da0s2a qui contiennent encore notre ancien firmware.
Pour résoudre le problème nous allons lui copier notre firmware de la partition da0s1a vers da0s2a comme ceci :

root@junsrx> request system snapshot slice alternate
Formatting alternate root (/dev/da0s2a)...
Copying '/dev/da0s1a' to '/dev/da0s2a' .. (this may take a few minutes)
The following filesystems were archived: /

Pour vérifier l’intégralité de notre mise à jour :

root@junsrx> show system snapshot media internal slice alternate
Information for snapshot on       internal (/dev/da0s1a) (primary)
Creation date: May 17 19:12:57 2017
JUNOS version on snapshot:
  junos  : 12.3X48-D45.6-domestic
Information for snapshot on       internal (/dev/da0s2a) (backup)
Creation date: May 17 19:24:28 2017
JUNOS version on snapshot:
  junos  : 12.3X48-D45.6-domestic

Pour terminer, un redémarrage est nécessaire afin que le message disparaisse et que notre routeur soit opérationnel.