【背景描述】
MAC地址是網絡設備在全球的惟一編號,它也就是咱們一般所說的:物理地址、硬件地址、適配器地址或網卡地址。MAC地址可用於直接標識某個網絡設備,是目前網絡數據交換的基礎。
如今大多數的高端交換機均可以支持基於物理端口配置MAC地址過濾表,用於限定只有與MAC地址過濾表中規定的一些網絡設備有關的數據包纔可以使用該端口進行傳遞。經過MAC地址過濾技術能夠保證受權的MAC地址才能對網絡資源進行訪問。
與802.1X協議不一樣,基於MAC地址訪問控制不須要額外的客戶端軟件,當一個客戶端鏈接到交換機上會自動地進行認證過程。基於MAC地址訪問控制功能容許用戶配置一張MAC 地址表,交換機能夠經過存儲在交換機內部或者遠端認證服務器上面的MAC地址列表來控制合法或者非法的用戶訪問。
下面是一個簡單的網絡示意圖,在交換機的第1-12端口上開啓了基於MAC地址的訪問控制功能,在中心交換機的第6個端口上級聯了一臺2層設備,2層設備上鍊接了兩臺客戶端主機,其中一臺客戶端的MAC地址在交換機的本地數據庫中作過記錄,而另一臺設備的MAC地址在交換機的本地數據庫中沒有記錄。這樣在數據庫中沒有記錄MAC地址的客戶端的通訊就會被交換機所阻止從而拒絕其接入網絡。
【實驗拓撲】
下面在DES-3828交換機上來看一下基於MAC的訪問控制的配置。下圖是一個比較簡單的小型網絡,某個部門經過一臺二層設備接入到核心交換機的第1個端口,此部門只有PC1容許接入到網絡中,其餘的計算機沒有上網的資格。在交換機上開啓MAC訪問控制功能。須要實現的功能是容許PC1接入到網絡,PC2不容許接入到網絡中。
【實驗設備】DES-3828一臺,測試PC 2臺,網線若干。
【實驗步驟】
enable mac_based_access_control 命令來啓用交換機的MAC訪問控制功能。
config mac_based_access_control ports 1-12 state enable method local 將交換機的第1-12端口配置爲啓用MAC訪問控制的端口,是基於交換機本地數據庫的方式,也能夠選擇基於遠端認證服務器的方式,這裏咱們選擇的是基於本地數據庫的方式。
create mac_based_access_control_local mac 00-16-d3-b8-70-08 vlan default 這個命令添加用戶的MAC地址到交換機本地數據庫,併爲其指定VLAN爲默認的VLAN。
這個命令用於查看在默認的VLAN裏面有哪些合法的MAC地址。能夠看到在默認的VLAN裏面總共有1條MAC地址,是PC1的MAC地址, MAC地址和交換機MAC地址列表相匹配的客戶機就容許接入到網絡中,不然就拒絕其接入。
show mac_based_access_control port這條命令能夠查詢某個端口的MAC訪問控制是否開啓,端口1的MAC訪問控制已經開啓。
show mac_based_access_control auth_mac這個命令是用來查詢在端口上面有哪些MAC地址被學習到,以及認證狀態和所屬的VLAN的信息。經過例子能夠看出如今已經有一個客戶機鏈接到了端口1上面,MAC地址如上,認證狀態是已經經過認證,是合法的主機,所屬的VLAN是默認VLAN。
這時PC1能夠經過交換機鏈接到Internet中,PC2因爲沒有經過交換機的基於MAC的認證而被交換機所阻止。
【實驗總結】
基於MAC地址的訪問控制對交換設備的要求不高,而且基本對網絡性能沒有影響,配置命令相對簡單,比較適合小型網絡,規模較大的網絡不是適用。
使用MAC地址訪問控制技術要求網絡管理員必須明確網絡中每一個網絡設備的MAC地址,並要根據控制要求對交換機的MAC表進行配置;採用MAC地址訪問控制對於網管員來講,其負擔是至關重的,並且隨着網絡設備數量的不斷擴大,它的維護工做量也不斷加大。
另外,還存在一個安全隱患,那就是如今許多網卡都支持MAC地址從新配置,非法用戶能夠經過將本身所用網絡設備的MAC地址改成合法用戶MAC地址的方法,使用MAC地址「欺騙」,成功經過交換機的檢查,進而非法訪問網絡資源。
【知識擴展】
下面能夠利用基於MAC的訪問控制來配置Guest VLAN。
測試PC在沒有經過MAC認證的時候只能和V10中的文件服務器通訊,但不能接入到Internet中,在經過了MAC地址認證之後,測試PC便被交換機自動地添加到了V20中,這樣就能夠接入到Internet了。
首先在DES-3828交換機上配置VLAN信息。
配置交換機的IP地址,而且將交換機的IP地址指定到V20 中進行管理。
enable mac_based_access_control 啓用MAC訪問控制功能
create mac_based_access_control guest_vlan default 將V10設置爲Guest VLAN
config mac_based_access_control guest_vlan ports 1-12 配置Guest VLAN 端口
config mac_based_access_control ports 1-12 state enable method local
1-12端口的認證方式爲本地認證
在PC1沒有經過認證前,交換機的端口1是處於V10中,即Guest VLAN中。
當PC1經過MAC地址認證之後,交換機的端口1被動態添加到了V20中。
能夠經過上面的命令來查詢端口1下面MAC地址的認證狀態,能夠看到端口1下面的PC1的MAC地址的認證狀態是已經經過認證,所屬的VLAN是V20。