キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
告知

JTAC-Mid-Career-Recruitment-2021.3

 MayCL_topbanner.JPG

 

eXR: 7.x.x から 6.x.x へのダウングレードに失敗する

144
閲覧回数
0
いいね!
0
コメント

 

 

はじめに

本ドキュメントでは、eXR (IOS-XR 64-Bit) にて動作するルータにおいて、7.x.x から 6.x.x へのダウングレード時に発生する事象についての回避策および復旧方法について紹介します。

 

ダウングレードに失敗する主な背景

  1. RPM signed version のサポート (6.3.2〜)

    詳細については、こちらの記事を参照ください。
    eXR: RPM signed version のサポート 6.3.2
    eXR: 6.3.2 RPM ファイルの install add に失敗する

    上記の記事では、アップグレード時に適用する際の Bridge SMU の紹介をしていますが、ダウングレード時も同様に、7.x.x から 6.3.1 以前 ( RPM の unsigned version) へダウングレードを実施しようと、install add にてパッケージを追加しようとした際に下記のようなエラーが発生し失敗します。

    Oct 05 11:43:49 Install operation 4 started by root:
     install add source harddisk: NCS5500-iosxr-k9-6.1.3-2.tar
    Oct 05 11:43:50 Action 1: install add action started
    Oct 05 11:43:55 Install operation will continue in the background
    Oct 05 11:45:39 ERROR!! failed while distributing packages to sysadmin
    
    Oct 05 11:45:42 Install operation 4 aborted
    Oct 05 11:45:42 Ending operation 4
    

    Aug 26 19:37:31 Install operation 103 started by root:
     install add source harddisk: NCS5500-iosxr-k9-6.2.3.tar 
    Aug 26 19:37:32 Action 1: install add action started
    Aug 26 19:37:37 Install operation will continue in the background
    Aug 26 19:39:43 Error in ADD phase:  Ending operation -1
    Aug 26 19:39:44 ERROR!! failed while handling validate reply
    
    Aug 26 19:39:46 Install operation 103 aborted
    Aug 26 19:39:46 Ending operation 103

    その場合は、install add に 'nooptim' option を追加することでパッケージの追加が可能になります。
    install add source <directory> <package> nooptim

     

     

  2. ユーザの secret password の default の encryption type の変更 (7.0.1〜)

    7.0.1 からユーザの secret password に用いられる暗号化のアルゴリズムが type-5 (MD5) から type-10 (SHA-512) へ実装変更されています。
    その影響で後述の3つの問題が発生しうる可能性があります。
    ### 7.0.1 以降のバージョン###
    
    RP/0/RP0/CPU0:eXR# conf
    Thu Aug 8 09:14:52.613 UTC
    RP/0/RP0/CPU0:eXR(config)# username lab1 secret lab
    RP/0/RP0/CPU0:eXR(config)# commit
    Thu Aug 8 09:15:07.694 UTC
    RP/0/RP0/CPU0:eXR(config)# show run username lab1
    Thu Aug 8 09:15:17.967 UTC
    username lab1
    secret 10 $6$3N9/n/qGkQ2A5n/.$fjvvwhtDdlZJ45aECxC5j0tIoLgRd3kCafRtHNZ2zUt86x.wC59sG/.h/z9fhdBvF.k1Z5v2UDcVzTn0WGqO00
    !
    RP/0/RP0/CPU0:eXR(config)#

    ####  7.0.1 未満のバージョン ####
    
    RP/0/RP0/CPU0:eXR# conf
    Thu Aug 8 09:14:52.613 UTC
    RP/0/RP0/CPU0:ios(config)# username lab1 secret lab
    RP/0/RP0/CPU0:ios(config)# commit
    Thu Aug 8 09:15:07.694 UTC
    RP/0/RP0/CPU0:ios(config)# show run username lab1
    Thu Aug 8 09:15:17.967 UTC
    username lab1
    secret 5 $1$jnah$UboU0EVgzhBPiiYY8OjSD/
    !
    RP/0/RP0/CPU0:eXR(config)#

 

 

ダウングレード時に発生する事例および復旧方法

暗号化アルゴリズムの Default が変更されたことにより、発生しうる事象

■ Install activate は成功するも、再起動後に既存バージョンのまま起動

■ ダウングレードは成功するも、設定したパスワードでログインができない

■ XR-VM が起動しない

 

Install activate は成功するも、再起動後に既存のバージョンのまま起動

RP/0/RP0/CPU0:eXR# install activate ncs5500-mini-x-6.1.3
Mon Aug 24 01:24:51.471 UTC
Aug 24 01:24:53 Install operation 11 started by root:
  install activate pkg ncs5500-mini-x-6.1.3
Aug 24 01:24:54 Package list:
Aug 24 01:24:54     ncs5500-mini-x-6.1.3
This install operation will reload the system, continue?
 [yes/no]:[yes]
Aug 24 01:25:28 Install operation will continue in the background
Aug 24 01:31:32 Install operation 11 finished successfully RP/0/RP0/CPU0:Aug 24 01:31:32.361 UTC: sdr_instmgr[1201]: %INSTALL-INSTMGR-2-OPERATION_SUCCESS : Install operation 11 finished successfully RP/0/RP0/CPU0:Aug 24 01:31:32.693 UTC: sdr_instmgr[1201]: %INSTALL-INSTMGR-2-SYSTEM_RELOAD_INFO : The whole system will be reloaded to complete install operation 11 0/RP0/ADMIN0:Aug 24 01:32:30.999 UTC: shelf_mgr[2630]: %INFRA-SHELF_MGR-4-CARD_RELOAD : Reloading card 0/RP0 0/RP0/ADMIN0:Aug 24 01:32:37.217 UTC: vm_manager[2654]: %INFRA-VM_MANAGER-4-INFO : Info: vm_manager brought down VM default-sdr--2 Preparing system for backup. This may take a few minutes especially for large configurations. Status report: node0_RP0_CPU0: BACKUP INPROGRESS Status report: node0_RP0_CPU0: BACKUP HAS COMPLETED SUCCESSFULLY [Done] Stoping cgroup-init Stopping OpenBSD Secure Shell server: sshdinitctl: Unknown instance: Stopping system message bus: dbus. --------------- 再起動後 ------------------ os con0/RP0/CPU0 is now available Press RETURN to get started. RP/0/RP0/CPU0:eXR#show version Mon Aug 24 01:50:01.814 UTC Cisco IOS XR Software, Version 7.1.1 Copyright (c) 2013-2020 by Cisco Systems, Inc. Build Information: Built By : deenayak Built On : Mon Jan 27 01:36:26 PST 2020 Built Host : iox-lnx-076 Workspace : /auto/srcarchive15/prod/7.1.1/ncs5500/ws Version : 7.1.1 Location : /opt/cisco/XR/packages/ Label : 7.1.1 cisco NCS-5500 () processor System uptime is 8 minutes

上記のとおり、install activate 自体は特に問題ないように見られますが、以下の confd のログを確認すると内部的な configuration を管理するデータベースの更新に失敗したことがわかります。

sysadmin-vm:0_RSP1# show logging host /var/log/confd_daemon.log | i Upgrade
<ERR> 24-Aug-2020::01:25:36.200 host confd[5416]: - Internal error: CDB: Upgrade failed because of an internal error
<CRIT> 24-Aug-2020::01:25:36.200 host confd[5416]: - CDB boot error: Upgrade failed unexpectedly

sysadmin-vm:0_RSP1# show logging host /var/log/confd_developer.log | i failure
<INFO> 24-Aug-2020::01:25:36.200 host confd[5416]: devel-cdb position before/at failure: /aaa/authentication/users/user/{"cisco"}/password
sysadmin-vm:0_RSP1#

 

 

ダウングレードは成功するも、設定したパスワードにてログインができない

暗号化アルゴリズム の type-10 (SHA-512) がサポートされていないバージョンへのダウングレードにより、type-5 (MD5) にて暗号化されてしまい設定したパスワードでログインができません。

復旧方法

1. ダウングレード前の username の config から "10<space><sha512 hashtext>" の部分をコピーし、ダウングレード後のパスワード入力画面にペーストします。

RP/0/RSP0/CPU0:eXR# show run username
username lab
group root-lr
group cisco-support
secret 10 $6$b5uU0/VCcE1820/.$adTC6oFWjbdQVuF3IXK92xYnmAFkJs5SQOpue0BNNAPmwFvt3WBIDWPStYcEVoa3zxrsremFmb6y7IWdiuYx0/

2. ログイン画面にペースト

Username: lab
Password: 10 $6$b5uU0/VCcE1820/.$adTC6oFWjbdQVuF3IXK92xYnmAFkJs5SQOpue0BNNAPmwFvt3WBIDWPStYcEVoa3zxrsremFmb6y7IWdiuYx0/

3. ログインが成功したら、XR-VM と sysadmin-vm ともにパスワードの再設定を実施

RP/0/RP0/CPU0:eXR#conf
Fri Jul 19 12:56:45.848 UTC
RP/0/RP0/CPU0:eXR(config)# username lab secret lab
RP/0/RP0/CPU0:eXR(config)# commit
Fri Jul 19 12:57:07.320 UTC
RP/0/RP0/CPU0:eXR(config)# end
RP/0/RP0/CPU0:eXR# admin
Fri Jul 19 12:57:11.527 UTC
lab connected from 127.0.0.1 using console on sysadmin-vm:0_RP0
sysadmin-vm:0_RP0#
sysadmin-vm:0_RP0# conf
Fri Jul 19 12:57:20.220 UTC+00:00
Entering configuration mode terminal
sysadmin-vm:0_RP0(config)# aaa authentication users user lab password lab
Fri Jul 19 12:57:29.793 UTC+00:00
sysadmin-vm:0_RP0(config)# commit
Fri Jul 19 12:57:31.174 UTC+00:00
Commit complete.

もし、ダウングレード前の username 設定がない場合は、パスワードリカバリ以外の復旧方法はない為、
以下の記事を参照してください。
NCS5500: Disaster Recovery 方法 - USB ブート

 

 

XR-VM が起動しない

ダウングレード後に、sysadmin-vm / host os は起動しているが、XR-VM が起動しない

sysadmin-vm:0_RP0# show running-config sdr
Mon Aug 5 21:33:24.336 UTC
% No entries found.
sysadmin-vm:0_RP0#

同様に confd のログを確認すると暗号化アルゴリズムの変更に起因した問題と判断できます。

sysadmin-vm:0_RSP1# show logging host /var/log/confd_daemon.log | i Upgrade
<ERR> 5-Aug-2019::07:51:09.334 host confd[5129]: - Internal error: CDB: Upgrade failed because of an internal error
<CRIT> 5-Aug-2019::07:51:09.334 host confd[5129]: - CDB boot error: Upgrade failed unexpectedly

sysadmin-vm:0_RSP1# show logging host /var/log/confd_developer.log | i failure
<INFO> 5-Aug-2019::07:51:09.334 host confd[5129]: devel-cdb position before/at failure: /aaa/authentication/users/user/{"root"}/password
sysadmin-vm:0_RSP1#

復旧方法

1. sysadmin-vm 上で 任意の user を作成

sysadmin-vm:0_RP0# show running-config aaa authentication users
Thu Aug 8 12:46:01.148 UTC+00:00
% No entries found.
sysadmin-vm:0_RP0# conf
Thu Aug 8 12:46:03.298 UTC+00:00
Entering configuration mode terminal
sysadmin-vm:0_RP0(config)# aaa authentication users user lab password lab
Thu Aug 8 12:46:15.121 UTC+00:00
sysadmin-vm:0_RP0(config)# commit
Thu Aug 8 12:46:16.117 UTC+00:00
Commit complete.

2. 作成した user を削除

sysadmin-vm:0_RP0# show running-config aaa authentication users
Thu Aug 8 12:46:26.783 UTC+00:00
aaa authentication users user lab
uid 9000
gid 100
password $1$jnah$UboU0EVgzhBPiiYY8OjSD/
ssh_keydir /home/sshdir
homedir /home/homedir
!
sysadmin-vm:0_RP0# conf
Thu Aug 8 12:46:32.733 UTC+00:00
Entering configuration mode terminal
sysadmin-vm:0_RP0(config)# no aaa authentication users user lab
Thu Aug 8 12:46:38.641 UTC+00:00
sysadmin-vm:0_RP0(config)# commit
Thu Aug 8 12:46:39.649 UTC+00:00
Commit complete.
sysadmin-vm:0_RP0(config)# exit
Thu Aug 8 12:46:47.100 UTC+00:00
sysadmin-vm:0_RP0# show running-config aaa authentication users
Thu Aug 8 12:46:48.856 UTC+00:00
% No entries found.

3. show vm location <Active RP> にて XR-VM (default-sdr) の IP を確認

sysadmin-vm:0_RP0# show vm location 0/RP0
Thu Oct  22 02:46:56.587 UTC+00:00

Location: 0/RP0
Id                Status        IP Address       HB Sent/Recv
-------------------------------------------------------------
sysadmin          running       192.0.0.1        NA/NA
default-sdr       running       192.0.0.4        6178901/6178901
default-sdr       running       192.0.0.6        308942/308942
sysadmin-vm:0_RP0#

4. XR-VM にログインし、ユーザを作成します。

 このユーザは 手順 2 でユーザが削除されたため、sysadmin-vm に自動的に同期します。

sysadmin-vm:0_RP0# run ssh 192.0.0.4   <--  NCS6K, NCS560, ASR9000 などは 'run chvrf 0 ssh 192.0.0.4'
Thu Aug 8 12:47:19.304 UTC+00:00
Last login: Thu Aug 8 12:06:08 2019 from 192.0.0.1
[xr-vm_node0_RP0_CPU0:~]$ /pkg/sbin/exec -a


RP/0/RP0/CPU0:ios# conf
Thu Aug 8 12:47:36.602 UTC
RP/0/RP0/CPU0:ios(config)# username lab secret lab
RP/0/RP0/CPU0:ios(config)# username lab group root-lr
RP/0/RP0/CPU0:ios(config)# username lab group cisco-support
RP/0/RP0/CPU0:ios(config)# commit
Thu Aug 8 12:06:42.190 UTC
RP/0/RP0/CPU0:ios(config)# exit
RP/0/RP0/CPU0:ios# exit
Terminated
[xr-vm_node0_RP0_CPU0:~]$ exit
logout
Connection to 192.0.0.4 closed.

5. sysadmin-vm からルータを再起動します

sysadmin-vm:0_RP0#
System message at 2019-08-08 12:06:51...
Commit performed by aaad via tcp using system.
sysadmin-vm:0_RP0# show running-config aaa authentication users user
Thu Aug 8 12:06:59.214 UTC+00:00
aaa authentication users user lab
uid 9000
gid 100
password $1$jnah$UboU0EVgzhBPiiYY8OjSD/
ssh_keydir /var/confd/homes/lab/.ssh
homedir /var/confd/homes/lab
!
sysadmin-vm:0_RP0#
sysadmin-vm:0_RP0#
sysadmin-vm:0_RP0# reload all location 0/RP0
Fri Dec 13 07:00:11.797 UTC+00:00
Reload node ? [no,yes] yes
result All VMs graceful reload request on 0/RP0 succeeded.
sysadmin-vm:0_RP0# 0/RP0/ADMIN0:Dec 13 07:00:25.487 : vm_manager[3342]: %INFRA-VM_MANAGER-4-INFO : Info: vm_manager brought down VM default-sdr--2

 

回避策

1. XR-VM, sysadmin-VM のユーザコンフィグのバックアップ

2. ダウングレードを実施前に、XR-VM および sysadmin-VM に設定されたユーザーを削除します

RP/0/RP0/CPU0:ios# conf
Thu Aug 8 12:18:19.216 UTC
RP/0/RP0/CPU0:ios(config)# no username lab
RP/0/RP0/CPU0:ios(config)# no username root
RP/0/RP0/CPU0:ios(config)# commit
Thu Aug 8 12:18:34.446 UTC
RP/0/RP0/CPU0:ios(config)# exit

RP/0/RP0/CPU0:ios# admin
Tue Jan 28 06:43:34.138 UTC

lab connected from 10.0.2.16 using ssh on sysadmin-vm:0_RP0
sysadmin-vm:0_RP0# conf
Tue Jan 28 06:43:37.410 UTC+00:00
Entering configuration mode terminal
sysadmin-vm:0_RP0(config)# no aaa authentication users user lab
Tue Jan 28 06:43:45.160 UTC+00:00
sysadmin-vm:0_RP0(config)# commit
Tue Jan 28 06:43:47.434 UTC+00:00
Commit complete.

sysadmin-vm:0_RP0# show run aaa
Thu Aug 8 12:26:01.406 UTC+00:00
aaa authentication groups group aaa-r
gid 100
users %%__system_user__%%
!
aaa authentication groups group admin-r
gid 100
users %%__system_user__%%
--- snip ---

3. Install activate にてダウングレードを実施

4. 起動時に root-system のユーザを作成するプロンプトにてユーザを作成


補足情報

  • NCS560 の Release Note にも暗号化タイプが変更された旨、記載しています。
  • Version 7.x.x から 6.5.3 以降へダウングレードする場合は、7.x.x にて xr vm および sysadmin-vm にて type-5 で設定していればこの問題は発生しません。
    XR-VM 
    "username <user> secret 0 enc-type 5 <cleartext>"
    sysadmin-vm
     "aaa authentication users user <user> password <md5hash>"
  • 問題が解決しない場合は sysadmin-vm で以下のログを取得
    show tech-support aaa
    show tech-support confd
    show tech-support ctrace
    show tech-support ds
    show tech-support sdr_mgr
    show tech-support install
Content for Community-Ad



このウィジェットは表示できません。