網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機(jī)、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 了解一些關(guān)于雙線策略路由的知識還是很用的,這里我們主要講解了雙線策略路由的三種實現(xiàn)方式,參考了下論壇中關(guān)于電信+網(wǎng)通雙線策略路由的帖子,并結(jié)合實際環(huán)境,將實現(xiàn)雙線策略路由的幾種方式總結(jié)如下,希望對有需要的朋友有所幫助,雙線比單線要復(fù)雜多了,但把雙線策略路由的原理弄明白了,就會發(fā)現(xiàn)其實并不難。
雙線路由策略的實現(xiàn)
1.靜態(tài)路由方式(這種方式是最簡單的)
1)設(shè)置默認(rèn)路由,比如電信
iproutereplacedefaultvia電信網(wǎng)關(guān)deveth1
2)設(shè)置雙線策略路由,對另外一條線路
iprouteadd網(wǎng)通路由表1via網(wǎng)通網(wǎng)關(guān)deveth2metric1
iprouteadd網(wǎng)通路由表2via網(wǎng)通網(wǎng)關(guān)deveth2metric1
....
3)添加原路返回路由
雙線策略路由規(guī)則設(shè)置完后,還要為每條線路加入相應(yīng)的“原路返回路由”(從哪條線進(jìn)來的數(shù)據(jù),最終還是從這條線出去),不然就會出現(xiàn)這樣的問題:電信用戶通過網(wǎng)通的IP訪問不到服務(wù)器,網(wǎng)通用戶也不能通過電信IP訪問到服務(wù)器。
iprouteflushtable100
iprouteadddefaultvia電信網(wǎng)關(guān)deveth1src電信IPtable100prio50
ipruleaddfrom電信IPtable100
iprouteflushtable200
iprouteadddefaultvia網(wǎng)通網(wǎng)關(guān)deveth2src網(wǎng)通IPtable200prio50
ipruleaddfrom網(wǎng)通IPtable200
iprouteadd192.168.0.0/24deveth0scopelinksrc192.168.0.1table100
iprouteadd192.168.0.0/24deveth0scopelinksrc192.168.0.1table200
2.雙線策略路由方式
為了方便,我們增加2個雙線策略路由表,電信=>100,網(wǎng)通=>200,這樣再添加規(guī)則時,就可以直接用自定義的名稱來替代數(shù)字
echo"100ctc" >>/etc/iproute2/rt_tables
echo"200cnc">> /etc/iproute2/rt_tables
1)設(shè)置默認(rèn)路由(電信)
iproutereplacedefaultvia電信網(wǎng)關(guān)deveth1
2)對網(wǎng)通進(jìn)行基于目的地址的雙線策略路由
ipruleaddto網(wǎng)通路由表1tablecncprio100
ipruleaddto網(wǎng)通路由表2tablecncprio100
....
3)添加原路返回路由
prouteflushtablectc
iprouteadddefaultvia電信網(wǎng)關(guān)deveth1src電信IPtablectc
iprouteadd192.168.0.0/24deveth0scopelinksrc192.168.0.1tablectc
ipruleaddfrom電信IPtablectc
iprouteflushtablecnc
iprouteadddefaultvia網(wǎng)通網(wǎng)關(guān)deveth2src網(wǎng)通IPtablecnc
iprouteadd192.168.0.0/24deveth0scopelinksrc192.168.0.1tablectc
ipruleaddfrom網(wǎng)通IPtablecnc
3.iptables打標(biāo)記+iproute2fwmark
1)使用CONNMARK對連接進(jìn)行標(biāo)記
外網(wǎng)進(jìn)來數(shù)據(jù)
iptables-tmangle-APREROUTING-ieth1-mconntrack--ctstateNEW-jCONNMARK--set-mark0x100
iptables-tmangle-APREROUTING-ieth2-mconntrack--ctstateNEW-jCONNMARK--set-mark0x200
轉(zhuǎn)發(fā)出去的數(shù)據(jù)
iptables-tmangle-APOSTROUTING-oeth1-mconntrack--ctstateNEW-jCONNMARK--set-mark0x100
iptables-tmangle-APOSTROUTING-oeth2-mconntrack--ctstateNEW-jCONNMARK--set-mark0x200
局域網(wǎng)進(jìn)來數(shù)據(jù)
iptables-tmangle-APREROUTING-ieth0-mconntrack--ctstateESTABLISHED,RELATED-jCONNMARK--restore-mark
本地出去數(shù)據(jù)
iptables-tmangle-AOUTPUT-mconntrack--ctstateESTABLISHED,RELATED-jCONNMARK--restore-mark
2)在IPROUTE2中做基于fwmark的雙線策略路由
ipruleaddfwmark0x100tablectcprio40
ipruleaddfwmark0x200tablecncprio40
3)添加原路返回路由
iprouteaddtablectcto$CTC_NETdeveth1scopelink
iprouteaddtablectcto$CNC_NETdeveth2scopelink
iprouteaddtablectcto192.168.0.0/24deveth0scopelink
iprouteadddefaultvia電信網(wǎng)關(guān)deveth1tablectc
iprouteaddtablecncto$CTC_NETdeveth1scopelink
iprouteaddtablecncto$CNC_NETdeveth2scopelink
iprouteaddtablecncto192.168.0.0/24deveth0scopelink
iprouteadddefaultvia網(wǎng)通網(wǎng)關(guān)deveth2tablecnc
Iptables/NAT規(guī)則
sbin/iptables-tnat-APOSTROUTING-oeth1-s局域網(wǎng)網(wǎng)段-jSNAT--to-source電信外網(wǎng)IP
sbin/iptables-tnat-APOSTROUTING-oeth2-s局域網(wǎng)網(wǎng)段-jSNAT--to-source網(wǎng)通外網(wǎng)IP
如果外網(wǎng)IP是動態(tài)的,可以用MASQUERADE
sbin/iptables-tnat-APOSTROUTING-oeth1-s局域網(wǎng)網(wǎng)段-jMASQUERADE
sbin/iptables-tnat-APOSTROUTING-oeth2-s局域網(wǎng)網(wǎng)段-jMASQUERADE
網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。
|