如果要使用基於端口的認證,那交換機和用戶PC都要支持802.1x標准,使用局域網上的可擴展認證協議(EAPOL),802.1x EAPOL是二層協議,如果交換機端口上配置了802.1x,那麼當在端口上檢測到設備後,該端口首先處於未認證狀態,端口將不轉發任何流量(除了CDP,STP和EAPOL),此時客戶PC只能使用EAPOL協議與交換機通信,我們需要再客戶PC上安裝支持802.1x的應用程序(windows支持802 .1x),一旦用戶通過認證則該端口開始轉發數據流。用戶注銷時交換機端口將返回未認證狀態;或者當客戶長時間沒有數據流量時,會因超時停止認證狀態,需要用戶重新認證。
在交換機上配置802.1x需要用到RADIUS服務器,注意,AAA可以用RADIUS和TACACS+實現,但802.1x只支持RADIUS認證。
看一下配置:
(config)#aaa new-model '啟動AAA。
(config)#radius-server host 192.168.1.100 key netdigedu '配置RADIUS服務器地址及密鑰。
(config)#aaa authentication dot1x default group radius '配置802.1x默認認證方法為RADIUS。
(config)#dot1x system-auth-control '在交換機上全局啟用802.1x認證。
(config)#int fa0/24
(config-if)#switchport mode access
(config-if)#dot1x port-control auto '設置接口的802.1x狀態。
關於此命令一定要注意;
有三種狀態:
force-authorized:端口始終處於認證狀態並轉發流量,這個是默認狀態。
force-unauthorized:端口始終處於未認證狀態並不能轉發流量。
auto:端口通過使用802.1x與客戶端交換消息在認證和未認證狀態間切換。這個是我們需要的,所以dot1x port-control 命令後一定要用auto。
(config-if)#dot1x host-mode multi-host '交換機端口下連接多台PC時(通過Hub或交換機)需要配置這個命令,默認只支持對一台PC認證。
#show dot1x all '查看802.1x配置。