您好,登錄后才能下訂單哦!
背景:
(1)根據缺省的TCP/IP協議棧處理,響應報文的源地址等于請求報文的目的IP。
(2)關于ARP表: IP、MAC、網絡接口的映射表;列表中的IP都屬于本設備所在的網段,發送/轉發非本地網段時候是通過網關,所以只需要使用網關對應的MAC即可。
(3)ARP條目更新的條件(滿足任意一個即可):
1、收到ARP request:目的MAC是廣播,且Target IP是本機上的IP;(這里說Target IP是為了與目的IP區分)
2、收到ARP reply:目的MAC是廣播或本機MAC,且ARP表中已經存在該條目;(如免費ARP報文和自身發出請求后的應答)
關于上述提到的Target IP,指的是ARP報文中請求的目標IP,ARP報文不屬于IP報文,具體結構如下圖:(不糾結ARP協議屬于二層還是三層協議)
由于是請求目標IP的MAC,所以Target MAC為全0待填充,這里需要注意的是ARP報文的目的MAC與Target MAC,由于報文是以廣播形式發送,所以二層的目的MAC是全F,而請求的Target MAC是屬于三層上的數據,全0待填充;Target MAC只是Wireshark的顯示,實際數據包是直接把四個值連在一起。APP reply報文則是單播,結構跟ARP request一樣,目的MAC改成ARP request的源MAC,三層數據上,則把請求的MAC填上,所有源和目的對調,就是說,Sender MAC會等于源MAC,Target MAC等于目的MAC。
(4)免費ARP:可用于檢測IP沖突和更新ARP條目,每次設置新IP和啟動網絡服務的時候會發送。
二層:源MAC為發送者MAC,目的MAC為全F
三層: 首先會發4個(Windows發3個,隔秒發送)Sender IP為全0的ARP包;沒有IP沖突的情況下,Linux(CentOS 6.4)會先發送一個Target MAC=Sender MAC=源MAC、Target IP=Sender IP=發送者IP的免費ARP包,接著發送一個Target MAC=F、其他跟前一個包相同的免費ARP包;Windows(Win10)則只發送一個Target MAC=0、Sender MAC=源MAC、Target IP=Sender IP=發送者IP的免費ARP包。
正題:
在配置LVS負載均衡架構的時候需要在RealServer上抑制ARP,具體是arp_ignore=1,arp_announce=2
arp_ignore: (回應ARP)
0:回應任何網口上收到的對任何本機IP地址的ARP查詢請求(默認)
1:只回應Target IP是接收網口的IP的ARP查詢請求
2:只回應Target IP是接收網口的IP的ARP查詢請求,且Sender IP必須與該網口屬于同一網段
4-7:保留未使用
8:不回應所有的arp查詢
arp_announce: (選擇ARP宣告時候使用的Sender IP)
0:使用發送(或轉發)的數據包的源IP作為發送ARP請求的Sender IP(默認) ;(可使用ping -I 驗證)
1:IP數據包的目的IP屬于本地某個接口的網段時,Sender IP則使用IP數據包源IP,不屬于則按2處理;
2:忽略數據包的源IP,使用能與目標主機會話的最佳地址來作為發送ARP的Sender IP,優先選擇對外接口的主IP;(loopback不是對外接口)
注:ARP表沒有網關對應的條目時,在發送IP數據包前會觸發 arp_announce;
Sender MAC跟系統無關,Sender MAC=源MAC,源MAC由物理地址決定,網絡***除外。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。