ROS网通电信双线网络可能存在的问题及解决方案
點(diǎn)擊小圖打開(kāi)大圖
??? 在上圖示的雙線中,網(wǎng)通和電信直接相連的路由器以及左側(cè)用戶接入用的雙線路由器中,均會(huì)針對(duì)網(wǎng)通和電信IP端做路由表。當(dāng)網(wǎng)通用戶請(qǐng)求訪問(wèn)最左側(cè)的雙線路由器及其內(nèi)部服務(wù)器的電信IP時(shí), 請(qǐng)求通信數(shù)據(jù)包到達(dá)“網(wǎng)通骨干路由器”時(shí),由于目的地址是電信網(wǎng)絡(luò)段上的,因此將數(shù)據(jù)包交付給與自己相連的“電信骨干路由器”,最終網(wǎng)通用戶請(qǐng)求訪問(wèn)雙線 路由器及其內(nèi)部服務(wù)器的電信IP的通信的路徑為上圖紅色箭頭所示路徑。雙線路由器應(yīng)答這個(gè)來(lái)自網(wǎng)通用戶的請(qǐng)求時(shí),應(yīng)答數(shù)據(jù)包的目的地址為網(wǎng)通網(wǎng)絡(luò)段(網(wǎng)通 用戶的IP),由于雙線路由器上有策略路由,因此應(yīng)答時(shí)的數(shù)據(jù)通信路徑為上圖紫色箭頭所示路徑。
??? 這樣,訪問(wèn)通信就不是“從哪里來(lái),還從哪里回”了。
????從哪里來(lái),卻不從那里回,對(duì)于包通信來(lái)說(shuō),這并沒(méi)有什么問(wèn)題。互聯(lián)網(wǎng)網(wǎng)際層正是利用包傳遞可多路徑性來(lái)保證某些鏈路失效時(shí),包仍然可以選擇另外一條鏈路來(lái)完成通信的。
??? 但實(shí)際中為什么會(huì)遇到通信不能完成的情況呢,產(chǎn)生的原因可能如下:
????1、網(wǎng)通駐地路由器上做了禁止數(shù)據(jù)包的源IP地址為電信網(wǎng)段的包通過(guò)網(wǎng)通路由器。
????????? 一般,在骨干網(wǎng)絡(luò)上,路由設(shè)備不會(huì)對(duì)包通信做任何限制或者檢測(cè),骨干網(wǎng)上的路由器會(huì)根據(jù)路由表對(duì)包做盡可能快的轉(zhuǎn)發(fā)。訪問(wèn)控制,一般都發(fā)生在駐地網(wǎng)設(shè)備上。
??? 2、網(wǎng)通或電信路由設(shè)備上的路由表,缺少了某些到達(dá)彼此網(wǎng)絡(luò)的路由條目。
??????????此種情況會(huì)發(fā)生在有“中國(guó)特色”的網(wǎng)絡(luò)中(多家運(yùn)營(yíng)商之間惡性競(jìng)爭(zhēng),相互限制)。
??? 3、應(yīng)答通信經(jīng)過(guò)的線路中,某些設(shè)備開(kāi)啟了“狀態(tài)保持(檢測(cè))”功能,發(fā)現(xiàn)“沒(méi)從我這兒進(jìn),缺想從我這兒出”的通信就禁止掉。
???????? 此種情況也一般發(fā)生在駐地網(wǎng)設(shè)備中。
??? 4、包途中經(jīng)過(guò)的網(wǎng)絡(luò)設(shè)備做了三層、四層的過(guò)濾。
??????? 此種情況一般發(fā)生在網(wǎng)絡(luò)邊緣。
??? 總上述,如果駐地網(wǎng)做了上述的任何一種配置,要想保證通信的完成,就需要雙線路由器記住:請(qǐng)求從哪里來(lái),應(yīng)答就得從哪里回。也就是記住外部主動(dòng)連接的狀態(tài)(一般記錄這種狀態(tài)的方法是根據(jù)IP+端口),以便有此連接的應(yīng)答通信時(shí),還走原路。
一、發(fā)布內(nèi)部的服務(wù)器:
????在?【原創(chuàng)之NAT】在ROS中做NAT時(shí)指明IP或接口和不指定時(shí)的差異?一文中我們知道,當(dāng)向外發(fā)布內(nèi)部服務(wù)器時(shí),外部與內(nèi)部之間的數(shù)據(jù)包的源和目的IP地址可能經(jīng)過(guò)多次更改,這樣就給記錄某個(gè)連接帶來(lái)了難度(記錄連接基于IP+端口,通信由于NAT包的IP會(huì)多次變化,使得連接狀態(tài)變化多次,不利于記錄)【2011年9月10日后記:上述關(guān)于NAT時(shí),連接變化,NAT后返回的連接與先前的標(biāo)記不一致的說(shuō)法是錯(cuò)誤的,NAT時(shí)連接有變化,但正是由于NAT映射條目的存在,NAT條目記錄對(duì)應(yīng)了此變化,當(dāng)連接返回到NAT設(shè)備時(shí),連接將恢復(fù)為先前的連接】。此時(shí),我們可以通過(guò)給內(nèi)部服務(wù)器和雙線路由器配置兩套內(nèi)部IP地址,一套內(nèi)部地址對(duì)應(yīng)發(fā)布到一個(gè)公網(wǎng)IP,外部與內(nèi)部服務(wù)器間的通信細(xì)化到兩個(gè)獨(dú)立的通信體系中,每個(gè)通信體系按照常規(guī)的發(fā)布服務(wù)器配置即可。在ROS中的具體配置如下:
1、給服務(wù)器和ROS的LAN接口配置兩套內(nèi)部IP地址(也可以使用一個(gè)網(wǎng)段的兩個(gè)不同IP):
?????服務(wù)器:192.168.1.11/24和192.168.10.11/24
???? ROS的LAN:192.168.1.1/24和192.168.10.1/24
2、發(fā)布ROS的網(wǎng)通IP服務(wù)器,共兩條NAT:
???? 1)DST-NAT配置:
DST-NAT,Dst address 為ROS網(wǎng)通公網(wǎng)地址 in interface為接網(wǎng)通線路接口
DST-NAT,映射到內(nèi)部服務(wù)器IP
??????? 2)SRC-NAT配置:?
SRC-NAT,Dst-add為內(nèi)部服務(wù)器IP,In-Interface為ROS的LAN
SRC-NAT,TO address為ROS對(duì)應(yīng)于發(fā)布服務(wù)器IP的那組內(nèi)部地址
?????? 上述SRC-NAT配置方式,是為了將外部與內(nèi)部服務(wù)器間的通信,變?yōu)橛蒖OS代理,這樣內(nèi)部服務(wù)器可不配置網(wǎng)關(guān),對(duì)于內(nèi)部服務(wù)器來(lái)說(shuō),它不能主動(dòng)的與外部通信,只能被動(dòng)的與ROS通信。內(nèi)部服務(wù)器與外部的通信全變?yōu)榕cROS之間的通信,這樣可增強(qiáng)服務(wù)器的安全性。此問(wèn)題在?【原創(chuàng)之NAT】通過(guò)NAT技術(shù)來(lái)增強(qiáng)內(nèi)部服務(wù)器的安全性(應(yīng)用舉例:ISA)?一文中有詳細(xì)說(shuō)明。
?3、發(fā)布電信線路上的服務(wù)器:
?????上 面是針對(duì)發(fā)布到網(wǎng)通公網(wǎng)IP的配置,使用的內(nèi)部地址組為192.168.1.0/24,發(fā)布到電信公網(wǎng)IP的配置,將192.168.1.1用 192.168.10.1代替,192.168.11用192.168.10.11代替即可(如果使用一個(gè)網(wǎng)段的兩個(gè)IP,就分別代替原來(lái)的IP即可)。
4、針對(duì)兩套地址的服務(wù)器應(yīng)答外部的通信,做策略路由,注意,只對(duì)源端口為80的服務(wù)器通信做路由,這樣可避免服務(wù)器與外部其他通信受其影響。如果服務(wù)器使用一個(gè)網(wǎng)段的兩個(gè)IP,那么src address就是服務(wù)器設(shè)置的那兩個(gè)IP。
??????做策略路由時(shí),應(yīng)該按“新建連接”做,不可按如下圖直接對(duì)服務(wù)器的80通信做,如果這樣做的話,會(huì)導(dǎo)致策略路由表無(wú)限止的增大,產(chǎn)生性能問(wèn)題。
路由標(biāo)記:針對(duì)發(fā)布到網(wǎng)通線路的服務(wù)器的通信(注:此配置為說(shuō)明問(wèn)題的錯(cuò)誤方式)
做路由標(biāo)記(注:此配置為說(shuō)明問(wèn)題的錯(cuò)誤方式)
??????正確的配置如下:
連接狀態(tài)選擇:new; In .Interface選擇 電信出口 (后記:上圖抓圖時(shí)弄錯(cuò)了,應(yīng)該選in interface為L(zhǎng)AN) 對(duì)新建連接標(biāo)記連接
?對(duì)標(biāo)記連接的包做標(biāo)記路由
????上幾圖中為了精確標(biāo)記隨后策略路由所作用的接口,應(yīng)指定 in. Iterface接口。Connection State應(yīng)該選擇:new
本策略路由的目的是:增加一個(gè)優(yōu)先級(jí)比網(wǎng)通電信靜態(tài)路由表優(yōu)先級(jí)高的策略路由,以便讓外部電信用戶訪問(wèn)內(nèi)部網(wǎng)通服務(wù)器的本應(yīng)從電信接口出去的應(yīng)答數(shù)據(jù)走網(wǎng)通出口,因此路由作用的接口應(yīng)該是電信接口,也就是in. Interface選擇TEL電信。
做策略路由
?二、雙線路由器上的服務(wù)與外部通信
????????? 外部到路由器的通信較單一,可以很明確的標(biāo)記出某個(gè)連接,且此連接不會(huì)經(jīng)過(guò)ROS變換。下面展示了ROS中,不管電信或網(wǎng)通用戶都可以使用ROS的電信或網(wǎng)通IP遠(yuǎn)程連接到WINBOX的配置。
注:上圖請(qǐng)務(wù)必要選擇Connection State:new,否則可能會(huì)因?yàn)榇罅坎呗月酚蓪?dǎo)致ROS性能問(wèn)題
到ROS的通信,chain 要選擇input,根據(jù)IP-端口對(duì)連接做標(biāo)記
從ROS出站的通信,Chain選擇 output
上圖中如果選Out.Interface,應(yīng)該選電信接口(原因在上面已經(jīng)說(shuō)明)
對(duì)原來(lái)做過(guò)標(biāo)記的連接做路由標(biāo)記
上面幾圖中,雖然沒(méi)有指定In. Interface和Out.Interface,但不影響結(jié)果。實(shí)際上,在做路由標(biāo)記時(shí),應(yīng)該指定相應(yīng)的In. Interface和Out.Interface。針對(duì)上圖的標(biāo)記路由,接口應(yīng)該選擇電信。
最后將做了路由標(biāo)記的數(shù)據(jù)包送到指定的網(wǎng)關(guān)中:
上面是針對(duì)外部用戶通過(guò)網(wǎng)通IP來(lái)訪問(wèn)ROS上的服務(wù)時(shí)做到“從哪里來(lái)就從哪里回”的配置。外部用戶通過(guò)電信IP來(lái)訪問(wèn)ROS上的服務(wù)的配置和上面一樣,只要更改對(duì)應(yīng)的電信IP即可。
本文轉(zhuǎn)自 h2appy? 51CTO博客,原文鏈接:http://blog.51cto.com/h2appy/779863,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的ROS网通电信双线网络可能存在的问题及解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 每日科技分享-代码翻译神器
- 下一篇: 虹科分享|如何解决勒索软件安全漏洞