Cisco Catalyst系列交換機(運行CatOS的Catalyst 4000、Catalyst 5000和Catalyst 6000)已支援某種形式的身份驗證(以2.2代碼開頭)。在更高的版本中加入了增強功能。用於身份驗證、授權和記帳(AAA)的TACACS+ TCP埠49,而不是XTACACS使用者資料包協定(UDP)埠49)、RADIUS或Kerberos伺服器使用者設定與路由器使用者設定相同。本文包含啟用這些功能所需的最少命令的示例。相關版本的交換機文檔中提供了其他選項。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
由於較新版本的代碼支援其他選項,因此需要發出show version命令來確定交換機上的代碼版本。一旦確定了交換機上使用的代碼版本,請使用下表來確定您的裝置上可用的選項以及要配置的選項。
新增驗證和授權時,請始終保留在交換機中。在另一個視窗中測試配置,以避免被意外鎖定。
方法(最小) | Cat版本2.2到5.1 | Cat版本5.1到5.4.1 | Cat版本5.4.1到7.5.1 | Cat版本7.5.1及更高版本 |
TACACS+驗證或 | 步驟A | 步驟A | 步驟A | 步驟A |
RADIUS驗證或 | 不適用 | 步驟B | 步驟B | 步驟B |
Kerberos驗證或 | 不適用 | 不適用 | 步驟K | 步驟K |
本地使用者名稱身份驗證/授權 | 不適用 | 不適用 | 不適用 | 步驟C |
Plus(選項) | ||||
TACACS+命令授權 | 不適用 | 不適用 | 步驟D | 步驟D |
TACACS+ Exec授權 | 不適用 | 不適用 | 步驟E | 步驟E |
RADIUS Exec授權 | 不適用 | 不適用 | 步驟F | 步驟F |
計量 — TACACS+或RADIUS | 不適用 | 不適用 | 步驟G | 步驟G |
TACACS+啟用授權 | 步驟H | 步驟H | 步驟H | 步驟H |
RADIUS啟用授權 | 不適用 | 步驟I | 步驟I | 步驟I |
TACACS+啟用授權 | 不適用 | 不適用 | 步驟J | 步驟J |
在早期版本的代碼中,命令並不像某些較新版本那樣複雜。較新版本中的其他選項可在交換器上使用。
發出set authentication login local enable命令,以確保在伺服器關閉時交換機有後門。
發出set authentication login tacacs enable命令以啟用TACACS+身份驗證。
發出set tacacs server #.#.#.#命令以定義伺服器。
發出set tacacs key your_key 命令以定義伺服器金鑰(在TACACS+中是選用的),因為它會導致交換器到伺服器資料加密。如果使用,則必須與伺服器一致。
註:Cisco Catalyst OS軟體不接受問號(?)是任何金鑰或密碼的一部分。問號明確用於有關命令語法的幫助。
在早期版本的代碼中,命令並不像某些較新版本那樣複雜。較新版本中的其他選項可在交換器上使用。
發出set authentication login local enable命令,以確保在伺服器關閉時交換機有後門。
發出set authentication login radius enable命令以啟用RADIUS身份驗證。
定義伺服器。在所有其他思科裝置上,預設RADIUS埠為1645/1646(身份驗證/記帳)。
在Catalyst上,預設埠是1812/1813。如果您使用Cisco Secure或與其他思科裝置通訊的伺服器,請使用1645/1646埠。發出set radius server #.#.#.# auth-port 1645 acct-port 1646 primary命令,將伺服器和在Cisco IOS中的對應命令定義為radius-server source-ports 1645-1646。
定義伺服器金鑰。
這是強制性的,因為它會按照RADIUS驗證/授權RFC 2865 和RADIUS計量RFC 286 中的說明加密交換器到伺服器的密碼。如果使用,則必須與伺服器一致。發出set radius key your_key 指令。
從CatOS版本7.5.1開始,可以進行本地使用者身份驗證。例如,您可以使用儲存在Catalyst上的使用者名稱和密碼來實現身份驗證/授權,而不是使用本地密碼進行身份驗證。
本地使用者身份驗證只有兩個許可權級別:0或15。0級是非特權exec級別。Level 15是特權啟用級別。
如果您在此範例中新增這些命令,則使用者poweruser會到達交換器的Telnet或主控台上的啟用模式,而使用者nonenable會到達交換器的Telnet或主控台上的exec模式。
set localuser user poweruser password powerpass privilege 15 set localuser user nonenable password nonenable
注意:如果使用者nonenable知道set enable password,則該使用者可以繼續啟用模式。
設定完成後,密碼會以加密方式儲存。
本地使用者名稱身份驗證可以與遠端TACACS+ exec、命令記帳或遠端RADIUS exec記帳結合使用。它還可以與遠端TACACS+ exec或命令授權結合使用,但以這種方式使用它沒有意義,因為使用者名稱既需要儲存在TACACS+伺服器上,也需要儲存在本地交換機上。
在本範例中,交換器被告知僅需要使用TACACS+的組態指令進行授權。在TACACS+伺服器關閉的情況下,身份驗證為無。這同時適用於主控台連線埠和Telnet作業階段。發出以下命令:
set authorization commands enable config tacacs none both
在此範例中,您可以設定以下引數時,將TACACS+伺服器設定為允許:
command=set arguments (permit)=port 2/12
set port enable 2/12命令會傳送到TACACS+伺服器進行驗證。
注意:啟用命令授權後,與路由器中不會將enable視為命令的情況不同,交換機在嘗試啟用時將命令enable傳送到伺服器。確保伺服器也配置為允許enable命令。
在本範例中,交換器被告知需要使用TACACS+的exec作業階段進行授權。當TACACS+伺服器關閉時,授權為無。這同時適用於主控台連線埠和Telnet作業階段。發出set authorization exec enable tacacs+ none both命令
除了驗證要求外,這也會從交換器向TACACS+伺服器傳送獨立的授權要求。如果在TACACS+伺服器上將使用者配置檔案配置為shell/exec,則該使用者能夠訪問交換機。
這樣可防止伺服器上未配置shell/exec服務的使用者(例如PPP使用者)登入到交換機。您會收到一條消息,顯示Exec mode authorization failed。除了允許/拒絕使用者的執行模式外,當您使用伺服器上分配的許可權級別15進入時,還可以強制進入啟用模式。必須執行已修正Cisco錯誤ID CSCdr51314(僅限註冊客戶)的代碼。
沒有命令可啟用RADIUS exec授權。另一種方法是在RADIUS伺服器中將Service-Type(RADIUS屬性6)設定為Administrative(值6),以便在RADIUS伺服器中將使用者啟動到啟用模式。如果服務型別設定為除6管理模式以外的其他型別(例如1登入、7外殼或2框架),則使用者會到達交換機exec提示,但不到達啟用提示。
在交換器中新增以下命令以進行驗證和授權:
aaa authorization exec TEST group radius line vty 0 4 authorization exec TEST login authentication TEST
若要對以下專案啟用TACACS+計量:
如果收到交換器提示,請發出set accounting exec enable start-stop tacacs+指令。
通過Telnet離開交換機的使用者發出set accounting connect enable start-stop tacacs+命令。
如果重新啟動交換器,請發出set accounting system enable start-stop tacacs+指令。
執行命令的使用者發出set accounting commands enable all start-stop tacacs+命令。
提醒伺服器,例如,每分鐘更新一次記錄以顯示使用者仍登入,請發出set accounting update periodic 1 命令。
若要對以下專案啟用RADIUS計量:
獲得交換機提示的使用者發出set accounting exec enable start-stop radius命令。
通過Telnet從交換機發出的使用者發出set accounting connect enable start-stop radius命令。
重新啟動交換器時,發出set accounting system enable start-stop radius指令。
提醒伺服器,例如,每分鐘更新一次記錄以顯示使用者仍然登入,請發出set accounting update periodic 1 命令。
以下輸出是記錄如何在伺服器上顯示的示例:
Fri Mar 24 13:22:41 2000 10.31.1.151 pinecone telnet85 171.68.118.100 stop task_id=5 start_time=953936729 timezone=UTC service=shell disc-cause=2 elapsed_time=236 Fri Mar 24 13:22:50 2000 10.31.1.151 pinecone telnet85 171.68.118.100 stop task_id=15 start_time=953936975 timezone=UTC service=shell priv-lvl=0 cmd=enable Fri Mar 24 13:22:54 2000 10.31.1.151 pinecone telnet85 171.68.118.100 stop task_id=16 start_time=953936979 timezone=UTC service=shell priv-lvl=15 cmd=write terminal Fri Mar 24 13:22:59 2000 10.31.1.151 pinecone telnet85 171.68.118.100 stop task_id=17 start_time=953936984 timezone=UTC service=shell priv-lvl=15 cmd=show version Fri Mar 24 13:23:19 2000 10.31.1.151 pinecone telnet85 171.68.118.100 update task_id=14 start_time=953936974 timezone=UTC service=shell
以下輸出是記錄如何在伺服器上顯示的示例:
Client-Id = 10.31.1.151 NAS-Port-Type = 0 User-Name = "login" Acct-Status-Type = Start Acct-Authentic = RADIUS User-Service-Type = 7 Acct-Session-Id = "0000002b" Acct-Delay-Time = 0 Client-Id = 10.31.1.151 NAS-Port-Type = 0 User-Name = "login" Calling-Station-Id = "171.68.118.100" Acct-Status-Type = Start User-Service-Type = Login-User Acct-Session-Id = "0000002c" Login-Service = Telnet Login-Host = 171.68.118.100 Acct-Delay-Time = 0 Client-Id = 10.31.1.151 NAS-Port-Type = 0 User-Name = "login" Calling-Station-Id = "171.68.118.100" Acct-Status-Type = Stop User-Service-Type = Login-User Acct-Session-Id = "0000002c" Login-Service = Telnet Login-Host = 171.68.118.100 Acct-Session-Time = 9 Acct-Delay-Time = 0 Client-Id = 10.31.1.151 NAS-Port-Type = 0 User-Name = "login" Acct-Status-Type = Stop Acct-Authentic = RADIUS User-Service-Type = 7 Acct-Session-Id = "0000002b" Received unknown attribute 49 Acct-Session-Time = 30 Acct-Delay-Time = 0
請完成以下步驟:
發出set authentication enable local enable命令,以確保在伺服器關閉時存在後門。
發出set authentication enable tacacs enable命令,以告知交換器將啟用要求傳送到伺服器。
新增以下命令可讓交換器將使用者名稱$enab15$傳送到RADIUS伺服器。並非所有RADIUS伺服器都支援這種使用者名稱。有關另一個替代方法,請參閱步驟E,例如,如果將服務型別[RADIUS屬性6 — 設定為管理],則會將單個使用者啟動到啟用模式。
發出set authentication enable local enable命令,以確保在伺服器關閉時存在後門。
如果您的RADIUS伺服器支援$enab15$使用者名稱,發出set authentication enable radius enable命令,以告知交換器將啟用要求傳送到伺服器。
新增此命令會導致交換機在使用者嘗試啟用時向伺服器傳送enable。伺服器需要允許enable命令。在本示例中,如果伺服器發生故障,則故障切換到none:
set auth enable enable tacacs+ none both
有關如何對交換機設定Kerberos的詳細資訊,請參閱使用身份驗證、授權和記帳控制和監視對交換機的訪問。
如需密碼復原程式的詳細資訊,請參閱密碼復原程式。
此頁是思科產品的密碼復原程式索引。
為了增強安全性,可以將Catalyst配置為通過ip permit命令控制Telnet訪問:
set ip permit enable telnet
set ip permit range mask|host
這僅允許指定通過Telnet連線到交換機的範圍。
在Catalyst上啟用調試之前,請檢查伺服器日誌以瞭解失敗的原因。這樣更容易,對交換機的干擾更少。在較早的交換器版本上,debug是在工程模式中執行的。在更高版本的代碼中,無需訪問工程模式即可執行debug命令:
set trace tacacs|radius|kerberos 4
注意:set trace tacacs|radius|kerberos 0命令將Catalyst返回到無跟蹤模式。
如需多層LAN交換器的詳細資訊,請參閱交換器產品支援頁面。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
27-Dec-2007 |
初始版本 |