簡介
本檔案介紹如何在StarOS版本20及更高版本上備份.chassissidfile(機箱ID)。
背景資訊
機箱金鑰用於加密和解密配置檔案中的加密密碼。如果兩個或多個機箱配置了相同的機箱金鑰值,則任何共用相同機箱金鑰值的機箱都可以解密加密的密碼。由此推論,給定的機箱金鑰值無法解密用其他機箱金鑰值加密的密碼。
機箱金鑰用於生成儲存在檔案中的機箱ID,並且用作保護配置檔案中的敏感資料(如密碼和機密)的主金鑰
對於版本15.0及更高版本,機箱ID是機箱金鑰的SHA256雜湊。使用者可通過CLI命令或快速設定嚮導設定機箱金鑰。如果機箱ID不存在,則使用本地MAC地址生成機箱ID。
對於19.2版及更高版本,使用者必須通過快速設定嚮導或CLI命令明確設定機箱金鑰。如果未設定,將生成使用本地MAC地址的預設機箱ID。如果沒有機箱金鑰(因此沒有機箱ID),敏感資料不會顯示在儲存的配置檔案中。
機箱ID是使用者輸入的機箱金鑰加上32位元組的安全隨機數的SHA256雜湊(以base36格式編碼)。這可以確保機箱金鑰和機箱ID具有32位元組的熵以保證金鑰安全。
如果機箱ID不可用,則配置檔案中的敏感資料的加密和解密不起作用。
問題:無法備份機箱金鑰值,無法在同一節點上針對同一配置運行。
由於從版本19.2開始的行為發生了變化,備份機箱金鑰值以能夠在同一節點上運行相同配置已不再足夠。
此外,由於配置的機箱金鑰附加了隨機32位元組數,因此始終會根據相同的機箱金鑰生成不同的機箱ID。
這就是現在隱藏cli命令chassis keycheck的原因,因為即使輸入相同的舊金鑰,該命令始終返回負值。
為了能夠將StarOS電腦從儲存的配置中恢復(例如,當/快閃記憶體驅動器的所有內容都丟失時),需要備份.chassisid(StarOS在其中儲存機箱ID)
機箱ID儲存在StarOS硬碟驅動器的/flash/.chassisid檔案中。備份此檔案的最簡單方法是通過某種檔案傳輸協定將其傳輸到備份伺服器:
您會看到.chassisid檔案是隱藏檔案,對於較新的版本,無法對隱藏檔案執行檔案管理操作。例如,此錯誤在版本20.0.1中顯示:
[local]sim-lte# copy /flash/.chassisid /flash/backup
Failure: source is not valid.
[local]sim-lte#
或:
[local]sim-lte# show file url /flash/.chassisid
Failure: file is not valid.
解決方案
仍然可以通過以下過程訪問此檔案:
步驟1.確保/flash/.chassisid中存在.chassisid檔案。
[local]sim-lte# dir /flash/.chassisid
-rw-rw-r-- 1 root root 53 Jun 23 10:59 /flash/.chassisid
8 /flash/.chassisid
Filesystem 1k-blocks Used Available Use% Mounted on
/var/run/storage/flash/part1 523992 192112 331880 37% /mnt/user/.auto/onboard/flash
步驟2.登入到隱藏模式。
[local]sim-lte# cli test-commands
Password:
Warning: Test commands enables internal testing and debugging commands
USE OF THIS MODE MAY CAUSE SIGNIFICANT SERVICE INTERRUPTION
[local]sim-lte#
注意:如果沒有配置隱藏模式密碼,請使用以下命令進行配置:
[local]sim-lte(config)# tech-support test-commands password <password>
步驟3.啟動debug shell。
[local]sim-lte# debug shell
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Cisco Systems QvPC-SI Intelligent Mobile Gateway
[No authentication; running a login shell]
步驟4.移入/flash目錄。驗證檔案是否存在。
sim-lte:ssi#
sim-lte:ssi# ls
bin cdrom1 hd-raid param rmm1 tmp usr
boot dev include pcmcia1 sbin usb1 var
boot1 etc lib proc sftp usb2 vr
boot2 flash mnt records sys usb3
sim-lte:ssi#
sim-lte:ssi# cd flash
sim-lte:ssi# ls -a
. ldlinux.sys restart_file_cntr.txt
.. module.sys sftp
.chassisid patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
步驟5.將隱藏檔案複製到非隱藏檔案。
sim-lte:ssi# cp .chassisid chassisid.backup
sim-lte:ssi#
sim-lte:ssi#
sim-lte:ssi# ls
chassisid.backup patch staros.bin
crashlog2 persistdump syslinux.ban
crsh2 rc.local syslinux.cfg
ldlinux.sys restart_file_cntr.txt
module.sys sftp
步驟6.退出debug shell。您應該能夠傳輸建立的備份檔案而不出現任何問題。
sim-lte:ssi# exit
Connection closed by foreign host.
[local]sim-lte#
[local]sim-lte# copy /flash/chassisid.backup /flash/chasisid.backup2
********************************************************************************
Transferred 53 bytes in 0.003 seconds (17.3 KB/sec)
[local]sim-lte#
[local]sim-lte#
[local]sim-lte# show file url /flash/chassisid.backup
1ke03dqfdb9dw3kds7vdslvuls3jnop8yj41qyh29w7urhno4ya6
Ultra-M升級程式的更新
將N5.1升級到N5.5將破壞vpc例項和OSP。在開始升級過程之前,如果要重複使用,則應備份vPC配置檔案和機箱ID。
步驟1.備份chassisid和最後一個配置檔案:
bash-2.05b# ls -alrt
-rwxrwxr-x 1 root root 53 Jul 11 14:43 .chassisid
-rwxrwxr-x 1 root root 381973 Jul 11 14:41 GGN-2017-07-28.cfg
from copied file :
cpedrode@CPEDRODE-xxxxx:~/Desktop$ more 2017-07-28.chassis-id
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5^@
注意:配置檔案將具有來自.chassisid的派生金鑰:
[local]GGN# show configuration url /flash/GGN-2017-07-28.cfg | more
Monday July 11 14:59:34 CEST 2016
#!$$ StarOS V21.1 Chassis c95bf13f030f6f68cae4e370b2d2482e
config
步驟2.通過Ultra-M升級進行
步驟3.升級系統並啟動StarOS vpc CF後,將chassisid(常規檔案)和配置檔案(確保也更改了正確的O&M ip地址)複製到/flash/sftp(StarOS >R20)
步驟4. 在「test-command」模式下從/flash備份隱藏的預設.chassisid檔案並將其刪除。
步驟5.將chassisid檔案從/flash/sftp以「.chassisid」形式複製到隱藏模式下的/flash中。同時複製配置檔案
注意:您可以檢查派生的金鑰發佈cli - show configuration url /flash/xxxxxx.cfg | 進行更多,並將其與備份組態檔進行比較
步驟6。新增指向新配置檔案的引導優先順序
注意:此時StarOS將給出一個錯誤:
[local]GGN(config)# boot system priority 6 image /flash/staros.bin config /flash/GGN-2017-07-28.cfg
Monday July 28 08:45:28 EDT 2017
Warning: Configuration was generated using a different chassis key, some encrypted information may not
be valid
如果按照正確的步驟操作,您將獲得一個配置檔案,其機箱派生金鑰等於備份配置檔案,而chassisid等於備份配置檔案。
請注意,當您檢視chassisid檔案時,它將附加PS1提示:
bash-2.05b# cat .chassisid
1swbwpd8fd8ca3kf33kn6qxb2h33ihfkqu1tu7x1ndf82znag1b5bash-2.05b#
步驟7. 重新啟動vPC
此時,系統應重新啟動,您可使用備份配置檔案的登入憑證。