01-ARP配置
本章節下載: 01-ARP配置 (476.78 KB)
· 三層以太網端口是指被配置為三層模式的以太網端口,有關以太網端口模式切換的操作,請參見“二層技術-以太網交換配置指導”中的“以太網端口配置”。
· 僅S5500-EI係列交換機支持配置三層以太網端口。
· 僅S5500-EI係列交換機支持vpn-instance vpn-instance-name參數。
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地址項。如果出接口是三層以太網端口,短靜態ARP表項可以直接用於報文轉發;如果出接口是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表項則重新變為未解析狀態。
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
手工添加靜態ARP表項 |
手工添加長靜態ARP表項 |
arp static ip-address mac-address vlan-id interface-type interface-number [ vpn-instance vpn-instance-name ] |
兩者必選其一 |
手工添加短靜態ARP表項 |
arp static ip-address mac-address [ vpn-instance vpn-instance-name ] |
· 參數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表項的最大數目
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口允許學習動態ARP表項的最大數目 |
arp max-learning-num number |
可選 缺省情況下,二層接口不對允許學習動態ARP表項的最大數目進行限製,對於S5500-EI係列以太網交換機的三層接口允許學習動態ARP表項的最大數目為8192;對於S5500-SI係列以太網交換機的三層接口允許學習動態ARP表項的最大數目為2048 當配置接口允許學習動態ARP表項的最大數目為0時,表示禁止接口學習動態ARP表項 |
如果二層接口及其所屬的VLAN三層接口都配置了允許學習動態ARP表項的最大數目,則以數目小的進行限製。
為適應網絡的變化,ARP表需要不斷更新。ARP表中的動態ARP表項並非永遠有效,每一條記錄都有一個老化時間,到達老化時間仍得不到刷新的記錄將被從ARP表中刪除。如果在到達老化時間前記錄被刷新,則重新計算老化時間。用戶可以根據網絡實際情況調整老化時間。
表1-3 配置動態ARP的老化時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置動態ARP的老化時間 |
arp timer aging aging-time |
可選 缺省情況下,動態ARP的老化時間為20分鍾 |
動態ARP表項檢查功能可以控製設備上是否可以學習MAC地址為組播MAC的動態ARP表項。
· 使能ARP表項的檢查功能後,設備上不能學習MAC地址為組播MAC的動態ARP表項。
· 關閉ARP表項的檢查功能後,設備上可以學習MAC地址為組播MAC的動態ARP表項。
表1-4 使能動態ARP表項的檢查功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能動態ARP表項的檢查功能 |
arp check enable |
可選 缺省情況下,使能動態ARP表項的檢查功能 |
如圖1-3所示,Laptop經常在無線站點AP1和AP2之間漫遊,導致Switch上記錄的Laptop的MAC地址與出端口的對應關係經常發生改變,但是Switch上的ARP表項不會立即更新,影響到數據業務的正常轉發。
圖1-3 快速更新ARP表項應用環境
使能快速更新ARP表項功能後,如果交換機上記錄的MAC地址與出端口的對應關係發生改變,係統會立刻更新ARP表項,保證了數據業務的不間斷轉發。
表1-5 配置快速更新ARP表項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能快速更新ARP表項功能 |
mac-address station-move quick-notify enable |
可選 缺省情況下,沒有使能快速更新ARP表項功能 |
快速更新ARP表項功能通常用於無線組網環境中,在其它組網環境中建議用戶不要使用該功能。
微軟的網絡負載均衡(NLB,Network Load Balancing)功能,是其在Windows Server上開發的一個多服務器集群負載均衡特性。
NLB支持集群內服務器之間的負載分擔以及冗餘備份,當發生服務器故障時可以支持數據快速切換。為了保證快速切換,NLB要求交換機將業務流量轉發至集群內的所有服務器或指定服務器,然後由各服務器將該服務器不期望的流量過濾掉,因此對於那些使用Windows Server作為服務器操作係統的中、小型數據中心來說,交換機與NLB的協同工作非常重要。
為了讓業務流量能夠被轉發到所有服務器或指定服務器,微軟NLB采取了一些處理機製,包括單播模式處理機製、組播模式處理機製和IGMP組播模式處理機製。
· 單播模式:在單播模式下,NLB重新為每個NLB節點分配一個共同的MAC地址(該MAC地址為集群MAC地址),並且在發送時修改數據報文的源MAC地址,從而使交換機不能將集群MAC地址學習到MAC地址表中,這樣目的地址為集群MAC地址的數據報文將作為未知單播報文在交換機的所有端口上進行轉發。
· 組播模式:在組播模式下,NLB使用一個組播地址(該MAC地址為虛擬MAC)用於NLB的通信,例如使用0300-5e11-1111來作為NLB節點的虛MAC地址。
· IGMP組播模式:IGMP組播模式和組播模式的區別在於:IGMP組播模式可以通過IGMP協議使交換機隻將數據報文發送到連接NLB節點的端口,而不是所有端口。
· 組播ARP功能僅適用於NLB采用組播模式處理機製的情況。
· 關於NLB的詳細介紹請參見Windows Server的相關文檔。
表1-6 配置組播ARP
操作 |
說明 |
詳細配置 |
關閉ARP表項的檢查功能 |
undo arp check enable |
必選 |
手工添加靜態ARP表項 |
arp static ip-address mac-address vlan-id interface-type interface-number [ vpn-instance vpn-instance-name ] |
可選 |
配置靜態組播MAC地址表項 |
mac-address multicast mac-address interface interface-list vlan vlan-id |
必選 |
mac-address multicast命令的詳細介紹請參見“IP組播命令參考/IGMP Snooping配置命令”。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP表中的ARP表項。
表1-7 ARP顯示和維護
操作 |
命令 |
顯示ARP表項 |
display arp [ [ all | dynamic | static ] [ slot slot-number ] | vlan vlan-id | interface interface-type interface-number ] [ count | verbose ] [ | { begin | exclude | include } regular-expression ] |
顯示指定IP地址的ARP表項 |
display arp ip-address [ slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
顯示指定VPN實例的ARP表項(僅S5500-EI支持) |
display arp vpn-instance vpn-instance-name [ count ] [ | { begin | exclude | include } regular-expression ] |
顯示動態ARP表項的老化時間 |
display arp timer aging [ | { begin | exclude | include } regular-expression ] |
清除ARP表項 |
reset arp { all | dynamic | static | slot slot-number | interface interface-type interface-number } |
· 清除ARP表項,將取消IP地址和MAC地址的映射關係,可能導致設備無法正常通信。清除前請務必仔細確認。
· 僅S5500-EI係列交換機支持verbose參數。
· Switch連接主機,通過接口GigabitEthernet1/0/1連接Router。接口GigabitEthernet1/0/1屬於VLAN 10。
· Router的IP地址為192.168.1.1/24,MAC地址為00e0-fc01-0000。
網絡管理員希望通過某種方法來防止惡意用戶對Switch進行ARP攻擊,增加Switch和Router通信的安全性。如果Router的IP地址和MAC地址是固定的,則可以通過在Switch上配置靜態ARP表項的方法,防止惡意用戶進行ARP攻擊。
圖1-4 配置靜態ARP表項組網圖
在Switch上進行下列配置。
# 創建VLAN 10。
<Switch> system-view
[Switch] vlan 10
[Switch-vlan10] quit
# 將接口GigabitEthernet1/0/1加入到VLAN 10中。
[Switch] interface GigabitEthernet 1/0/1
[Switch-GigabitEthernet1/0/1] port link-type trunk
[Switch-GigabitEthernet1/0/1] port trunk permit vlan 10
[Switch-GigabitEthernet1/0/1] quit
# 創建接口Vlan-interface10,並配置IP地址。
[Switch] interface vlan-interface 10
[Switch-vlan-interface10] ip address 192.168.1.2 24
[Switch-vlan-interface10] quit
# 配置一條靜態ARP表項,IP地址為192.168.1.1,對應的MAC地址為00e0-fc01-0000,此條ARP表項對應的出接口為屬於VLAN 10的接口GigabitEthernet1/0/1。
[Switch] arp static 192.168.1.1 00e0-fc01-0000 10 GigabitEthernet 1/0/1
# 查看靜態ARP表項信息。
[Switch] display arp static
Type: S-Static D-Dynamic A-Authorized
IP Address MAC Address VLAN ID Interface Aging Type
192.168.1.1 00e0-fc01-0000 10 GE1/0/1 N/A S
在一個小型數據中心裏,采用微軟的NLB(Network Loadbalancing)功能的組播模式處理機製,為了使交換機能夠和NLB協同工作,在交換機上進行如下配置:
· 端口GigabitEthernet1/0/2和GigabitEthernet1/0/3屬於Vlan 1,Vlan-interface1的IP地址為16.1.1.30/24;
· 端口GigabitEthernet1/0/1和GigabitEthernet1/0/4屬於Vlan 2,Vlan-interface2的IP地址為17.1.1.1/24;
· Host A和Host B的網關的IP地址為17.1.1.1/24;
· Server A 和 Srever B的網關的IP地址為16.1.1.30/24。
· 關閉ARP表項檢查功能。關閉ARP表項的檢查功能後,可以學習MAC地址為組播MAC的動態ARP表項;
· 為了保證除Switch 的GigabitEthernet1/0/2和GigabitEthernet1/0/3以外的其他端口不會接收到相關報文,在Switch上手工添加靜態組播MAC表項。
圖1-5 組播ARP配置舉例
l 本配置舉例僅給出交換機上的配置,有關服務器上NLB的配置請參見Windows Server的相關手冊。
l 該配置舉例僅適用於NLB的組播模式,假設Server的虛IP地址為16.1.1.100/24,虛MAC地址為03bf-1001-0164。
· 配置Switch
# 配置接口Vlan-interface2的IP地址。
<Switch> system-view
[Switch] vlan 2
[Switch-vlan2] port GigabitEthernet 1/0/4
[Switch-vlan2] port GigabitEthernet 1/0/1
[Switch-vlan2] quit
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 17.1.1.1 255.255.255.0
[Switch-Vlan-interface2] quit
# 配置接口Vlan-interface1的IP地址。
[Switch] interface vlan-interface 1
[Switch-Vlan-interface1] ip address 16.1.1.30 255.255.255.0
[Switch-Vlan-interface1] quit
#關閉ARP表項檢查功能。
[Switch] undo arp check enable
# 手工添加靜態組播MAC表項。
[Switch] mac-address multicast 03bf-1001-0164 interface GigabitEthernet 1/0/2 Gigabi
tEthernet 1/0/3 vlan 1
· NLB 負載分擔功能測試:分別在Server A和Server B上啟動FTP Server,兩台host向虛擬IP發起登錄請求,登錄在不同的Server上;
· NLB冗餘備份功能測試:禁用Server A的網卡,兩台host向虛擬IP發起登錄請求,應均登錄到Server B的FTP Server上。
免費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”。
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
使能免費ARP報文學習功能 |
gratuitous-arp-learning enable |
可選 缺省情況下,設備免費ARP報文的學習功能處於開啟狀態 |
使能收到非同一網段ARP請求時發送免費ARP報文功能 |
gratuitous-arp-sending enable |
可選 缺省情況下,設備收到非同一網段的ARP請求時不發送免費ARP報文 |
進入接口視圖 |
interface interface-type interface-number |
- |
使能定時發送免費ARP功能,並設置發送免費ARP報文的周期 |
arp send-gratuitous-arp [ interval milliseconds ] |
可選 缺省情況下,定時發送免費ARP功能處於關閉狀態 |
· 設備最多允許同時在1024個接口上使能定時發送免費ARP功能。
· 配置定時發送免費ARP功能後,隻有當接口鏈路up並且配置IP地址後,此功能才真正生效。
· 如果修改了免費ARP報文的發送周期,則在下一個發送周期才能生效。
· 如果同時在很多接口下使能定時發送免費ARP功能,或者每個接口有大量的從IP地址,或者兩種情況共存的同時又配置很小的發送時間間隔,那麼免費ARP報文的發送頻率可能會遠遠低於用戶的預期。
交換機接收到其它設備發送的免費ARP報文後,如果發現報文中的源IP地址和自己的IP地址相同,交換機會根據當前源IP地址衝突提示功能的狀態,進行如下處理:
· 如果源IP地址衝突提示功能處於關閉狀態,則發送一個免費ARP報文,在收到對應的ARP應答後才提示存在IP地址衝突,並在提示存在IP地址衝突的5秒鍾後,再次進行該項操作(發送免費ARP報文,在收到應答報文後提示存在IP地址衝突),這個過程會反複進行,直到衝突結束為止。
· 如果源IP地址衝突提示功能處於開啟狀態,則不會發送免費ARP報文,而是直接提示存在IP地址衝突。如果持續收到衝突的免費ARP報文,交換機將會每隔30秒鍾,提示一次存在IP地址衝突,直到衝突結束為止。
表2-2 開啟源IP地址衝突提示功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟源IP地址衝突提示功能 |
arp ip-conflict prompt |
可選 缺省情況下,源IP地址衝突提示功能處於關閉狀態 |
如果ARP請求是從一個網絡的主機發往同一網段卻不在同一物理網絡上的另一台主機,那麼連接它們的具有代理ARP功能的設備就可以回答該請求,這個過程稱作代理ARP(Proxy ARP)。
代理ARP功能屏蔽了分離的物理網絡這一事實,使用戶使用起來,好像在同一個物理網絡上。
代理ARP分為普通代理ARP和本地代理ARP,二者的應用場景有所區別:
· 普通代理ARP的應用環境為:想要互通的主機分別連接到設備的不同三層接口上,且這些主機不在同一個廣播域中。
· 本地代理ARP的應用環境為:想要互通的主機連接到設備的同一個三層接口上,且這些主機不在同一個廣播域中。
如無特殊說明,本章後續描述中的代理ARP均指普通代理ARP。
處於同一網段內的主機,當連接到設備的不同三層接口時,可以利用設備的代理ARP功能,通過三層轉發實現互通。
代理ARP的典型應用環境如圖3-1所示。設備Switch通過兩個VLAN接口Vlan-interface1和 Vlan-interface2連接兩個網絡,兩個VLAN接口的IP地址不在同一個網段,接口地址分別為192.168.10.99/24、192.168.20.99/24。但是兩個網絡內的主機Host A和Host B的地址通過掩碼的控製,既與相連設備的接口地址在同一網段,同時二者也處於同一個網段。
圖3-1 代理ARP的應用環境
在這種組網情況下,當Host A需要與Host B通信時,由於目的IP地址與本機的IP地址為同一網段,因此Host A會廣播發送ARP請求報文,請求Host B的MAC地址。但是,此時的兩台主機處於不同的廣播域中,Host B無法收到Host A的ARP請求報文,當然也就無法應答。
通過在Switch上啟用代理ARP功能,可以解決此問題。啟用代理ARP後,Switch可以應答Host A的ARP請求。同時,Switch相當於Host B的代理,把從其他主機發送過來的報文轉發給它。
代理ARP的優點是,它可以隻被應用在一個設備上(此時該設備的作用相當於網關),不會影響到網絡中其他設備的路由表。代理ARP功能可以在主機沒有配置缺省網關或者主機沒有任何路由能力的情況下使用。
本地代理ARP的應用場景如圖3-2所示。Host A和Host B屬於同一個VLAN 2,但它們分別連接到被二層隔離的端口GigabitEthernet1/0/3和GigabitEthernet1/0/1上,通過在SwitchA上啟用本地代理ARP功能,可以實現Host A和Host B的三層互通。
圖3-2 本地代理ARP的應用環境
本地代理ARP可以在下列三種情況下實現主機之間的三層互通:
· 想要互通的主機分別連接到同一個VLAN中的不同二層隔離端口下;
· 使能Super VLAN功能後,想要互通的主機屬於不同的Sub VLAN;
· 使能Isolate-user-vlan功能後,想要互通的主機屬於不同的Secondary VLAN。
代理ARP和本地代理ARP功能均可在VLAN接口視圖/三層以太網端口視圖/三層聚合接口視圖下進行配置。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟代理ARP功能 |
proxy-arp enable |
必選 缺省情況下,關閉代理ARP功能 |
表3-2 配置本地代理ARP功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟本地代理ARP功能 |
local-proxy-arp enable [ ip-range startIP to endIP ] |
必選 缺省情況下,關閉本地代理ARP功能 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後代理ARP的運行情況,查看顯示信息驗證配置的效果。
表3-3 代理ARP顯示和維護
操作 |
命令 |
顯示代理ARP的狀態 |
display proxy-arp [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示本地代理ARP的狀態 |
display local-proxy-arp [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
Host A和Host D為同一網段的主機(Host A的IP地址是192.168.10.100/16,Host D的IP地址是192.168.20.200/16),但卻被設備Switch分在兩個不同的子網(Host A屬於VLAN 1,Host D屬於VLAN 2)。
當Host A需要與Host D通信時,由於目的IP地址與本機的IP地址屬於同一網段,Host A會直接發出請求Host D硬件地址的ARP請求。但是,因為兩台主機處於不同的廣播域中,Host D無法收到Host A的ARP請求報文,當然也就無法應答。通過在Switch上啟用代理ARP功能,可以使得處在兩個子網的Host A和Host D互通。
圖3-3 配置代理ARP組網圖
# 創建VLAN 2。
<Switch> system-view
[Switch] vlan 2
[Switch-vlan2] quit
# 配置接口Vlan-interface1的IP地址。
[Switch] interface vlan-interface 1
[Switch-Vlan-interface1] ip address 192.168.10.99 255.255.255.0
# 開啟接口Vlan-interface1的代理ARP功能。
[Switch-Vlan-interface1] proxy-arp enable
[Switch-Vlan-interface1] quit
# 配置接口Vlan-interface2的IP地址。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.20.99 255.255.255.0
# 開啟接口Vlan-interface2的代理ARP功能。
[Switch-Vlan-interface2] proxy-arp enable
配置完成後,Host A和Host D可以互相ping通。
· Host A和Host B屬於同一個VLAN,分別與設備Switch B的端口GigabitEthernet1/0/3和GigabitEthernet1/0/1相連;
· 設備Switch B通過端口GigabitEthernet1/0/2端口與Switch A相連。
在此網絡中要求:
· Host A和Host B之間不能二層互通。
· Host A和Host B之間可以進行三層通信。
通過如下方法,可以滿足上述需求:
· 配置端口隔離實現Host A和Host B之間不能二層互通。
· 配置本地代理ARP功能實現Host A和Host B之間三層互通。
圖3-4 配置端口隔離時的本地代理ARP組網圖
(1) 配置Switch B
# 在Switch B上端口GigabitEthernet1/0/3、GigabitEthernet1/0/1、GigabitEthernet1/0/2屬於同一VLAN 2;Host A和Host B彼此之間二層報文不能互通。
<SwitchB> system-view
[SwitchB] vlan 2
[SwitchB-vlan2] port GigabitEthernet 1/0/3
[SwitchB-vlan2] port GigabitEthernet 1/0/1
[SwitchB-vlan2] port GigabitEthernet 1/0/2
[SwitchB-vlan2] quit
[SwitchB] interface GigabitEthernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] port-isolate enable
[SwitchB-GigabitEthernet1/0/3] quit
[SwitchB] interface GigabitEthernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] port-isolate enable
[SwitchB-GigabitEthernet1/0/1] quit
(2) 配置SwitchA
# 創建VLAN 2,添加端口GigabitEthernet1/0/2到VLAN 2。
<SwitchA> system-view
[SwitchA] vlan 2
[SwitchA-vlan2] port GigabitEthernet 1/0/2
[SwitchA-vlan2] quit
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 192.168.10.100 255.255.0.0
從Host A上ping不通Host B,表明Host A和Host B二層隔離。
# 配置本地代理ARP,實現Host A和Host B之間的三層互通。
[SwitchA-Vlan-interface2] local-proxy-arp enable
從Host A上可以ping通Host B,表明Host A和Host B三層互通了。
· 創建Super VLAN:VLAN 10,VLAN接口的IP地址為192.168.10.100/16。
· 創建Sub VLAN:VLAN 2、VLAN 3。
· 端口GigabitEthernet1/0/2屬於VLAN 2,端口GigabitEthernet1/0/1屬於VLAN 3。
· Host A屬於VLAN 2,與Switch的端口GigabitEthernet1/0/2相連;Host B屬於VLAN 3,與Switch的端口GigabitEthernet1/0/1相連。
由於Host A和Host B屬於不同的Sub VLAN,Host A和Host B之間二層隔離。通過在Switch上配置本地代理ARP功能,可以實現Host A和Host B之間的三層互通。
圖3-5 配置Super VLAN中的本地代理ARP組網圖
# 創建Super VLAN,Sub VLAN;添加端口GigabitEthernet1/0/2到VLAN 2,端口GigabitEthernet1/0/1到VLAN 3;配置VLAN 10接口的IP地址為192.168.10.100/16。
[Switch] vlan 2
[Switch-vlan2] port GigabitEthernet 1/0/2
[Switch-vlan2] quit
[Switch] vlan 3
[Switch-vlan3] port GigabitEthernet 1/0/1
[Switch-vlan3] quit
[Switch] vlan 10
[Switch-vlan10] supervlan
[Switch-vlan10] quit
[Switch] interface vlan-interface 10
[Switch-Vlan-interface10] ip address 192.168.10.100 255.255.0.0
從Host A上ping不通Host B,表明Host A和Host B二層隔離。
# 配置本地代理ARP,實現Sub VLAN之間的三層互通。
[Switch-Vlan-interface10] local-proxy-arp enable
從Host A上可以ping通Host B,表明Host A和Host B三層互通了。
· 設備Switch A下接設備Switch B。
· 設備Switch B上的VLAN 5為Isolate-user-vlan,包含上行端口GigabitEthernet1/0/2和兩個Secondary VLAN(VLAN 2和VLAN 3),VLAN 2包含端口GigabitEthernet1/0/3,VLAN 3包含端口GigabitEthernet1/0/1。
· Host A屬於VLAN 2,與Switch B的端口GigabitEthernet1/0/3相連;Host B屬於VLAN 3,與Switch B的端口GigabitEthernet1/0/1相連。
由於Host A和Host B屬於不同的Secondary VLAN,Host A和Host B之間二層隔離。通過在Switch A上啟用本地代理ARP功能,可以實現Host A和Host B之間的三層互通。
圖3-6 配置Isolate-user-vlan中的本地代理ARP組網圖
(1) 配置Switch B
# 在設備Switch B上創建VLAN 2、VLAN 3和VLAN 5;添加端口GigabitEthernet1/0/3到VLAN 2,端口GigabitEthernet1/0/1到VLAN 3,端口GigabitEthernet1/0/2到VLAN 5;配置VLAN 5為Isolate-user-vlan,VLAN 2和VLAN 3為Secondary VLAN;配置Isolate-user-vlan和Secondary VLAN間的映射關係。
<SwitchB> system-view
[SwitchB] vlan 2
[SwitchB-vlan2] port GigabitEthernet 1/0/3
[SwitchB-vlan2] quit
[SwitchB] vlan 3
[SwitchB-vlan3] port GigabitEthernet 1/0/1
[SwitchB-vlan3] quit
[SwitchB] vlan 5
[SwitchB-vlan5] port GigabitEthernet 1/0/2
[SwitchB-vlan5] isolate-user-vlan enable
[SwitchB-vlan5] quit
[SwitchB] interface GigabitEthernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] port isolate-user-vlan 5 promiscuous
[SwitchB-GigabitEthernet1/0/2] quit
[SwitchB] interface GigabitEthernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] port isolate-user-vlan host
[SwitchB-GigabitEthernet1/0/1] quit
[SwitchB] interface GigabitEthernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] port isolate-user-vlan host
[SwitchB-GigabitEthernet1/0/3] quit
[SwitchB] isolate-user-vlan 5 secondary 2 3
(2) 配置Switch A
# 創建VLAN 5,添加端口GigabitEthernet1/0/2到VLAN 5。
<SwitchA> system-view
[SwitchA] vlan 5
[SwitchA-vlan5] port GigabitEthernet 1/0/2
[SwitchA-vlan5] quit
[SwitchA] interface vlan-interface 5
[SwitchA-Vlan-interface5] ip address 192.168.10.100 255.255.0.0
從Host A上ping不通Host B,表明Host A和Host B二層隔離。
# 配置本地代理ARP,實現Secondary VLAN之間的三層互通。
[SwitchA-Vlan-interface5] local-proxy-arp enable
從Host A上可以ping通Host B,表明Host A和Host B三層互通了。
ARP Snooping功能是一個用於二層交換網絡環境的特性,通過偵聽ARP報文建立ARP Snooping表項。
設備上的一個VLAN使能ARP Snooping後,該VLAN內所有端口接收的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分鍾後刪除此表項。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
使能ARP Snooping功能 |
arp-snooping enable |
必選 缺省情況下,關閉ARP Snooping功能 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP Snooping的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP Snooping表中的表項。
表4-2 ARP Snooping顯示和維護
操作 |
命令 |
顯示ARP Snooping表項 |
display arp-snooping [ ip ip-address | vlan vlan-id ] [ | { begin | exclude | include } regular-expression ] |
清除ARP Snooping表項 |
reset arp-snooping [ ip ip-address | vlan vlan-id ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!