10-自動配置
本章節下載: 10-自動配置 (519.83 KB)
自動配置功能是指設備在啟動時沒有指定配置文件或指定的配置文件不存在時,嚐試自動獲取並執行配置文件。網絡管理員隻需將配置文件保存在指定的文件服務器上,設備啟動時可以自動從文件服務器上獲取並執行配置文件,實現自動配置,從而簡化了網絡配置,大大降低了網絡管理員的工作量,便於實現對設備的集中管理。
自動配置的實現方式如表1-1所示:
配置方式 |
配置文件保存位置 |
應用場景 |
服務器自動配置 |
文件服務器 |
網絡規模較大,設備位置相對分散 |
U盤自動配置 |
U盤 |
· 小規模網絡:設備位置相對集中且缺少多餘設備作為文件服務器 · 大規模網絡:僅有少量設備的配置需要更新 |
設備空配置啟動時,首先自動檢查存儲介質的根目錄下是否存在autocfg.py、autocfg.tcl 或autocfg.cfg配置文件。如果存在,則直接執行此文件;如果不存在,則通過自動從文件服務器上獲取並執行配置腳本文件或配置文件,實現自動配置功能。autocfg.py、autocfg.tcl和autocfg.cfg配置文件同時隻能在設備上存在一個。
服務器自動配置是指在一個網絡中存在文件服務器、DHCP服務器和DNS服務器的情況下,新加入或無配置文件的設備上電啟動時,設備會自動運行DHCP Client服務,通過DHCP Server獲取配置文件所在的URL地址或TFTP Server IP、TFTP Server name以及配置文件的文件名。最後從對應文件服務器(HTTP、TFTP、SFTP或FTP)下載配置文件進行配置加載並啟動的過程。
服務器自動配置支持在IPv4和IPv6網絡中實現,兩種網絡配置思路相同,本節僅以IPv4網絡配置為例。
服務器自動配置的典型組網環境如圖1-1所示。設備需要在DHCP服務器、文件服務器(TFTP服務器、HTTP服務器、SFTP服務器或FTP服務器)和DNS服務器的配合下,實現服務器自動配置功能。
配置文件服務器 |
||
準備文件 |
||
配置DHCP服務器 |
必選 |
|
配置DNS服務器 |
||
配置網關 |
可選 |
|
選擇接口獲取配置文件 |
必選 |
|
完成自動配置過程 |
必選 |
設備可以通過HTTP、TFTP、SFTP或FTP服務器獲取配置文件,管理員需要根據選用的方式在文件服務器上配置相應的HTTP服務、TFTP服務、SFTP服務或FTP服務。
配置文件包括特定配置文件、部分或全部公用配置文件以及缺省配置文件(device.cfg)三種類型,如表1-2所示。
配置文件類型 |
適用的設備 |
文件名要求 |
支持的文件服務器 |
特定配置文件 |
具有特定配置需求的設備 |
配置文件名.cfg 為了方便辨識文件名,盡量不要使用包含空格的配置文件名。 |
· HTTP服務器 · TFTP服務器 · SFTP服務器 · FTP服務器 |
部分或全部共用配置文件 |
配置需求全部或者部分相同的設備 |
配置文件名.cfg “配置文件名”可以是任意文件名。 |
· HTTP服務器 · TFTP服務器 · SFTP服務器 · FTP服務器 |
缺省配置文件 |
其它設備 包含一般設備啟動的公用配置信息 |
device.cfg |
TFTP服務器 |
管理員可以根據網絡中不同設備的需求和文件服務器類型選擇配置:
(1) 在文件服務器上為每個具有特定配置需求的設備準備特定配置文件。
(2) 在文件服務器上以.cfg為後綴名為部分或全部具有相同配置的設備保存一個配置文件。
(3) 在TFTP服務器上保存名為device.cfg的缺省配置文件為既沒有特定配置文件也沒有部分或全部共用配置文件的設備提供缺省配置。
主機名文件的文件名為“network.cfg”。主機名文件用來保存主機IP地址與主機名稱的映射關係,需要上傳到TFTP服務器。管理員需按照以下格式手工定義主機IP地址與主機名稱的映射關係:
ip host host-name ip-address
例如,主機名文件中可以包括以下內容:
ip host host1 101.101.101.101
ip host host2 101.101.101.102
ip host client1 101.101.101.103
ip host client2 101.101.101.104
需要注意的是,主機名文件中保存的主機名稱是管理員為了更好地管理自動配置而設定的,需要與主機的配置文件名保持一致。增加新的對應關係時必須換行填寫。
配置腳本可以實現自動更新版本、下發配置等功能。目前設備支持的配置腳本包括Python腳本和Tcl腳本。Python腳本使用的文件後綴固定為py,TCL腳本使用的文件後綴固定為tcl。
使用Tcl腳本配置文件對設備進行自動配置時,若配置文件中的命令行錯誤(例如:命令行拚寫錯誤、視圖錯誤、設備不支持所配置的命令等),那麼設備在執行到錯誤命令行時將直接中斷自動配置操作。
使用Python腳本配置文件對設備進行自動配置時,設備處於啟動階段(非穩定運行狀態),所以,Python腳本中請不要使用display system stable state命令顯示結果為Stable來作為執行動作的判斷條件。
當管理員使用配置腳本下發配置時:
· 在文件服務器上隻支持配置特定配置腳本和部分或全部共用配置腳本兩種形式。
· 在文件服務器上不支持使用主機名文件提供主機名和IP地址的對應關係,也不支持缺省配置腳本。
關於Python腳本的詳細介紹,請參見“基礎配置指導”中的“Python”。關於Tcl腳本的詳細介紹,請參見“基礎配置指導”中的“Tcl”。
DHCP服務器為執行服務器自動配置的設備分配IP地址,並向設備通告獲取自動配置文件或配置腳本的途徑。
DHCP服務器可以根據管理員需要的配置文件類型,進行相應的配置(下發配置腳本和下發配置文件實現一致,下麵以下發配置文件為例):
· 如果管理員為每台設備分配特定配置文件,則需要在DHCP服務器上配置靜態綁定關係,為每台設備分配特定的IP地址和配置文件名。由於一個地址池下隻能配置一條配置文件名的命令,所以DHCP服務器上每一個地址池視圖隻能配置一個靜態綁定關係。
· 如果管理員為局域網內的部分設備分配相同的配置文件,可以在DHCP服務器上為使用部分共用配置文件的設備配置靜態綁定關係,並指定文件服務器和部分共用配置文件名。這時,這部分靜態綁定關係需要在同一個DHCP地址池中配置。也可以使用動態分配IP地址的方式,管理員需要劃分合適的動態地址段,為這部分設備分配IP地址,並指定文件服務器和部分共用配置文件名。
· 如果管理員為局域網內的所有設備分配相同的配置文件,則需要在DHCP服務器上配置動態分配IP地址的方式。為設備動態分配IP地址的同時,分配全部共用配置文件名。如果采用這種方式,全部共用配置文件中隻能包含這些設備共有的配置,每個設備特有的配置還需要其他方式完成(如管理員使用Telnet登錄到設備上手工配置)。
以上三種分配方式可以同時在一台DHCP服務器上配置。
配置DHCP客戶端使用的遠程啟動配置文件時:
· 對於TFTP服務器需要指定啟動文件名,如果啟動文件名中有特殊字符時,需要依據RFC規範進行轉譯後才能使用。
· 對於HTTP服務器需要指定HTTP形式的URL,形式為http://HTTP服務器IP地址:端口號/路徑/文件名。如果URL中的路徑或文件名中有特殊字符時,需要依據RFC規範進行轉譯後才能使用。如果不指定端口號,則表示使用默認端口號。
· 對於FTP服務器需要指定FTP形式的URL,形式為ftp://用戶名:密碼@FTP服務器IP地址:端口號/路徑/文件名。如果URL中的用戶名、密碼、路徑或文件名中有特殊字符時,需要依據RFC規範進行轉譯後才能使用。如果不指定端口號,則表示使用默認端口號,如果不指定路徑,則表示使用服務器的根目錄。
· 對於SFTP服務器需要指定SFTP形式的URL,形式為sftp://用戶名:密碼@SFTP服務器IP地址:端口號/路徑/文件名。如果URL中的用戶名、密碼、路徑或文件名中有特殊字符時,需要依據RFC規範進行轉譯後才能使用。如果不指定端口號,則表示使用默認端口號,如果不指定路徑,則表示使用服務器的根目錄。
DHCP服務器可以指導DHCP客戶端從哪台文件服務器上獲取配置文件或配置腳本。
如果管理員使用HTTP服務器下發配置文件或配置腳本,則DHCP服務器的地址池配置如下。
表1-3 使用HTTP服務器時的DHCP服務器的地址池配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟DHCP服務 |
dhcp enable |
缺省情況下,DHCP服務處於關閉狀態 |
創建DHCP地址池,並進入DHCP地址池視圖 |
dhcp server ip-pool pool-name |
缺省情況下,設備上不存在DHCP地址池 |
配置DHCP地址池動態分配的主網段 |
network network-address [ mask-length | mask mask ] |
二者選其一 缺省情況下,未配置動態分配的主網段和靜態地址綁定 多次執行static-bind ip-address命令,可以配置多個靜態地址綁定 同一地址隻能綁定給一個客戶端。不允許通過重複執行static-bind ip-address命令的方式修改IP地址與客戶端的綁定關係。隻有刪除了某個地址的綁定關係,才能將該地址與其他客戶端綁定 |
配置靜態地址綁定 |
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] } |
|
配置DHCP客戶端使用的遠程啟動配置文件的HTTP形式URL |
bootfile-name url |
缺省情況下,未配置DHCP客戶端使用的遠程啟動配置文件的HTTP形式URL |
如果管理員使用SFTP服務器下發配置文件或配置腳本,則DHCP服務器的地址池配置如下。
表1-4 使用SFTP服務器時的DHCP服務器的地址池配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟DHCP服務 |
dhcp enable |
缺省情況下,DHCP服務處於關閉狀態 |
創建DHCP地址池,並進入DHCP地址池視圖 |
dhcp server ip-pool pool-name |
缺省情況下,設備上不存在DHCP地址池 |
配置DHCP地址池動態分配的主網段 |
network network-address [ mask-length | mask mask ] |
二者選其一 缺省情況下,未配置動態分配的主網段和靜態地址綁定 多次執行static-bind ip-address命令,可以配置多個靜態地址綁定 同一地址隻能綁定給一個客戶端。不允許通過重複執行static-bind ip-address命令的方式修改IP地址與客戶端的綁定關係。隻有刪除了某個地址的綁定關係,才能將該地址與其他客戶端綁定 |
配置靜態地址綁定 |
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] } |
|
配置DHCP客戶端使用的遠程啟動配置文件的SFTP形式URL |
bootfile-name url |
缺省情況下,未配置DHCP客戶端使用的遠程啟動配置文件的SFTP形式URL |
如果管理員使用FTP服務器下發配置文件或配置腳本,則DHCP服務器的地址池配置如下。
表1-5 使用FTP服務器時的DHCP服務器的地址池配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟DHCP服務 |
dhcp enable |
缺省情況下,DHCP服務處於關閉狀態 |
創建DHCP地址池,並進入DHCP地址池視圖 |
dhcp server ip-pool pool-name |
缺省情況下,設備上不存在DHCP地址池 |
配置DHCP地址池動態分配的主網段 |
network network-address [ mask-length | mask mask ] |
二者選其一 缺省情況下,未配置動態分配的主網段和靜態地址綁定 多次執行static-bind ip-address命令,可以配置多個靜態地址綁定 同一地址隻能綁定給一個客戶端。不允許通過重複執行static-bind ip-address命令的方式修改IP地址與客戶端的綁定關係。隻有刪除了某個地址的綁定關係,才能將該地址與其他客戶端綁定 |
配置靜態地址綁定 |
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] } |
|
配置DHCP客戶端使用的遠程啟動配置文件的FTP形式URL |
bootfile-name url |
缺省情況下,未配置DHCP客戶端使用的遠程啟動配置文件的FTP形式URL |
如果管理員使用TFTP服務器下發配置文件和配置腳本,則DHCP服務器地址池配置如下。
表1-6 使用TFTP服務器時的DHCP服務器的地址池配置
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟DHCP服務 |
dhcp enable |
缺省情況下,DHCP服務處於關閉狀態 |
創建DHCP地址池,並進入DHCP地址池視圖 |
dhcp server ip-pool pool-name |
缺省情況下,設備上不存在DHCP地址池 |
配置DHCP地址池動態分配的主網段 |
network network-address [ mask-length | mask mask ] |
二者選其一 缺省情況下,未配置動態分配的主網段和靜態地址綁定 多次執行static-bind ip-address命令,可以配置多個靜態地址綁定 同一地址隻能綁定給一個客戶端。不允許通過重複執行static-bind ip-address命令的方式修改IP地址與客戶端的綁定關係。隻有刪除了某個地址的綁定關係,才能將該地址與其他客戶端綁定 |
配置靜態地址綁定 |
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] } |
|
配置DHCP客戶端使用的TFTP服務器地址 |
tftp-server ip-address ip-address |
二者至少選其一 缺省情況下,未配置DHCP客戶端使用的TFTP服務器地址和TFTP服務器名 在DHCP服務器上可以使用主機名或IP地址的形式來指定TFTP服務器。如果使用主機名的方式指定,則需要在網絡中架設DNS服務器 |
配置DHCP客戶端使用的TFTP服務器名 |
tftp-server domain-name domain-name |
|
配置DHCP客戶端使用的啟動配置文件名 |
bootfile-name bootfile-name |
缺省情況下,未配置DHCP客戶端使用的啟動配置文件名 |
在使用服務器自動配置功能時,在如下兩種情況時,管理員需要配置DNS服務器:
· 當TFTP服務器上不存在主機名文件時,執行服務器自動配置的設備可以通過DNS服務器將自己的IP地址解析為主機名,以便從TFTP服務器獲取到配置文件;
· 如果設備從DHCP應答報文中獲取到文件服務器(HTTP、TFTP、SFTP或FTP)的域名,設備還可以通過DNS服務器將文件服務器(HTTP、TFTP、SFTP或FTP)的域名解析為文件服務器的IP地址。
如果DHCP服務器、文件服務器和DNS服務器與執行服務器自動配置的設備不在同一網段,則需要部署網關設備,使得各個服務器和設備之間路由可達,並在網關上配置DHCP中繼功能。
設備以廣播方式向配置文件服務器發送請求消息時,由於廣播報文隻能在本網段內傳播,如果執行服務器自動配置的設備與配置文件服務器不在同一個網段,則需要在網關設備上配置UDP Helper功能,將廣播報文轉換成單播報文,轉發給指定的配置文件服務器。有關UDP Helper功能的詳細介紹,請參見“三層技術-IP業務配置指導”中的“UDP-helper”。
設備在進行自動配置時,係統按照如下規則選取符合條件的接口:
(1) 若有處於鏈路狀態UP的管理以太網接口,則優先選取管理以太網接口;
(2) 若沒有處於鏈路狀態UP的管理以太網接口,有處於鏈路狀態UP的二層以太網接口,則選取默認VLAN對應的VLAN接口;
(3) 若沒有處於鏈路狀態UP的二層以太網接口,則按照接口類型字典序、接口編號從小到大的順序依次選擇處於鏈路狀態UP的三層以太網接口;
(4) 若沒有處於鏈路狀態UP的三層以太網接口,則在30秒後開始下次服務器自動配置接口選擇過程。
建議管理員將設備的管理以太網接口連入網絡中,這樣可以加快服務器自動配置的速度。如果設備當前不存在配置文件,設備即可自動執行服務器自動配置流程。
獲取並執行配置文件成功,則整個服務器自動配置過程結束;如果執行配置文件失敗,設備會在30秒後開始執行下一次服務器自動配置流程,管理員也可以通過<CTRL+C>或者<CTRL+D>手工終止服務器自動配置過程。
需要注意的是:設備通過服務器自動配置獲取到的配置文件執行完成後,該文件將被刪除,不會在設備上保存。建議在配置文件執行完成後,管理員在設備上執行save命令保存配置。否則,設備重啟後還需重新執行服務器自動配置過程。save命令的詳細介紹請參見“基礎配置命令參考”中的“配置文件管理”。
管理員將配置文件保存在U盤上,設備在啟動時可以自動從U盤上獲取並執行配置文件,實現自動配置功能。
設備從U盤獲取到配置文件後,將比較該配置文件與設備上的當前主配置文件內容是否相同:
· 如果文件內容相同,設備將直接使用當前主用配置文件,不使用U盤上的配置文件。
· 如果文件內容不相同,則設備將U盤中的配置文件複製到本地,並執行該配置文件。
設備本地存儲中有重名配置文件時,根據本地配置文件的屬性采用如下處理方式:
¡ 如果本地重名配置文件為當前主用配置文件,則設備將該文件以“原名_bak.cfg”為名稱另存。
¡ 如果本地重名配置文件不是當前主用配置文件,則設備直接使用U盤中的配置文件覆蓋本地重名文件。
若設備執行U盤配置文件成功,設置從U盤拷貝的配置文件為主下次啟動的配置文件。
若設備執行U盤配置文件中的某條命令失敗時,設備會忽略U盤配置文件中的所有配置,使用設備之前保存的配置文件;如果設備之前未保存配置文件,則設備空配置啟動。
U盤開局分為通過索引文件開局和不通過索引文件開局兩種方式:
· 不通過索引文件開局,隻能從U盤上獲取並執行配置文件,不能同時安裝加載軟件包。
· 通過索引文件開局,可以在從U盤上獲取並執行配置文件的同時安裝加載軟件包,另外還可以配置一些高級功能。通過索引文件開局前,用戶要先製作名稱必須為smart_config.ini的索引文件並將索引文件保存在U盤根目錄下。把需要加載的開局文件保存至索引文件指定的目錄下。
僅支持USB口的設備支持本功能。
如果使用索引文件開局,用戶可以在PC上編輯U盤開局索引文件,具體步驟如下:
(1) 新建一個空的文本文檔。
(2) 按照U盤開局索引文件格式編輯文件內容。
(3) 將此文本文檔另存為“smart_config.ini”。
(4) 將索引文件smart_config.ini拷貝至U盤,此文件必須保存至U盤根目錄下。
索引文件的格式如下所示:
BEGIN LSW
[GLOBAL CONFIG]
TIMESN=
AUTOOVERWRITEFILE=
AUTODELFILE=
ACTIVEMODE=
[DEVICE DESCRIPTION]
OPTION=
MAC=
SN=
AUTODELFILE=
ACTIVEMODE=
DEVICETYPE=
DIRECTORY=
SYSTEM-CONFIG=
SYSTEM-IPE=
SYSTEM-BOOT-BIN=
SYSTEM-SYSTEM-BIN=
SYSTEM-FEATURE-BIN=
SYSTEM-PATCH-BIN=
END LSW
表1-7 smart_config.ini索引文件字段含義
字段 |
含義 |
BEGIN LSW |
必選字段。起始標誌,此字段不能修改 |
[GLOBAL CONFIG] |
必選字段。全局配置起始標誌,此字段不能修改 |
TIMESN |
必選字段。數據變更時間標誌,字符串格式,為1~16個字符的字符串,不能包含空格。建議格式:年月日.時分秒。 例如,2011年06月28日08時09分10秒,可設置為TIMESN=20110628.080910。 每個TIMESN對應某台升級的設備。在U盤開局過程中,設備在完成索引文件中自己對應的部分後會在本地記錄此TIMESN。再次進行U盤開局時,若設備本地記錄的TIMESN與索引文件中的TIMESN相同時,則設備不會進行U盤開局。TIMESN用於部分設備升級失敗的情況,不修改TIMESN再次使用U盤開局時會自動跳過已成功升級的設備 |
AUTOOVERWRITEFILE |
可選字段。表示從U盤拷貝開局文件到設備上時,當設備上有同名文件時,是否覆蓋設備上的同名開局文件,取值為: · YES:覆蓋 · NO:不覆蓋 缺省情況下,AUTOOVERWRITEFILE為YES。如果該字段不存在、為空或是不合法值,均按照缺省情況處理 |
AUTODELFILE |
可選字段。表示是否允許升級後自動刪除舊版本的軟件包,取值為: · YES:刪除 · NO:不刪除 缺省情況下,AUTODELFILE為NO。如果該字段不存在、為空或是不合法值,均按照缺省情況處理 |
ACTIVEMODE |
可選字段。表示文件拷貝完成後的文件激活方式,取值為: · DEFAULT:按照各個文件的默認方式激活。其中,係統軟件、配置文件默認激活方式是重啟設備;補丁文件默認激活方式是不重啟設備,在線激活 · REBOOT:采用重啟設備的方式激活 缺省情況下,ACTIVEMODE為DEFAULT。如果該字段不存在、為空或是不合法值,均表示為缺省情況 有兩種ACTIVEMODE字段:全局字段和單台設備字段 · 位於[GLOBAL CONFIG]字段內的是全局字段,位於[DEVICEn DESCRIPTION]內的是單台設備字段 · 如果單台設備設置了此字段的值為DEFAULT或RELOAD,則以單台設備設置的生效。如果單台設備沒有設置此字段或者此字段為空,則以全局設置的生效 |
[DEVICE DESCRIPTION] |
必選字段。單台設備文件信息描述起始標誌 |
OPTION |
可選字段。單台設備文件信息有效標誌,表示該設備文件信息是否有效,取值為: · OK:有效 · NOK:無效,不配置該設備 缺省情況下,OPTION為OK。如果該字段不存在、為空或是不合法值,均按照缺省情況處理 |
SN |
可選字段。設備絲印。如果SN=DEFAULT,表示不匹配SN序列號,否則需要和匹配設備的SN 缺省情況下,SN為DEFAULT。如果該字段不存在或為空,則按照缺省情況處理 |
MAC |
可選字段。設備MAC地址,格式為:XXXX-XXXX-XXXX,X為十六進製數。該字段不存在或者取值為空,或者取值為DEFAULT,均表示不匹配MAC地址 |
DEVICETYPE |
可選字段。表示與設備的類型匹配。設備的類型與官網上下載的IPE包的前綴名相同。如果DEVICETYPE=DEFAULT,表示不匹配設備類型。否則需要和設備的類型匹配 缺省情況下,DEVICETYPE為DEFAULT。如果該字段不存在或為空,則按照缺省情況處理 |
DIRECTORY |
可選字段。軟件包及配置文件在U盤中存放的目錄 · 此字段為空或不存在時,表示軟件包及配置文件位於U盤根目錄下 · DIRECTORY=/abc,表示軟件包及配置文件位於U盤的abc文件夾下 缺省情況下,DIRECTORY字段為空 索引文件中文件目錄的格式必須與設備的文件係統一致: · 目錄深度小於等於4級。目錄必須以“/”開頭,每一級目錄以“/”隔開,但不能以“/”結束,例如/abc/test是合法目錄,/abc/test/則是非法目錄 · 每一級目錄的字符串長度範圍是1~15 · 目錄名使用的字符不可以是空格、“~” 、“*” 、“/” 、“\” 、“:” 、“'” 、“"” 、“<” 、“>” 、“|” 、“?” 、“[” 、“]”、“%” 等字符,目錄名稱不區分大小寫 |
SYSTEM-CONFIG |
可選字段。配置文件名稱,後綴名為“.cfg” |
SYSTEM-IPE |
可選字段。IPE文件名稱,後綴名為“.ipe” |
SYSTEM-BOOT-BIN |
可選字段。Boot文件名稱,後綴名為“.bin” |
SYSTEM-SYSTEM-BIN |
可選字段。System文件名稱,後綴名為“.bin” |
SYSTEM-FEATURE-BIN |
可選字段。Feature文件名稱,後綴名為“.bin” |
SYSTEM-PATCH-BIN |
可選字段。補丁文件名稱,後綴名為“.bin” |
END LSW |
必選字段。文件結束標誌 |
編輯U盤開局索引文件時,請確保索引文件內容的正確性。待升級的設備將在索引文件中按DEVICE從上往下進行匹配,匹配的優先級為:MAC > SN > DEVICETYPE。一旦匹配上,則按匹配上的DEVICE信息進行加載文件,如果此過程出錯,將終止整個U盤開局進程,並輸出錯誤報告。成功升級的設備不會回滾配置。
通過索引文件開局時,設備會根據索引文件確認需要加載的文件:
(5) 第一步確認索引文件中是否指定了IPE文件:如果在索引文件中指定了IPE文件,則確認加載IPE文件,然後跳過第二步進行第三步;如果在索引文件中沒有指定IPE文件,則設備會跳過第一步進行第二步。
(6) 第二步確認索引文件中是否指定了Boot、System和Feature文件:如果在索引文件中指定了Boot、System和Feature文件,則確認加載對應的文件,其中Boot和System文件為必選,Feature文件為可選。確認加載對應的文件後會進行第三步。如果在索引文件中沒有指定Boot、System和Feature文件,則跳過第二步並進行第三步。
(7) 第三步確認索引文件中是否指定了Patch文件:如果在索引文件中指定了Patch文件,則確認加載Patch文件,然後跳過第三步進行第四步;如果在索引文件中沒有指定Patch文件,則設備會跳過第三步進行第四步。
(8) 第四步確認索引文件中是否指定了CFG配置文件:如果在索引文件中是否指定了CFG配置文件則確認加載CFG配置文件。在進行第四步後設備會開始加載需要加載的文件
在進行第四步後設備會開始加載需要加載的文件,如果加載失敗,則設備會終止U盤開局進程。
· 編寫索引文件時,按照固定格式輸入一行後必須回車換行後再進行新內容的編寫,編寫完成請注意保存索引文件。
· 如果某項關鍵字沒有匹配或者沒有搜索到,則認為該項的參數內容為空。
· 當設備的“GLOBAL CONFIG”中的全局配置與匹配的“DEVICE DESCRIPTION”中的單台設備配置的相同字段的配置不同時,以“DEVICE DESCRIPTION”中的配置為準。
(1) 準備一個沒有分區的U盤。
(2) 查詢設備的序列號。
display device manuinfo
該命令的詳細介紹請參見“基礎配置命令參考”中的“設備管理”。
(3) 創建配置文件名為“設備序列號.cfg”或“autodeploy.cfg”的配置文件,並保存在U盤的根目錄中。
若U盤中同時存在“設備序列號.cfg”和“autodeploy.cfg”文件時,設備優先使用配置文件“設備序列號.cfg”。
為了實現設備可以通過U盤獲取到配置文件,管理員需要執行以下步驟:
(1) 由於設備缺省情況下開啟了U盤自動配置功能,設備啟動後會自動從U盤獲取配置文件,並執行該配置文件。如果設備未開啟U盤自動配置功能,則需要執行autodeploy udisk enable命令開啟該功能,再重啟設備。
表1-8 開啟U盤自動配置功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟U盤自動配置功能 |
autodeploy udisk enable |
缺省情況下,U盤自動配置功能處於開啟狀態 |
保存當前配置 |
save |
若設備預先關閉了U盤自動配置功能,則配置本命令後需要保存配置並重啟設備後才能生效。 |
(2) 設備隻支持單主控板的U盤自動配置,在多主控板的情況下,拔出多餘的主控板。
(3) 不通過索引文件開局時將保存有配置文件的U盤插入設備的USB1接口,即usba0:。通過索引文件開局時可以將U盤插入設備主用主控板的任何USB接口。
(4) 重啟設備。
如果配置文件下發失敗,設備會把失敗的日誌寫到U盤根目錄下,日誌文件名為“配置文件全名.log”。管理員可以根據日誌信息進行問題定位和處理。
(5) 設備啟動完成後,可以執行display current-configuration命令查看U盤中的配置是否已正確加載,該命令的詳細介紹請參見“基礎配置命令參考”中的“配置文件管理”。
(6) U盤自動配置完成後需拔出U盤,否則設備重啟時,配置會被U盤中保存的配置文件覆蓋。
(7) 把拔出的主控板插入設備。
(8) 配置文件會從主用主控板同步到備用主控板。
如圖1-2所示,某公司下屬兩個部門:市場部門和研發部門,兩個部門通過不同的網關設備連入網絡。要求連接終端主機的設備Switch D、Switch E、Switch F和Switch G執行自動配置功能,啟動後自動獲取並執行配置文件,以實現:
· 網絡管理員能夠通過Telnet方式登錄、控製設備。
· 登錄設備時需要進行認證,且登錄不同部門的設備使用的用戶名和密碼不能相同,以提供一定的安全保證。
具體組網情況如下:
· Switch A作為DHCP服務器,分別為市場部和研發部的主機分配IP地址和其他網絡配置參數。
· 網關Switch B和Switch C作為DHCP中繼設備。
· 一台運行TFTP管理軟件的TFTP服務器上保存配置文件。
(1) Switch A的配置
# 配置接口IP地址
<SwitchA> system-view
[SwitchA] vlan 2
[SwitchA-vlan2] port gigabitethernet 1/0/1
[SwitchA-vlan2] quit
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 192.168.1.42 24
[SwitchA-Vlan-interface2] quit
# 開啟DHCP服務。
[SwitchA] dhcp enable
# 配置VLAN接口2工作在DHCP服務器模式。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] dhcp select server
[SwitchA-Vlan-interface2] quit
# 配置DHCP地址池market,為市場部動態分配192.168.2.0/24網段的地址,並指定TFTP server地址、網關地址和配置文件名。
[SwitchA] dhcp server ip-pool market
[SwitchA-dhcp-pool-market] network 192.168.2.0 24
[SwitchA-dhcp-pool-market] tftp-server ip-address 192.168.1.40
[SwitchA-dhcp-pool-market] gateway-list 192.168.2.1
[SwitchA-dhcp-pool-market] bootfile-name market.cfg
[SwitchA-dhcp-pool-market] quit
# 配置DHCP地址池rd,為研發部動態分配192.168.3.0/24網段的地址,並指定TFTP server地址、網關地址和配置文件名。
[SwitchA] dhcp server ip-pool rd
[SwitchA-dhcp-pool-rd] network 192.168.3.0 24
[SwitchA-dhcp-pool-rd] tftp-server ip-address 192.168.1.40
[SwitchA-dhcp-pool-rd] gateway-list 192.168.3.1
[SwitchA-dhcp-pool-rd] bootfile-name rd.cfg
[SwitchA-dhcp-pool-rd] quit
# 配置到達DHCP中繼的靜態路由。
[SwitchA] ip route-static 192.168.2.0 24 192.168.1.41
[SwitchA] ip route-static 192.168.3.0 24 192.168.1.43
[SwitchA] quit
(2) Switch B的配置
# 配置接口的IP地址
<SwitchB> system-view
[SwitchB] vlan 2
[SwitchB-vlan2] port gigabitethernet 1/0/3
[SwitchB-vlan2] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 192.168.1.41 24
[SwitchB-Vlan-interface2] quit
[SwitchB] vlan 3
[SwitchB-vlan3] port gigabitethernet 1/0/1
[SwitchB-vlan3] port gigabitethernet 1/0/2
[SwitchB-vlan3] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] ip address 192.168.2.1 24
[SwitchB-Vlan-interface3] quit
# 開啟DHCP服務。
[SwitchB] dhcp enable
# 配置VLAN接口3工作在DHCP中繼模式。
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] dhcp select relay
# 配置DHCP服務器的地址。
[SwitchB-Vlan-interface3] dhcp relay server-address 192.168.1.42
(3) Switch C的配置
# 配置接口的IP地址
<SwitchC> system-view
[SwitchC] vlan 2
[SwitchC-vlan2] port gigabitethernet 1/0/3
[SwitchC-vlan2] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ip address 192.168.1.43 24
[SwitchC-Vlan-interface2] quit
[SwitchC] vlan 3
[SwitchC-vlan3] port gigabitethernet 1/0/1
[SwitchC-vlan3] port gigabitethernet 1/0/2
[SwitchC-vlan3] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] ip address 192.168.3.1 24
[SwitchC-Vlan-interface3] quit
# 開啟DHCP服務。
[SwitchC] dhcp enable
# 配置VLAN接口3工作在DHCP中繼模式。
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] dhcp select relay
# 配置DHCP服務器的地址。
[SwitchC-Vlan-interface3] dhcp relay server-address 192.168.1.42
(4) TFTP服務器配置
在TFTP server創建配置文件market.cfg,文件內容如下:
#
sysname Market
#
telnet server enable
#
vlan 3
#
local-user market
password simple build22345
service-type telnet
quit
#
interface Vlan-interface3
ip address dhcp-alloc
quit
#
interface gigabitethernet1/0/1
port access vlan 3
quit
#
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
#
return
在TFTP服務器創建配置文件rd.cfg,文件內容如下:
#
sysname RD
#
telnet server enable
#
vlan 3
#
local-user rd
password simple create22345
service-type telnet
quit
#
interface Vlan-interface3
ip address dhcp-alloc
quit
#
interface gigabitethernet1/0/1
port access vlan 3
quit
#
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
#
return
# 啟動TFTP管理軟件,並指定TFTP的工作路徑為保存上述配置文件的路徑。
# 以Windows XP係統的主機為例,需保證TFTP服務器與DHCP中繼之間路由可達。
(1) Switch D、Switch E、Switch F和Switch G在沒有配置文件的情況下啟動。啟動成功後,在Switch A上查看地址池中的地址綁定信息。
<SwitchA> display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
192.168.2.2 3030-3066-2e65-3233- May 6 05:21:25 2013 Auto(C)
642e-3561-6633-2d56-
6c61-6e2d-696e-7465-
7266-6163-6533
192.168.2.3 3030-3066-2e65-3230- May 6 05:22:50 2013 Auto(C)
302e-3232-3033-2d56-
6c61-6e2d-696e-7465-
7266-6163-6533
192.168.3.2 3030-6530-2e66-6330- May 6 05:23:15 2013 Auto(C)
302e-3335-3131-2d56-
6c61-6e2d-696e-7465-
7266-6163-6531
192.168.3.3 3030-6530-2e66-6330- May 6 05:24:10 2013 Auto(C)
302e-3335-3135-2d56-
6c61-6e2d-696e-7465-
7266-6163-6532
(2) 在Switch A上執行如下命令:
<SwitchA> telnet 192.168.2.2
(3) 輸入用戶名market、密碼build22345後,可以登錄Switch D或Switch E。
如圖1-3所示,Switch A啟動後自動從HTTP服務器獲取Tcl腳本啟動配置文件,並執行該文件,以實現:
· 網絡管理員能夠通過Telnet方式登錄、控製設備。
· 登錄設備時需要進行認證,以提供一定的安全保證。
(1) 配置DHCP服務器
# 開啟DHCP服務,創建名稱為1的DHCP地址池,配置地址池動態分配IP地址的網段為192.168.1.0/24。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客戶端遠程啟動配置文件為HTTP形式的URL。
[DeviceA-dhcp-pool-1] bootfile-name http://192.168.1.40/device.tcl
(2) 配置HTTP服務器,保證Switch A可以從HTTP服務器成功下載配置文件device.tcl。
# 在HTTP服務器創建配置文件device.tcl,文件內容如下:
system-view
telnet server enable
local-user user
password simple hello22345
service-type telnet
quit
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
quit
interface gigabitethernet 1/0/1
port link-mode route
ip address dhcp-alloc
return
# 啟動HTTP管理軟件,開啟HTTP服務(配置過程略)。
(1) Switch A在沒有配置文件的情況下啟動。啟動成功後,在Device A上查看地址池中的地址綁定信息。
<DeviceA> display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
192.168.1.2 0030-3030-632e-3239- Dec 12 17:41:15 2013 Auto(C)
3035-2e36-3736-622d-
4574-6830-2f30-2f32
(2) 在Device A上執行如下命令:
<SwitchA> telnet 192.168.1.2
(3) 輸入用戶名user、密碼hello22345後,用戶可以登錄Switch A。
如圖1-4所示,Switch A啟動後自動從HTTP服務器獲取Python腳本啟動配置文件,並執行該文件,以實現:
· 網絡管理員能夠通過Telnet方式登錄、控製設備。
· 登錄設備時需要進行認證,以提供一定的安全保證。
圖1-4 服務器自動配置組網圖(HTTP Python方式)
(1) 配置DHCP服務器
# 開啟DHCP服務,創建名稱為1的DHCP地址池,配置地址池動態分配IP地址的網段為192.168.1.0/24。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客戶端遠程啟動配置文件為HTTP形式的URL。
[DeviceA-dhcp-pool-1] bootfile-name http://192.168.1.40/device.py
(2) 配置HTTP服務器,保證Switch A可以從HTTP服務器成功下載配置文件device.py。
# 在HTTP服務器創建配置文件device.py,文件內容如下:
#!usr/bin/python
import plathformtools
plathformtools.CLI(‘system-view ;telnet server enable ;local-user user ;password simple hello22345 ;service-type telnet ;quit ;user-interface vty 0 63 ;authentication-mode scheme ;user-role network-admin ;quit ;interface gigabitethernet 1/0/1 ;port link-mode route ;ip address dhcp-alloc ;return’)
# 啟動HTTP管理軟件,開啟HTTP服務(配置過程略)。
(1) Switch A在沒有配置文件的情況下啟動。啟動成功後,在Device A上查看地址池中的地址綁定信息。
<DeviceA> display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
192.168.1.2 0030-3030-632e-3239- Dec 12 17:41:15 2013 Auto(C)
3035-2e36-3736-622d-
4574-6830-2f30-2f32
(2) 在Device A上執行如下命令:
<DeviceA> telnet 192.168.1.2
(3) 輸入用戶名user、密碼hello22345後,用戶可以登錄Switch A。
如圖1-5所示,Switch A啟動後自動從SFTP服務器自動獲取並執行配置文件,以實現:
· 網絡管理員能夠通過Telnet方式登錄、控製設備。
· 登錄設備時需要進行認證,以提供一定的安全保證。
(1) 配置DHCP服務器
# 開啟DHCP服務,創建名稱為1的DHCP地址池,配置地址池動態分配IP地址的網段為192.168.1.0/24。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客戶端遠程啟動配置文件為SFTP形式的URL,user和pass為SFTP 服務器中對應用戶及其密碼。
[DeviceA-dhcp-pool-1] bootfile-name sftp://user%dd:[email protected]:22/device.cfg
(2) 配置SFTP服務器,保證Switch A可以從SFTP服務器成功下載配置文件device.cfg。
# 在SFTP服務器創建配置文件device.cfg,文件內容如下:
#
telnet server enable
#
local-user user
password simple hello12345
service-type telnet
quit
#
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
quit
#
interface gigabitethernet 1/0/1
port link-mode route
ip address dhcp-alloc
return
# 啟動SFTP管理軟件,開啟SFTP服務(配置過程略)。
(1) Switch A在沒有配置文件的情況下啟動。啟動成功後,在Device A上查看地址池中的地址綁定信息。
<DeviceA> display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
192.168.1.2 0030-3030-632e-3239- Dec 12 17:41:15 2013 Auto(C)
3035-2e36-3736-622d-
4574-6830-2f30-2f32
(2) 在Device A上執行如下命令:
<SwitchA> telnet 192.168.1.2
(3) 輸入用戶名user、密碼hello12345後,用戶可以登錄Switch A。
如圖1-6所示,Switch A啟動後自動從FTP服務器自動獲取並執行配置文件,以實現:
· 網絡管理員能夠通過Telnet方式登錄、控製設備。
· 登錄設備時需要進行認證,以提供一定的安全保證。
(1) 配置DHCP服務器
# 開啟DHCP服務,創建名稱為1的DHCP地址池,配置地址池動態分配IP地址的網段為192.168.1.0/24。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客戶端遠程啟動配置文件為FTP形式的URL,user和pass為FTP 服務器中對應用戶及其密碼。
[DeviceA-dhcp-pool-1] bootfile-name ftp://user:[email protected]:22/device.cfg
(2) 配置FTP服務器,保證Switch A可以從FTP服務器成功下載配置文件device.cfg。
# 在FTP服務器創建配置文件device.cfg,文件內容如下:
#
telnet server enable
#
local-user user
password simple hello12345
service-type telnet
quit
#
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
quit
#
interface gigabitethernet 1/0/1
port link-mode route
ip address dhcp-alloc
return
# 啟動FTP管理軟件,開啟FTP服務(配置過程略)。
(1) Switch A在沒有配置文件的情況下啟動。啟動成功後,在Device A上查看地址池中的地址綁定信息。
<DeviceA> display dhcp server ip-in-use
IP address Client identifier/ Lease expiration Type
Hardware address
192.168.1.2 0030-3030-632e-3239- Dec 12 17:41:15 2013 Auto(C)
3035-2e36-3736-622d-
4574-6830-2f30-2f32
(2) 在Device A上執行如下命令:
<SwitchA> telnet 192.168.1.2
(3) 輸入用戶名user、密碼hello12345後,用戶可以登錄Switch A。
如圖1-7所示,Switch A和Switch B通過管理以太網口分別與HTTP 服務器和Device A相連。Device A上開啟DHCP服務。為網絡中的設備動態分配192.168.1.0/24網段的IP地址。
現要求通過自動配置實現Switch A和Switch B根據腳本自動執行IRF配置的相關命令。然後再連接Switch A和Switch B之間的線纜,完成IRF的建立。
圖1-7 服務器自動配置實現IRF零配置組網圖
(1) 配置設備接口地址,保證設備間路由可達。
配置HTTP服務器。啟動HTTP管理軟件,開啟HTTP服務(配置過程略)。針對IRF零配置,HTTP服務器上需要配置Python腳本文件、配置文件、sn.txt和軟件啟動包等文件。以下是關於各文件的介紹:
· Python腳本文件:Python腳本是設備進行IRF零配置操作的主要文件,需要管理員自行準備並保存在HTTP服務器上。Python腳本需要完成的操作:
¡ 設備判斷flash是否存在足夠的存儲空間(可選);
¡ 設備從HTTP服務器下載配置文件;
¡ 設備從HTTP服務器下載啟動軟件包(可選);
¡ 設備從HTTP服務器下載sn.txt文件;
¡ 配置設備下次啟動時使用的啟動軟件包(可選);
¡ 解析sn.txt文件並修改設備的IRF成員編號;
¡ 配置設備下次啟動時使用的配置文件;
¡ 設備重新啟動。
· 配置文件:配置文件包含了所有設備進行IRF的相關命令,管理員可以在已經成功創建IRF的設備上,將配置文件導出並修改然後保存在HTTP服務器上,供需要創建類似拓撲IRF的設備下載使用。
· sn.txt文件:每個設備都有唯一的設備序列號,sn.txt文件根據設備的序列號來指定設備在IRF組中的成員編碼。設備通過運行Python腳本來解析sn.txt文件,然後修改設備的IRF成員編號,並根據自身的成員編號來完成相應的IRF配置。
· 軟件啟動包:軟件啟動包是設備啟動、運行的必備軟件,需保存在HTTP服務器上。如果現有設備(包括主用主控板和備用主控板)的啟動軟件包全部一致且不需要升級軟件版本,可不需要準備該文件。
(2) 在Device A上配置DHCP服務器
# 開啟DHCP服務,創建名稱為1的DHCP地址池,配置地址池動態分配IP地址的網段為192.168.1.0/24。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 192.168.1.0 24
# 配置DHCP客戶端遠程啟動配置文件為HTTP形式的URL。
[DeviceA-dhcp-pool-1] bootfile-name http://192.168.1.40/device.py
[DeviceA-dhcp-pool-1] quit
# 配置接口GigabitEthernet1/0/1工作在DHCP服務器模式。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] dhcp select server
[DeviceA-GigabitEthernet1/0/1] quit
(3) 設備根據DHCP服務器獲取到Python腳本文件,執行Python腳本下載配置文件和軟件啟動包;解析sn.txt文件生成IRF成員編號。然後,所有設備會執行重啟操作。
(4) 設備重啟完畢後,連接Switch A和Switch B之間的線纜,連接好線纜後設備將進行IRF選舉,選舉失敗的一台設備會再次重啟。當設備自動重啟後,Switch A和Switch B成功組成IRF。
下麵以Switch A為例驗證設備是否成功組成IRF,Switch B和Switch A類似,不再贅述。
# 顯示IRF中所有成員設備的相關信息。
<Switch A> display irf
MemberID Slot Role Priority CPU-Mac Description
1 1 Standby 1 00e0-fc0f-8c02 ---
*+2 1 Master 30 00e0-fc0f-8c14 ---
--------------------------------------------------
* indicates the device is the master.
+ indicates the device through which the user logs in.
The Bridge MAC of the IRF is: 000c-1000-1111
Auto upgrade : yes
Mac persistent : always
Domain ID : 0
Auto merge : yes
以上顯示信息表明IRF已經成功建立。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!