十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
問(wèn)題背景如下:
1,公司內(nèi)網(wǎng)到某機(jī)房公網(wǎng)不通(ping,traceroute,curl都不行)
2,在某機(jī)房此公網(wǎng)的機(jī)器到公司內(nèi)網(wǎng)也不通(ping,traceroute,curl都不行)
3,但是某機(jī)房此公網(wǎng)哪個(gè)的機(jī)器可以通過(guò)網(wǎng)關(guān)通外網(wǎng),并且外網(wǎng)環(huán)境也能訪問(wèn)某機(jī)房公網(wǎng)ip,只有公司內(nèi)網(wǎng)到這些ip不同。
4,公司內(nèi)網(wǎng)到其它幾個(gè)機(jī)房的公網(wǎng)都沒問(wèn)題
公司內(nèi)網(wǎng)到某機(jī)房公網(wǎng)不通的traceroute結(jié)果:
$ traceroute x.x.x.x
traceroute to x.x.x.x (x.x.x.x), 30 hops max, 60 byte packets
1 * * *
2 10.x.253.1 (10.x.253.1) 7.092 ms 7.388 ms 7.384 ms
3 10.x.2.2 (10.x.2.2) 7.372 ms 7.615 ms 8.347 ms
4 10.x.1.2 (10.x.1.2) 7.595 ms 8.335 ms 8.331 ms
5 192.x.168.254 (192.x.168.254) 8.879 ms 9.325 ms 10.077 ms
6 * * *
......
30 * * *
公司內(nèi)網(wǎng)到其它機(jī)房公網(wǎng)正常的traceroute結(jié)果:
$ traceroute xx.xx.xx.xx
traceroute toxx.xx.xx.xx (xx.xx.xx.xx), 30 hops max, 60 byte packets
1 * * *
2 10.x.253.1 (10.x.253.1) 7.092 ms 7.388 ms 7.384 ms
3 10.x.2.2 (10.x.2.2) 7.372 ms 7.615 ms 8.347 ms
4 10.x.1.2 (10.x.1.2) 7.595 ms 8.335 ms 8.331 ms
5 * * *
6 111.111.111.111 (111.111.111.111) 8.879 ms 9.325 ms 10.077 ms
7 * * *
8 xx.xx.xx.xx
問(wèn)題分析解決步驟:(發(fā)現(xiàn)這個(gè)問(wèn)題之后,感覺和奇怪,雖然不影響服務(wù),但是好奇心還是驅(qū)使著想把問(wèn)題搞清楚)
一,分析了一下某機(jī)房機(jī)器的路由,都正常沒有發(fā)現(xiàn)異常
二,我測(cè)試了某機(jī)房和其它機(jī)房之間的網(wǎng)絡(luò),外網(wǎng)到某機(jī)房的網(wǎng)絡(luò)都是正常的。第一個(gè)懷疑對(duì)象就是覺得公司內(nèi)網(wǎng)有限制,因?yàn)榭磘raceroute結(jié)果,數(shù)據(jù)包還沒有出公司內(nèi)網(wǎng)。所以,就和公司IT部門排查了一番,發(fā)現(xiàn)并沒有任何限制
三,然后,懷疑公司機(jī)房是否有相關(guān)限制呢。所以,又找網(wǎng)絡(luò)組查了一番,結(jié)果仍然是沒有任何限制
四,排除外部因素之后,就懷疑可能是系統(tǒng)有問(wèn)題了。并且,通過(guò)在某機(jī)房的外網(wǎng)機(jī)器上抓包能抓到公司內(nèi)網(wǎng)送達(dá)的traceroute包,只是某機(jī)房的機(jī)器沒有回復(fù)數(shù)據(jù)包,那就更確定是系統(tǒng)本身的問(wèn)題了。通過(guò)強(qiáng)大的google發(fā)現(xiàn)了rp_filter這個(gè)參數(shù)導(dǎo)致了這個(gè)問(wèn)題,因?yàn)槲覀兡硻C(jī)房機(jī)器此參數(shù)為1.
rp_filter參數(shù)的作用:
rp_filter - INTEGER 0 - No source validation. 1 - Strict mode as defined in RFC3704 Strict Reverse Path Each incoming packet is tested against the FIB and if the interface is not the best reverse path the packet check will fail. By default failed packets are discarded. 2 - Loose mode as defined in RFC3704 Loose Reverse Path Each incoming packet's source address is also tested against the FIB and if the source address is not reachable via any interface the packet check will fail. Current recommended practice in RFC3704 is to enable strict mode to prevent IP spoofing from DDos attacks. If using asymmetric routing or other complicated routing, then loose mode is recommended. The max value from conf/{all,interface}/rp_filter is used when doing source validation on the {interface}. Default value is 0. Note that some distributions enable it in startup scripts.
置為1的作用為:數(shù)據(jù)包從哪個(gè)網(wǎng)口進(jìn)來(lái)從哪個(gè)網(wǎng)口出去,如果不匹配 丟棄。
結(jié)論:
公司內(nèi)網(wǎng)到某機(jī)房機(jī)器的request數(shù)據(jù)包從公網(wǎng)網(wǎng)卡進(jìn)入,而reply的數(shù)據(jù)包根據(jù)機(jī)器的路由規(guī)則則從某機(jī)房機(jī)器的內(nèi)網(wǎng)網(wǎng)卡流出。而某機(jī)房機(jī)器rp_filter為1,從而導(dǎo)致數(shù)據(jù)包被系統(tǒng)丟棄。而rp_filter這個(gè)參數(shù)默認(rèn)是0,由于歷史原因被調(diào)整成了1,我們重新把管理的所有機(jī)器都調(diào)整為了默認(rèn)值以解決類似問(wèn)題。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。