怎么排除錯(cuò)誤的CMP重定向
世界領(lǐng)先的企業(yè)網(wǎng)絡(luò)解決方案,及數(shù)字家庭網(wǎng)絡(luò)應(yīng)用倡導(dǎo)者美國網(wǎng)件公司,他出產(chǎn)的netgear路由器設(shè)備功能強(qiáng)大,那么你知道怎么排除錯(cuò)誤的CMP重定向嗎?下面是學(xué)習(xí)啦小編整理的一些關(guān)于怎么排除錯(cuò)誤的CMP重定向的相關(guān)資料,供你參考。
排除錯(cuò)誤的CMP重定向的方法:
拓?fù)?/p>
配置參數(shù)
FVS318G NAT模式,外網(wǎng)接口以實(shí)際情況配置,本例擬為123.123.123.122/30,默認(rèn)路由123.123.123.121, LAN IP 172.16.0.1
FVS318N路由模式(由于禁用了NAT,設(shè)備已無所謂哪一側(cè)是WAN,哪一側(cè)是LAN,本例中我們會(huì)仍然沿用設(shè)備前面板印刷接口名稱),WAN IP 172.16.0.100/24, LAN IP 172.16.1.1/24,默認(rèn)路由 172.16.0.1
SRX5308路由模式,WAN IP 172.16.1.100/24,LAN IP 172.16.2.1/24,默認(rèn)路由172.16.1.1
PC1 IP 172.16.2.2/24 網(wǎng)關(guān)172.16.2.1
PC2 IP 172.16.0.7/24 網(wǎng)關(guān) 172.16.0.1
三臺防火墻LAN-WAN間進(jìn)出站均allow any any
三臺防火墻各接口響應(yīng)ping,允許內(nèi)外網(wǎng)登錄
三臺防火墻使用RIPv1協(xié)議互通路由信息。
三臺防火墻均關(guān)閉DHCP,拓?fù)渲猩婕八薪涌诨蚓W(wǎng)卡IP手工配置。
PC2網(wǎng)卡MAC為CadmusCo_XX:6a:70
FVS318G LAN MAC為Netgear_XX:e1:b1
FVS318N WAN MAC為Netgear_XX:bf:ef
故障描述
當(dāng)FVS318G LAN管理地址配置為24位掩碼時(shí)PC1可以ping通PC2,可以訪問互聯(lián)網(wǎng)
當(dāng)FVS318G LAN管理地址設(shè)為16位掩碼時(shí)PC1無法ping通PC2
排錯(cuò)思路與步驟
查看FVS318G路由表,尋找子網(wǎng)掩碼的修改對路由表的影響.下圖為LAN掩碼為24位時(shí)FVS318G的路由表,其中有前往網(wǎng)絡(luò)172.16.2.0的條目
Interface NameDestinationMaskGatewayMetric
BroadBand123.123.123.121255.255.255.2520.0.0.00
BroadBand123.123.123.121255.255.255.252123.123.123.1221
LAN172.16.2.0255.255.255.0172.16.0.1003
LAN172.16.0.0255.255.255.00.0.0.00
LAN172.16.0.0255.255.255.0172.16.0.11
LAN172.16.1.0255.255.255.0172.16.0.1002
BroadBanddefault0.0.0.00.0.0.00
將FVS318G LAN掩碼改為16位并查看路由表
Interface NameDestinationMaskGatewayMetric
BroadBand123.123.123.121255.255.255.2520.0.0.00
BroadBand123.123.123.121255.255.255.252123.123.123.1221
LAN172.16.0.0255.255.0.00.0.0.00
LAN172.16.0.0255.255.0.0172.16.0.11
BroadBanddefault0.0.0.00.0.0.00
在FVS318G LAN掩碼為16位時(shí),PC2 ping往172.16.2.2的數(shù)據(jù)包會(huì)根據(jù)PC2的默認(rèn)路由丟給172.16.0.1(FVS318G LAN)
由于此時(shí)FVS318G LAN掩碼為16位, FVS318G會(huì)認(rèn)為172.16.2.2與自己的LAN在同一網(wǎng)絡(luò),F(xiàn)VS318G將嘗試根據(jù)ARP表封裝172.16.2.2的數(shù)據(jù)鏈路層地址,并將數(shù)據(jù)直接丟到FVS318G所認(rèn)為直連的PC1。
由于FVS318G ARP表中沒有172.16.2.2條目,設(shè)備將會(huì)以廣播形式請求172.16.2.2 MAC地址,我們可以在FVS318G的LAN側(cè)抓包以驗(yàn)證這一觀點(diǎn),
如上圖所示,由于FVS318G無法知曉172.16.2.2的鏈路層地址,目的MAC地址也就無從填寫,ping包甚至從來都不會(huì)從FVS318G的LAN側(cè)發(fā)送出去.
在FVS318G LAN側(cè)抓包時(shí)我們會(huì)發(fā)現(xiàn),除了FVS318G LAN發(fā)出的ARP請求外,PC2也在請求172.16.2.2的MAC地址
為了說明步驟7的成因,我們將FVS318G LAN掩碼改為24位,從PC2 ping往PC1并在PC2上抓包查看
對比步驟8截圖中的數(shù)據(jù)包7和數(shù)據(jù)包14
步驟8與9的截圖中我們可以發(fā)現(xiàn),同樣是由172.16.0.7發(fā)往172.16.2.2的數(shù)據(jù)包,數(shù)據(jù)包7與數(shù)據(jù)包14的目的MAC地址是不同的.數(shù)據(jù)包7目的MAC為FVS318G的LAN;數(shù)據(jù)包14目的地址為FVS318N的WAN。
造成上述這一改動(dòng)的原因是步驟8中的數(shù)據(jù)包10,我們來看一下數(shù)據(jù)包10的詳細(xì)內(nèi)容
步驟11中我們可以看到,數(shù)據(jù)包10(ICMP重定向)由FVS318G發(fā)往PC2,告知PC2去往172.16.2.2(PC1)的數(shù)據(jù)包可以直接丟向172.16.0.100(這是因?yàn)槁酚善靼l(fā)現(xiàn)自己不是最優(yōu)路徑)。
當(dāng)傳遞的數(shù)據(jù)包不是源地址路由數(shù)據(jù)包,且路由器內(nèi)核被設(shè)置為可發(fā)送ICMP重定向的情況下,如果數(shù)據(jù)包源IP與下一跳IP在同一網(wǎng)絡(luò)或者路由器即將轉(zhuǎn)發(fā)數(shù)據(jù)包的接口與收到這個(gè)數(shù)據(jù)包的接口相同時(shí),路由器會(huì)在轉(zhuǎn)發(fā)這個(gè)數(shù)據(jù)包后向數(shù)據(jù)來源發(fā)送一個(gè)ICMP重定向,以通告更優(yōu)路徑。
本例中,如果PC2對應(yīng)網(wǎng)卡的secure_redirect與accept_redirect設(shè)置為TURE,且ICMP重定向的發(fā)送源為PC2的默認(rèn)網(wǎng)關(guān)(172.16.0.1)時(shí),PC2會(huì)接受這條ICMP重定向,并將發(fā)往PC1數(shù)據(jù)包的下一跳改為FVS318N WAN口(如數(shù)據(jù)包14所示).在步驟8的截圖中可見,PC2在接收到數(shù)據(jù)包10( ICMP重定向)后在數(shù)據(jù)包11中請求了新的下一跳(FVS318N WAN)數(shù)據(jù)鏈路層地址,并在緊接著的ping請求(數(shù)據(jù)包14)中得以體現(xiàn)。
接下來我們可以在PC2上驗(yàn)證這一更新,首先ping PC1。
參考步驟8與步驟15的截圖可知,首2數(shù)據(jù)包被發(fā)往了默認(rèn)網(wǎng)關(guān)(FVS318G LAN),在PC2收到了來自FVS318G(172.16.0.100)的ICMP重定向后,余下的數(shù)據(jù)包將直接丟給FVS318N WAN口(172.16.0.100)。
此時(shí)您可能期望在PC2的路由表中看到更新的H路由條目以驗(yàn)證ICMP重定向?qū)C2的改變,但結(jié)果可能令人失望。
PC2的路由表并未得以更新,原因是在轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),Linux kernel將優(yōu)先匹配路由緩存,而后才是路由表.ICMP重定向更改的恰為此緩存表。
至此我們也回答了步驟7中提出的問題,PC2正是由于收到了FVS318G發(fā)出的ICMP重定向,所以試圖將數(shù)據(jù)包直接發(fā)往PC1(172.16.2.2),故而發(fā)送ARP請求PC1的鏈路層地址。
看過文章“怎么排除錯(cuò)誤的CMP重定向"的人還看了:
9.路由器配置的基本知識