01-ARP配置
本章節下載: 01-ARP配置 (325.11 KB)
ARP(Address Resolution Protocol,地址解析協議)是將IP地址解析為以太網MAC地址(或稱物理地址)的協議。
在局域網中,當主機或其它網絡設備有數據要發送給另一個主機或設備時,它必須知道對方的網絡層地址(即IP地址)。但是僅僅有IP地址是不夠的,因為IP數據報文必須封裝成幀才能通過物理網絡發送,因此發送站還必須有接收站的物理地址,所以需要一個從IP地址到物理地址的映射。ARP就是實現這個功能的協議。
ARP報文分為ARP請求和ARP應答報文,報文格式如圖1-1所示。
圖1-1 ARP報文結構
· 硬件類型:表示硬件地址的類型。它的值為1表示以太網地址;
· 協議類型:表示要映射的協議地址類型。它的值為0x0800即表示IP地址;
· 硬件地址長度和協議地址長度分別指出硬件地址和協議地址的長度,以字節為單位。對於以太網上IP地址的ARP請求或應答來說,它們的值分別為6和4;
· 操作類型(OP):1表示ARP請求,2表示ARP應答;
· 發送端MAC地址:發送方設備的硬件地址;
· 發送端IP地址:發送方設備的IP地址;
· 目標MAC地址:接收方設備的硬件地址。
· 目標IP地址:接收方設備的IP地址。
假設主機A和B在同一個網段,主機A要向主機B發送信息。如圖1-2所示,具體的地址解析過程如下:
(1) 主機A首先查看自己的ARP表,確定其中是否包含有主機B對應的ARP表項。如果找到了對應的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,並將數據包發送給主機B。
(2) 如果主機A在ARP表中找不到對應的MAC地址,則將緩存該數據報文,然後以廣播方式發送一個ARP請求報文。ARP請求報文中的發送端IP地址和發送端MAC地址為主機A的IP地址和MAC地址,目標IP地址和目標MAC地址為主機B的IP地址和全0的MAC地址。由於ARP請求報文以廣播方式發送,該網段上的所有主機都可以接收到該請求,但隻有被請求的主機(即主機B)會對該請求進行處理。
(3) 主機B比較自己的IP地址和ARP請求報文中的目標IP地址,當兩者相同時進行如下處理:將ARP請求報文中的發送端(即主機A)的IP地址和MAC地址存入自己的ARP表中。之後以單播方式發送ARP響應報文給主機A,其中包含了自己的MAC地址。
(4) 主機A收到ARP響應報文後,將主機B的MAC地址加入到自己的ARP表中以用於後續報文的轉發,同時將IP數據包進行封裝後發送出去。
圖1-2 ARP地址解析過程
當主機A和主機B不在同一網段時,主機A就會先向網關發出ARP請求,ARP請求報文中的目標IP地址為網關的IP地址。當主機A從收到的響應報文中獲得網關的MAC地址後,將報文封裝並發給網關。如果網關沒有主機B的ARP表項,網關會廣播ARP請求,目標IP地址為主機B的IP地址,當網關從收到的響應報文中獲得主機B的MAC地址後,就可以將報文發給主機B;如果網關已經有主機B的ARP表項,網關直接把報文發給主機B。
設備通過ARP解析到目的MAC地址後,將會在自己的ARP表中增加IP地址到MAC地址的映射表項,以用於後續到同一目的地報文的轉發。
ARP表項分為動態ARP表項和靜態ARP表項。
動態ARP表項由ARP協議通過ARP報文自動生成和維護,可以被老化,可以被新的ARP報文更新,可以被靜態ARP表項覆蓋。當到達老化時間、接口down時會刪除相應的動態ARP表項。
靜態ARP表項通過手工配置和維護,不會被老化,不會被動態ARP表項覆蓋。
配置靜態ARP表項可以增加通信的安全性。靜態ARP表項可以限製和指定IP地址的設備通信時隻使用指定的MAC地址,此時攻擊報文無法修改此表項的IP地址和MAC地址的映射關係,從而保護了本設備和指定設備間的正常通信。
靜態ARP表項分為長靜態ARP表項和短靜態ARP表項。
· 在配置長靜態ARP表項時,除了配置IP地址和MAC地址項外,還必須配置該ARP表項所在VLAN和出接口。長靜態ARP表項可以直接用於報文轉發。
· 在配置短靜態ARP表項時,隻需要配置IP地址和MAC地址項。如果出接口是VLAN接口,短靜態ARP表項不能直接用於報文轉發,當要發送IP數據包時,先發送ARP請求報文,如果收到的響應報文中的源IP地址和源MAC地址與所配置的IP地址和MAC地址相同,則將接收ARP響應報文的接口加入該靜態ARP表項中,之後就可以用於IP數據包的轉發。
· 一般情況下,ARP動態執行並自動尋求IP地址到以太網MAC地址的解析,無需管理員的介入。
· 當希望設備和指定用戶隻能使用某個固定的IP地址和MAC地址通信時,可以配置短靜態ARP表項,當進一步希望限定這個用戶隻在某VLAN內的某個特定接口上連接時就可以配置長靜態ARP表項。
靜態ARP表項在設備正常工作時間一直有效,當設備的ARP表項所對應的VLAN或VLAN接口被刪除時,如果是長靜態ARP表項則被刪除,如果是已經解析的短靜態ARP表項則重新變為未解析狀態。
arp static ip-address mac-address vlan-id interface-type interface-number |
|||
· 參數vlan-id用於指定ARP表項所對應的VLAN,vlan-id必須是用戶已經創建好的VLAN的ID,且vlan-id參數後麵指定的以太網接口必須屬於這個VLAN。VLAN對應的VLAN接口必須已經創建。
· 指定參數vlan-id和ip-address的情況下,參數vlan-id對應的VLAN接口的IP地址必須和參數ip-address指定的IP地址屬於同一網段。
設備可以通過ARP協議自動生成動態ARP表項。為了防止部分接口下的用戶占用過多的ARP資源,可以通過設置接口學習動態ARP表項的最大數目來進行限製。當接口學習動態ARP表項的最大數目達到所設置的值時,該接口將不再學習動態ARP表項。
表1-2 配置接口學習動態ARP表項的最大數目
配置接口允許學習動態ARP表項的最大數目 |
缺省情況下,二層接口不對允許學習動態ARP表項的最大數目進行限製,三層接口允許學習動態ARP表項的最大數目與設備的型號有關,請參見“命令參考導讀”中的“命令行及參數差異情況”部分的介紹。 當配置接口允許學習動態ARP表項的最大數目為0時,表示禁止接口學習動態ARP表項 |
如果二層接口及其所屬的VLAN三層接口都配置了允許學習動態ARP表項的最大數目,則以數目小的進行限製。
為適應網絡的變化,ARP表需要不斷更新。ARP表中的動態ARP表項並非永遠有效,每一條記錄都有一個老化時間,到達老化時間仍得不到刷新的記錄將被從ARP表中刪除。如果在到達老化時間前記錄被刷新,則重新計算老化時間。用戶可以根據網絡實際情況調整老化時間。
表1-3 配置動態ARP的老化時間
配置動態ARP的老化時間 |
缺省情況下,動態ARP的老化時間為20分鍾 |
動態ARP表項檢查功能可以控製設備上是否可以學習MAC地址為組播MAC的動態ARP表項。
· 使能ARP表項的檢查功能後,設備上不能學習MAC地址為組播MAC的動態ARP表項。
· 關閉ARP表項的檢查功能後,設備上可以學習MAC地址為組播MAC的動態ARP表項。
表1-4 使能動態ARP表項的檢查功能
使能動態ARP表項的檢查功能 |
缺省情況下,使能動態ARP表項的檢查功能 |
學習ARP表項時,在發現ARP報文的源IP地址和入接口IP地址不在同一網段後,使用自然網段進行判斷。
假設Vlan-interface10接口的IP地址為10.10.10.5/24,收到一個源IP地址為10.11.11.1/8的ARP報文,用接口的24位掩碼與10.11.11.1進行與運算,得到的網段地址與接口IP地址不在同一網段,Vlan-interface10接口無法處理這個報文。如果使能支持自然網段的ARP請求功能,則通過接口IP地址所在自然網段的掩碼進行判斷,由於Vlan-interface10接口的IP地址為A類地址,因此默認掩碼應該為8位,於是兩個IP地址就在同一個網段,Vlan-interface10接口就可以學習源IP地址為10.11.11.1的ARP表項了。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP表中除授權類型外的ARP表項。
表1-6 ARP顯示和維護
清除ARP表項,將取消IP地址和MAC地址的映射關係,可能導致設備無法正常通信。清除前請務必仔細確認。
該配置舉例中對於以太網接口的配置,請參見表1-7,本配置舉例以GigabitEthernet接口為例,實際使用中請以設備實際情況為準。
表1-7 AC以太網接口配置說明
LSUM1WCME0 |
||
WX3510E WX3540E |
||
WX5510E |
||
WX2540E |
對於無線相關的特性,請直接在設備的LAN口上配置 對於路由相關的特性,比如PPPoE、RIP等,請直接在設備的WAN口配置 |
|
WAC360 WAC361 |
||
WX6100E(包括EWPXM2WCMD0、EWPXM3WCMD0、EWPXM1WCME0) |
請直接在WX6100E的無線控製器業務板與交換板相連的內部以太網接口上配置(無線控製器業務板插在WX6100E無線控製器的擴展插槽上) |
· 開啟設備使能ARP表項的檢查功能。
· 設置設備的動態ARP表項的老化時間為10分鍾。
· 設置設備使能自然網段範圍內的ARP請求。
· 設置接口Vlan-interface10上可以學習動態ARP表項的最大個數為1000。
· 增加一個靜態ARP表項,IP地址為192.168.1.1/24,對應的MAC地址為00e0-fc01-0000,此條ARP表項對應的出接口為屬於VLAN 10的接口GigabitEthernet 1/0/1。
[Sysname] arp check enable
[Sysname] arp timer aging 10
[Sysname] naturemask-arp enable
[Sysname] vlan 10
[Sysname-vlan10] quit
[Sysname] interface GigabitEthernet 1/0/1
[Sysname-GigabitEthernet1/0/1] port access vlan 10
[Sysname-GigabitEthernet1/0/1] quit
[Sysname] interface vlan-interface 10
[Sysname-vlan-interface10] arp max-learning-num 1000
[Sysname-vlan-interface10] quit
[Sysname] arp static 192.168.1.1 00e0-fc01-0000 10 GigabitEthernet 1/0/1
免費ARP報文是一種特殊的ARP報文,該報文中攜帶的發送端IP地址和目標IP地址都是本機IP地址,報文源MAC地址是本機MAC地址,報文的目的MAC地址是廣播地址。
設備通過對外發送免費ARP報文來實現以下功能:
· 確定其它設備的IP地址是否與本機的IP地址衝突。當其它設備收到免費ARP報文後,如果發現報文中的IP地址和自己的IP地址相同,則給發送免費ARP報文的設備返回一個ARP應答,告知該設備IP地址衝突。
· 設備改變了硬件地址,通過發送免費ARP報文通知其它設備更新ARP表項。
使能了免費ARP報文學習功能後,設備會根據收到的免費ARP報文中攜帶的信息(源IP地址、源MAC地址)對自身維護的ARP表進行修改。設備先判斷ARP表中是否存在與此免費ARP報文源IP地址對應的ARP表項:
· 如果沒有對應的ARP表項,設備會根據該免費ARP報文中攜帶的信息新建ARP表項;
· 如果存在對應的ARP表項,設備會根據該免費ARP報文中攜帶的信息更新對應的ARP表項。
關閉免費ARP報文學習功能後,設備不會根據收到的免費ARP報文來新建ARP表項,但是會更新已存在的對應ARP表項。如果用戶不希望通過免費ARP報文來新建ARP表項,可以關閉免費ARP報文學習功能,以節省ARP表項資源。
定時發送免費ARP功能可以及時通知下行設備更新ARP表項或者MAC地址表項,主要應用場景如下:
(1) 防止仿冒網關的ARP攻擊
如果攻擊者仿冒網關發送免費ARP報文,就可以欺騙同網段內的其它主機,使得被欺騙的主機訪問網關的流量,被重定向到一個錯誤的MAC地址,導致其它主機用戶無法正常訪問網絡。
為了盡量避免這種仿冒網關的ARP攻擊,可以在網關的接口上使能定時發送免費ARP功能。使能該功能後,網關接口上將按照配置的時間間隔周期性發送接口主IP地址和手工配置的從IP地址的免費ARP報文。這樣,每台主機都可以學習到正確的網關,從而正常訪問網絡。
(2) 防止主機ARP表項老化
在實際環境中,當網絡負載較大或接收端主機的CPU占用率較高時,可能存在ARP報文被丟棄或主機無法及時處理接收到的ARP報文等現象。這種情況下,接收端主機的動態ARP表項會因超時而老化,在其重新學習到發送設備的ARP表項之前,二者之間的流量就會發生中斷。
為了解決上述問題,可以在網關的接口上使能定時發送免費ARP功能。使能該功能後,網關接口上將按照配置的時間間隔周期性發送接口主IP地址和手工配置的從IP地址的免費ARP報文。這樣,接收端主機可以及時更新ARP映射表,從而防止了上述流量中斷現象。
(3) 防止VRRP虛擬IP地址衝突
當網絡中存在VRRP備份組時,需要由VRRP備份組的Master路由器周期性的向網絡內的主機發送免費ARP報文,使主機更新本地ARP地址表,從而確保網絡中不會存在IP地址與VRRP虛擬IP地址相同的設備。
由於用戶可以設定VRRP虛擬IP地址和MAC地址對應關係,因此有以下兩種情況:
· 如果當前VRRP虛擬IP地址和虛擬MAC地址對應,則免費ARP報文中的源MAC地址為VRRP虛擬路由器對應的虛擬MAC地址。
· 如果當前VRRP虛擬IP地址和實際MAC地址對應,則免費ARP報文中的源MAC地址為VRRP備份組中Master路由器接口的MAC地址。
關於VRRP的詳細介紹,請參見“可靠性配置指導”中的“VRRP”。
使能免費ARP報文學習功能 |
缺省情況下,設備免費ARP報文的學習功能處於開啟狀態 |
|
使能收到非同一網段ARP請求時發送免費ARP報文功能 |
缺省情況下,設備收到非同一網段的ARP請求時不發送免費ARP報文 |
|
使能定時發送免費ARP功能,並設置發送免費ARP報文的周期 |
缺省情況下,定時發送免費ARP功能處於關閉狀態 本命令的支持情況與設備的型號有關,請參見“命令參考導讀”中的“命令行及參數支持情況”部分的介紹 |
· 設備最多允許同時在1024個接口上使能定時發送免費ARP功能。
· 配置定時發送免費ARP功能後,隻有當接口鏈路up並且配置IP地址後,此功能才真正生效。
· 如果修改了免費ARP報文的發送周期,則在下一個發送周期才能生效。
· 如果同時在很多接口下使能定時發送免費ARP功能,或者每個接口有大量的從IP地址,或者兩種情況共存的同時又配置很小的發送時間間隔,那麼免費ARP報文的發送頻率可能會遠遠低於用戶的預期。
ARP Snooping功能是一個用於二層交換網絡環境的特性,通過偵聽ARP報文建立ARP Snooping表項,從而提供給ARP快速應答使用。
設備使能ARP Snooping後,所有接口接收的ARP報文均會被重定向到CPU。CPU對重定向上送的ARP報文進行分析,獲取ARP報文的源IP地址、源MAC地址、VLAN和入端口信息,建立記錄用戶信息的ARP Snooping表項。
ARP Snooping表項的老化時間為25分鍾,有效時間為15分鍾。如果一個ARP Snooping表項自最後一次更新後15分鍾內沒有收到ARP更新報文,則此表項開始進入失效狀態,不再對外提供服務,其他特性查找此表項將會失敗。當收到源IP地址和源MAC與已存在的ARP Snooping表項IP地址和MAC均相同的ARP報文時,此ARP Snooping表項進行更新,重新開始生效,並重新老化計時。當ARP Snooping表項達到老化時間後,則將此ARP Snooping表項刪除。
如果ARP Snooping收到ARP報文時檢查到相同IP的ARP Snooping表項已經存在,但是MAC地址發生了變化,則認為發生了攻擊,此時ARP Snooping表項處於衝突狀態,表項失效,不再對外提供服務,並在25分鍾後刪除此表項。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP Snooping的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP Snooping表中的表項。
表3-2 ARP Snooping顯示和維護
在無線產品組網中,AC與AP會建立隧道連接,Client通過AP連接到AC,通過AC,Client可以與網關建立連接。當Client通過它連接的AP廣播發送一個ARP請求時,AC需要複製發送該ARP請求到所有的AP,這樣會導致ARP廣播占用隧道的大量資源,導致網絡性能下降。為了減少ARP廣播占用的隧道資源,可以在AC上啟用ARP快速應答功能,減少ARP廣播報文的影響。
ARP快速應答功能就是根據AC設備收集的用戶信息(用戶信息可以是DHCP Snooping表項,也可以是ARP Snooping表項),在指定的VLAN內,對ARP請求進行應答,從而減少ARP廣播報文。
關於DHCP Snooping的詳細介紹,請參見“三層技術配置指導”中的“DHCP Snooping”。
ARP快速應答的工作機製如下:
(1) 設備接收到ARP請求報文時,如果請求報文的目的IP地址是設備的VLAN接口的IP地址,則由ARP特性進行處理;
(2) 如果ARP請求報文的目的IP地址不是VLAN接口的IP地址,則根據報文中的目的IP地址查找DHCP Snooping表項:
· 如果查找成功,但是當查找到的表項的接口和收到請求報文的接口一致,並且接口是以太網接口時,不進行應答,否則立即進行應答。
· 如果查找失敗,則繼續查找ARP Snooping表項,如果查找成功,但是當查找到的表項的接口和收到請求報文的接口一致,並且接口是以太網接口時,不進行應答,否則立即進行應答。
· 如果兩個表均查找失敗,則向指定VLAN內除收到請求報文的接口外的其他接口轉發該請求報文或將報文交於其他特性處理。
表4-1 配置ARP快速應答
進入VLAN視圖 |
||
使能ARP快速應答功能 |
缺省情況下,ARP快速應答功能處於關閉狀態 |
· VLAN使能ARP快速應答功能後,此VLAN內的DHCP Snooping功能也被使能。
· 為了提高ARP快速應答的幾率,可以在應用ARP快速應答功能的場合同時使能ARP Snooping功能。
在Client 1、Client 2~Client 100、Client 101~Client 200無線終端分別通過AP 1、AP 2和AP 3接入網絡,AP 1、AP 2和AP 3通過Switch和AC互連,AP接入VLAN為VLAN 1。
當Client 1需要訪問Client 200時,Client 1發送ARP請求報文,ARP請求報文在AC上被複製發送給AP 2和AP 3,在具有多個AP的情況下,這種複製的廣播會占用了大量的隧道資源。
為減少對隧道資源的占用,可以在AC使能ARP快速應答,減少網絡中的ARP廣播報文。使能ARP快速應答,並且Client 200通過DHCP服務器獲得IP地址後,Client 1需要訪問Client 200時,ARP請求報文可以在AC上得到應答,而AC不會再對報文進行複製,從而減少了對隧道資源的占用。
圖4-1 配置ARP快速應答組網圖
(1) 配置AC基本功能(詳細介紹請參見“WLAN配置指導”中的“WLAN服務”)
# 使能WLAN服務(該命令可以不配置,因為缺省情況下該命令處於使能狀態)。
[AC] wlan enable
# 配置WLAN ESS接口。
[AC-WLAN-ESS1] quit
# 配置WLAN服務模板並將WLAN-ESS接口與該服務模板綁定。
[AC] wlan service-template 1 clear
[AC-wlan-st-1] ssid abc
[AC-wlan-st-1] bind wlan-ess 1
[AC-wlan-st-1] authentication-method open-system
[AC-wlan-st-1] service-template enable
[AC-wlan-st-1] quit
# 在AC上配置AP 1。
[AC-wlan-ap-ap1] serial-id 210235A29G007C000020
# 配置AP 1的射頻。
[AC-wlan-ap-ap1] radio 1 type dot11g
[AC-wlan-ap-ap1-radio-1] service-template 1
[AC-wlan-ap-ap1-radio-1] quit
[AC-wlan-ap-ap1] quit
AP 2和AP 3的配置和AP 1類似,這裏不逐一列出。
# 使能所有的射頻。
(2) 配置AC使能ARP Snooping。
(3) 配置AC上VLAN 1使能ARP快速應答。
[AC-vlan1] arp fast-reply enable
[AC-vlan1] quit
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!