網絡工程師應該了解的ARP知識

2020-12-05 51CTO

動態ARP表項學習

大多數情況下,設備可以通過ARP協議動態學習和更新ARP表項。設備是如何進行動態學習的呢?其實動態ARP主要是通過廣播ARP請求報文和單播ARP應答報文這兩個過程完成地址解析的。

例如:小A和小C在一次聚會上互留了IP位址。如上圖所示,小A需要與小C進行通信時,知道了小C的IP位址為10.1.1.3/24,判斷後發現與自己在同一網段10.1.1.0/24,於是小A會廣播發送一個ARP請求報文,請求小C的MAC地址。

小C收到ARP請求報文後,會單播發送一個ARP應答報文,告訴對方自己的MAC地址是3-3-3。(在同一網段的小B也會收到ARP請求報文,但是由於ARP請求報文中的目的IP位址不是小B的IP位址,因此小B不會進行應答。)

小A收到ARP應答報文後,就會在自己的ARP表中增加一條動態表項:IP位址10.1.1.3對應MAC地址3-3-3,這樣小A就可以與小C進行通信啦。

說明:一方面由於ARP表的容量限制,另一方面也為了保證動態ARP表項的準確性,PC或交換機會對學習到的動態ARP表項進行老化。交換機上動態ARP表項有一定的老化時間,預設值是20分鐘,一般建議使用預設值。

設備上動態ARP表項到達老化時間後,設備會發送老化探測報文(即ARP請求報文),如果能收到ARP應答報文,則更新該動態ARP表項,本次老化探測結束;如果超過設置的老化探測次數後仍沒有收到ARP應答報文,則刪除該動態ARP表項,本次老化探測結束。

靜態ARP表項配置

對於網絡中的重要設備,如伺服器等,我們可以在交換機上配置靜態ARP表項。這樣可以避免交換機上重要設備IP位址對應的ARP表項被ARP攻擊報文錯誤更新,從而保證用戶與重要設備之間正常通信。

靜態ARP表項不會老化,不會被動態ARP表項覆蓋。用戶可以通過手工方式配置靜態ARP表項

例如,網絡中有一臺重要的伺服器,伺服器的IP位址為172.16.10.2,MAC地址為0023-0045-0067。如果交換機與這臺伺服器相連的接口GE1/0/1處於二層模式,並加入VLAN100。這時可以在交換機上為伺服器配置一條對應的ARP表項,具體配置如下。

  1. <Quidway> system-view 
  2. [Quidway] vlan batch 100 
  3. [Quidway] interface vlanif 100 
  4. [Quidway-Vlanif100] ip address 172.16.10.1 24 //VLANIF接口的IP位址需要與靜態ARP表項中的IP位址(172.16.10.2)同網段。 
  5. [Quidway-Vlanif100] quit 
  6. [Quidway] interface gigabitethernet 1/0/1 
  7. [Quidway-GigabitEthernet1/0/1] port link-type access 
  8. [Quidway-GigabitEthernet1/0/1] port default vlan 100 //接口GigabitEthernet1/0/1處於二層模式,需要加入VLAN100。 
  9. [Quidway-GigabitEthernet1/0/1] quit 
  10. [Quidway] arp static 172.16.10.2 0023-0045-0067 vid 100 interface gigabitethernet 1/0/1 

還是上面的那臺伺服器,如果交換機與伺服器相連的接口處於三層模式,這時在交換機上配置靜態ARP表項,可以參考如下配置。

  1. <Quidway> system-view 
  2. [Quidway] interface gigabitethernet 1/0/1 
  3. [Quidway-GigabitEthernet1/0/1] undo portswitch 
  4. [Quidway-GigabitEthernet1/0/1] ip address 172.16.10.1 24 //GigabitEthernet1/0/1的IP位址需要與靜態ARP表項中的IP位址(172.16.10.2)同網段。 
  5. [Quidway-GigabitEthernet1/0/1] quit 
  6. [Quidway] arp static 172.16.10.2 0023-0045-0067 interface gigabitethernet 1/0/1 

ARP代理(即Proxy ARP)

前面我們提到,主機進行動態ARP學習時,如果發現目的IP位址與自己在同一網段,會發送廣播ARP請求報文進行ARP學習。但是呢,有些情況下兩臺主機雖然在同一網段,但不在同一廣播域,目的主機是無法收到ARP請求報文的,因而也就無法成功學習到ARP表項。

在連接兩臺主機的交換機上使能ARP代理後,交換機相當於一個中介,Host_1發送ARP請求報文請求Host_2的MAC地址的時候,交換機會將自己的MAC地址告訴Host_1。這樣Host_1發給Host_2的數據報文會先發給交換機,再由交換機轉發給Host_2。

例如下面的三種情況,我們就可以用到ARP代理。

情況一:需要互通的主機Host_1與Host_2(主機上沒有配置預設網關)處於相同的網段但不在同一物理網絡(即不在同一廣播域)。由於在不同的廣播域,Host_1發送的ARP請求報文Host_2是收不到的,這時可以在交換機的VLANIF10和VLANIF20接口上使能路由式Proxy ARP功能(arp-proxy enable),實現Host_1與Host_2之間的互通。

情況二:需要互通的主機Host_1與Host_2處於相同網段,並且屬於相同VLAN,但是VLAN內接口IF_1與IF_2配置了埠隔離。由於IF_1與IF_2之間埠隔離,Host_1發送的ARP請求報文Host_2是收不到的,這時可以在Switch上關聯了VLAN10的VLANIF接口上使能VLAN內Proxy ARP功能(arp-proxy inner-sub-vlan-proxy enable),實現Host_1與Host_2之間的三層互通。

情況三:需要互通的主機Host_1與Host_2處於相同網段,但屬於不同VLAN。由於不在同一VLAN,Host_1發送的ARP請求報文Host_2當然也是收不到的,這時可以在Switch上關聯了VLAN10和VLAN20的VLANIF30接口上使能VLAN間Proxy ARP功能(arp-proxy inter-sub-vlan-proxy enable),實現Host_1與Host_2之間的三層互通。

如何保證ARP表安全?

1. 保證合法用戶的ARP報文可以上送CPU處理

預設情況下,為了保證CPU的正常運行,交換機對每種上送CPU的協議報文都設置了CPCAR值,對於超過CPCAR值的報文就會被丟棄。如果非法用戶發送大量的ARP報文,就會導致合法用戶的ARP報文無法上送CPU,也就無法正常生成ARP表項。

(1) ARP報文限速功能

基於源MAC地址對ARP報文限速。

  1. [HUAWEI] arp speed-limit source-mac maximum 10 //對於任意MAC地址,每秒最多允許10個ARP報文通過 

基於源IP位址對ARP報文限速。

  1. [HUAWEI] arp speed-limit source-ip maximum 10 //對於任意IP位址,每秒最多允許10個ARP報文通過 

基於全局對ARP報文限速。

  1. [HUAWEI] arp anti-attack rate-limit enable //開啟ARP限速功能 
  2. [HUAWEI] arp anti-attack rate-limit packet 200 interval 10 //指定設備在10秒鐘內最多允許上送200個ARP報文,超過限速值則丟棄 

基於VLAN對ARP報文限速。

  1. [HUAWEI-vlan3] arp anti-attack rate-limit enable //開啟ARP限速功能 
  2. [HUAWEI-vlan3] arp anti-attack rate-limit packet 200 interval 10 //指定VLAN3在10秒鐘內最多允許上送200個ARP報文,超過限速值則丟棄 

基於接口對ARP報文限速。

  1. [HUAWEI-GigabitEthernet0/0/1] arp anti-attack rate-limit enable //開啟ARP限速功能 
  2. [HUAWEI-GigabitEthernet0/0/1] arp anti-attack rate-limit packet 200 interval 10 //指定接口GE0/0/1在10秒鐘內最多允許上送200個ARP報文,超過限速值則丟棄 

(2) ARP Miss消息限速功能

如果網絡中有用戶向設備發送大量目標IP位址不能解析的IP報文(即路由表中存在該IP報文的目的IP對應的路由表項,但設備上沒有該路由表項中下一跳對應的ARP表項),將導致設備觸發大量的ARP Miss消息。這種觸發ARP Miss消息的IP報文會被上送到CPU進行處理,設備會根據ARP Miss消息生成和下發大量臨時ARP表項並向目的網絡發送大量ARP請求報文,這樣就增加了設備CPU的負擔。

通過對ARP Miss消息進行限速,可以減少設備CPU的負擔,這樣合法用戶的ARP報文就有可能會被上送處理。

基於源IP位址的ARP Miss消息限速。

  1. [HUAWEI] arp-miss speed-limit source-ip maximum 60 //允許設備每秒最多處理同一個源IP位址觸發的60個ARP Miss消息 

在全局對ARP Miss消息限速。另外也可以基於VLAN或接口對ARP Miss消息限速。

  1. [HUAWEI] arp-miss anti-attack rate-limit enable //開啟ARP Miss限速功能 
  2. [HUAWEI] arp-miss anti-attack rate-limit packet 200 interval 10 //指定設備在10秒鐘內最多允許上送200個ARP Miss消息,超過限速值則丟棄 

(3) 出口ARP檢測功能

出口ARP檢測就是通過減少VLAN內廣播報文較少CPU的負擔。其核心原理是根據DHCP Snooping表查找目的IP位址對應的出接口,將ARP請求報文直接從查找到的出接口發送出去,減少VLAN內廣播的ARP報文,從而減少CPU的負擔。

出口ARP檢測功能主要是為了減少網關設備處理的ARP報文個數。如圖1所示,通過在L2switch上使能出口ARP檢測功能,可以在L2switch廣播ARP請求報文之前,查找DHCP Snooping綁定表,如果能夠找到ARP報文中目的IP位址對應的出接口,則將ARP請求報文從找到的出接口發送出去,有效減少網關收到的ARP請求報文數量。

出口ARP檢測功能配置方法如下:

  1. [L2switch] dhcp enable //全局使能DHCP功能 
  2. [L2switch] dhcp snooping enable //全局使能DHCP Snooping功能 
  3. [L2switch] vlan 10  
  4. [L2switch-vlan10] dhcp snooping enable  
  5. [L2switch-vlan10] dhcp snooping arp security enable //使能出口ARP檢測功能 

2. 保證ARP表項的正確性

(1) 防止仿冒網關攻擊

提供下面幾種方法防止仿冒網關的攻擊

配置方法如下:

配置網關定時發送免費ARP報文。

  1. [Gateway] arp gratuitous-arp send enable //使能發送免費ARP報文,默認是發送時間間隔是30秒 

配置ARP防網關衝突檢測。

  1. [Gateway] arp anti-attack gateway-duplicate enable 

配置ARP網關保護功能。

  1. [L2switch] interface gigabitethernet 0/0/1  
  2. [L2switch-GigabitEthernet0/0/1] arp filter source 10.1.1.1 //被保護的網關IP位址是10.1.1.1 

(2) 防止仿冒合法用戶攻擊

ARP表項固化:

  • fixed-mac:ARP報文中的MAC地址與ARP表中對應條目的MAC地址不符則丟棄。
  • fixed-all:ARP報文中的MAC地址、接口、VLAN信息和ARP表項中的信息任一不匹配則丟棄。
  • send-ack:設備對收到涉及MAC地址、VLAN、或接口信息修改的ARP報文時,先發送ARP請求報文,未收到回應則丟棄。

動態ARP檢測功能:

設備將根據DHCP Snooping綁定表對收到的ARP報文的IP位址、MAC地址、VLAN或接口信息與綁定表中記錄的表項內容進行檢查,不匹配則直接丟棄。

配置ARP表項固化,可以基於全局和接口分別進行配置。

  1. [Gateway] arp anti-attack entry-check fixed-mac enable //指定固化方式是fixed-mac 

配置動態ARP檢測功能,可以基於接口和VLAN分別進行配置。

  1. [Gateway] vlan 10  
  2. [Gateway-vlan10] arp anti-attack check user-bind enable 

3. 保證合法用戶的ARP表項可以正常生成

(1) 限制可以學習的ARP表項數量

當發現某個接口下存在攻擊者,佔用大量ARP表資源時,通過限制該接口可以學習的ARP表項數量,可以避免ARP表被耗盡。當接口上學習到的ARP表達到指定的限制值時,該接口不再學習新的ARP表項。

(2) ARP表項嚴格學習

只有本設備主動發送的ARP請求報文的應答報文才能觸發本設備進行ARP學習,其他設備主動向本設備發送的ARP報文不能觸發本設備進行ARP學習。

配置方法如下:

限制ARP表項。

  1. [HUAWEI] interface gigabitethernet 0/0/1  
  2. [HUAWEI-GigabitEthernet0/0/1] arp-limit vlan 10 maximum 20 //配置接口GE0/0/1最多可以學習到20個VLAN10內的動態ARP表項 

配置ARP表項嚴格學習。

  1. [HUAWEI] arp learning strict //配置ARP表項嚴格學習 

查看ARP表

  • 想查看所有的ARP表項 :display arp all
  • 想查看動態的ARP表項 :display arp dynamic
  • 想查看靜態的ARP表項:display arp static
  • 想查看某一網段的ARP表項:display arp network x.x.x.x
  • 想查看某一接口相關的ARP表項:display arp interface xx
  • 想查看某一VPN實例的ARP表項:display arp vpn-instance xx
  • 想查看某個具體IP位址的ARP表項:display arp all | include x.x.x.x

【編輯推薦】

【責任編輯:

趙寧寧

TEL:(010)68476606】

點讚 0

相關焦點

  • 什麼是arp地址?什麼是arp攻擊?如何利用arp命令解決網絡故障
    很多情況下ip地址衝突除了人為,大多數都是由arp所造成的,今天我們就一起來了解一下arp相關的內容。其實用途挺大的,例如,當你網絡中出了問題,可能是有某些ip地址發生衝突了,mac對應的ip地址有誤,那麼你可以對它進行刪除這條arp記錄,然後重新添加新的記錄,網絡問題就會得到解決。
  • arp攻擊原理_arp攻擊怎麼解決
    打開APP arp攻擊原理_arp攻擊怎麼解決 網絡整理 發表於 2021-01-11 16:12:50   arp攻擊原理
  • arp協議屬於哪一層_arp協議的主要功能
    打開APP arp協議屬於哪一層_arp協議的主要功能 網絡整理 發表於 2021-01-11 15:51:34   arp協議屬於哪一層
  • ARP協議揭密
    如果有一個不被信任的節點對本地網絡具有寫訪問許可權,那麼也會有某種風險。這樣一臺機器可以發布虛假的ARP報文並將所有通信都轉向它自己,然後它就可以扮演某些機器,或者順便對數據流進行簡單的修改。ARP機制常常是自動起作用的。在特別安全的網絡上,ARP映射可以用固件,並且具有自動抑制協議達到防止幹擾的目的。
  • arp是什麼意思 遭受arp攻擊怎麼辦【圖解】
    實際上,這正是小編今天要為大家介紹的一個數碼名詞:arp,那麼arp是什麼意思,ARP斷網攻擊時又該怎麼解決呢?相信你看過接下來這篇文章過後,你就會知曉一二了!它主要指的就是根據電腦的ip地址獲取到的一個物理地址上的ip協議,arp是建立在網絡中各個主機之間互相信任的前提下,它還可以對本機ARP緩存中的的ip地址以及mac地址這兩者的對應關係進行排查,由此做出添加以及刪除各種靜態對應關係等等,現在我們常見的相關協議有rarp、代理arp等等,如果ndp的用戶還能在IPv6中來代替arp。
  • 網絡命令Ping netstat ipconfig arp tracert用法整理
    netstat命令的功能是顯示網絡連接、路由表和網絡接口信息,可以讓用戶得知有哪些網絡連接正在運作。使用時如果不帶參數,netstat顯示活動的 TCP 連接。-i 顯示所有網絡接口的信息,格式「netstat -i」。-n 以網絡IP位址代替名稱,顯示出網絡連接情形。-r顯示核心路由表,格式同「route -e」。
  • 實例講解如何對目標進行ARP欺騙
    乙太網內的嗅探sniff對於網絡安全來說並不是什麼好事,雖然對於網絡管理員能夠跟蹤數據包並且發現網絡問題,但是如果被破壞者利用的話,就對整個網絡構成嚴重的安全威脅。
  • 「神馬課堂」代理ARP之路由器代理ARP
    如果處於同一網段的兩臺主機,被隔在不同的物理網絡中。在沒有配置網關地址的情況下,兩臺主機需要進行數據通信時,發送方主機會向另一個網絡中的主機發送ARP請求,此時連接兩個網絡的路由設備能回復該ARP請求,發出ARP應答,這就是代理ARP。
  • arp地址解析協議工作的基本原理
    arp協議 區域網一個很重要的協議arp是地址解析協議是發現兩個地址之間的映射關係的過程。在使用ipv4的tcp/ip協議族種,這是由arp來實現的。arp是供網絡層地址(也就是ip地址)到相關硬體地址的動態映射,為什麼說是動態映射呢,因為隨著硬體地址的改變,arp協議在一定的時間內會繼續提供映射關係,無需人工管理。
  • 針對區域網ARP斷網攻擊監測及防禦追蹤的具體方法
    如何針對區域網arp斷網攻擊進行檢測呢?當區域網網速不穩定、或者計算機無法正常聯網、區域網網絡性能下降時,都有可能是區域網受到arp病毒攻擊所造成的,針對區域網arp攻擊以及防禦辦法,我們可以通過下面的方法來實現。
  • ARP路由式代理詳解
    華為設備開啟ARP代理功能三、如何實現ARP代理以主機A請求主機B為例:1、主機A發送arp廣播報文,請求主機B MAC地址。當我們訪問同一網段主機時,是不會向網關發出請求的,而是先通過廣播arp包來尋找對方的mac地址,然後再根據mac地址來進行二層的訪問只有訪問不同網段主機時,才會請求網關,接著網關網關查找自己的路由表,如果發現有到達目的網路的路由,則用自己的mac地址做回應,因為二層流量在三層裡面是被隔離的。
  • 通信網絡三層轉發工作原理及案例
    它一般工作在TCP/IP網絡模型的第三層。 三層轉發可以很複雜,也可以很簡單。今天我們就來講講網絡層的定義和 三層轉發的基本原理。 1.網絡層的定義 網絡層(network layer ):它位於OSI模型中的第三層,介於運輸層與數據鏈路層之間,提供發信端到目標端之間的信息傳輸服務。網絡層的數據以IP數據報的形式傳輸。
  • 網絡工程師和Linux運維工程師有什麼區別?學哪個比較好?
    網絡工程師和Linux運維工程師有什麼區別?學哪個比較好?學習shell編程,我們網工更應該掌握的iptables與最新的firewalld,學習web的搭建,samba,ftp與資料庫,學習負載均衡與高可用,系統調優等等。網絡工程師如何學習Linux?
  • 5個最常見Windows網絡命令提示符,知否知否?
    Windows命令提示符中有一些網絡診斷相關的命令可以幫助企業網絡運維人員快速定位問題,今天就介紹最常用的5個:pingping命令用於檢測網絡連通性,測試主機能否和目的IP或域名通信,如果能正常ping
  • 網絡常見的9大命令,非常實用!
    ⑥ ping localhostlocal host是系統的網絡保留名,它是127.0.0.1的別名,每臺計算機都應該能夠將該名字轉換成該地址。否則,則表示主機文件(/Windows/host)中存在問題。
  • 關於示波器,每個電子工程師都應該了解的幾點
    在電子工程師和技術人員要用到的全部測試設備中,最有用的無疑就是示波器。示波器的功能強大,可以幫助電子工程師和技術人員快速、準確地捕獲隨時間變化的電壓(或電流等其他參數)測量值,而實驗室中的任何其他設備都無法輕鬆完成這樣的測量。示波器是廣泛用於製造業、電路設計等行業,對於故障排除,信號完整性以及簡單了解電子電路工作原理的基本必備工具。
  • 機械工程師知識架構—了解80%以上的都是鳳毛麟角
    機械行業水很深,要想成大師,需要學習和了解的知識可以說一輩子都學不完的,當然具體也會細分很多不同的領域,不同領域所需要的知識也不同,當然了解的越多對於個人設計能力來說會有好處,也會提高你的眼界,使得你所設計的產品更加合理,更加經濟,多做多看多思考,探索精神和自主學習能力,更要多看相關的機械設計案例,機械設計手冊平時也要多看,注意平時的積累
  • 網絡安全測試必備工具
    網絡安全技術包括了廣泛的內容,從網絡體系架構的設計到安全控制的管理,都涉及多方面的技術和手段。部署網絡安全設備,進行網絡邏輯隔離,或者進行身份認證,遠程登錄,安全配置等操作,都是被動的防禦,所謂授之於魚不如授之以漁,了解常見的網絡安全測試工具,從被動變為主動,主動的查漏補缺,防患於未然。
  • 工程師需要了解的知識:控制系統的穩定性標準
    此著作注重探討工程師真正需要了解的補償及穩定給定控制系統的知識。本文包含此書有關穩定性標準章節的摘錄內容。本文引用地址:http://www.eepw.com.cn/article/226854.htm在電子領域,振蕩器是一種能夠產生自激正弦信號的電路。在多種多樣的配置中,振蕩器的加速過程牽涉到採用振蕩器的電子電路固有的噪聲。