ip route / ip rule /iptables 配置策略路由

Linux 使用 ip route , ip rule , iptables 配置策略路由

要求192.168.0.100以內(nèi)的使用 10.0.0.1 網(wǎng)關(guān)上網(wǎng),其他IP使用 20.0.0.1 上網(wǎng)志电。

首先要在網(wǎng)關(guān)服務(wù)器上添加一個默認(rèn)路由曙咽,當(dāng)然這個指向是絕大多數(shù)的IP的出口網(wǎng)關(guān)。

ip route add default gw 20.0.0.1

之后通過 ip route 添加一個路由表

ip route add table 3 via 10.0.0.1 dev ethX (ethx是10.0.0.1所在的網(wǎng)卡,3 是路由表的編號)

之后添加 ip rule 規(guī)則

ip rule add fwmark 3  table 3 (fwmark 3是標(biāo)記挑辆,table 3 是路由表3 上邊例朱。 意思就是凡事標(biāo)記了 3 的數(shù)據(jù)使用table3 路由表)

之后使用iptables給相應(yīng)的數(shù)據(jù)打上標(biāo)記

iptables -A PREROUTING -t mangle -i eth0 -s 192.168.0.1 -192.168.0.100 -j MARK --set-mark 3

因為mangle的處理是優(yōu)先于 nat 和fiter表的,所以相依數(shù)據(jù)包到達(dá)之后先打上標(biāo)記鱼蝉,之后在通過ip rule規(guī)則洒嗤,對應(yīng)的數(shù)據(jù)包使用相應(yīng)的路由表進(jìn)行路由,最后讀取路由表信息魁亦,將數(shù)據(jù)包送出網(wǎng)關(guān)渔隶。

ip rule:

進(jìn)行路由時,根據(jù)路由規(guī)則來進(jìn)行匹配洁奈,按優(yōu)先級(pref)從低到高匹配,直到找到合適的規(guī)則.所以在應(yīng)用中配置默認(rèn)路由是必要的

路由規(guī)則的添加

ip rule add from 192.168.1.10/32 table 1 pref 100

如果pref值不指定间唉,則將在已有規(guī)則最小序號前插入

PS: 創(chuàng)建完路由規(guī)則若需立即生效須執(zhí)行

ip route flush cache

     

From -- 源地址
        To -- 目的地址(這里是選擇規(guī)則時使用,查找路由表時也使用)
          Tos -- IP包頭的TOS(type of sevice)域Linux高級路由-
         Dev -- 物理接口
         Fwmark -- iptables標(biāo)簽

 

采取的動作除了指定路由表外利术,還可以指定下面的動作:
         Table 指明所使用的表
          Nat 透明網(wǎng)關(guān)

             Prohibit 丟棄該包呈野,并發(fā)送 COMM.ADM.PROHIITED的ICMP信息 
            Reject 單純丟棄該包
             Unreachable丟棄該包, 并發(fā)送 NET UNREACHABLE的ICMP信息

 

Usage: ip rule [ list | add | del ]SELECTOR ACTION
         SELECTOR := [ from PREFIX ] [ toPREFIX ] [ tos TOS ][ dev STRING ] [ pref NUMBER ]
         ACTION := [ table TABLE_ID ] [ natADDRESS ][ prohibit | reject | unreachable ]
                  [ flowid CLASSID ]
         TABLE_ID := [ local | main | default| new | NUMBER ]

詳解看http://blog.csdn.net/scdxmoe/article/details/38661457

linux策略路由印叁,路由策略(高級路由設(shè)置被冒,多出口)

FROM http://rfyiamcool.blog.51cto.com/1030776/768562

功能說明:

由Linux實現(xiàn)流量分割,

1轮蜕, 到202.96.209.133的數(shù)據(jù)從Linux路由器的eth2到路由器A,再到202.96.209.133昨悼。
2, 到Internet其他地方的數(shù)據(jù)從Linux路由器的eth1到路由器B,再到Internet肠虽。

實現(xiàn)方法:

打開Linux的路由功能:

echo 1 >/proc/sys/net/ipv4/ip_forward

首先添加一條規(guī)則幔戏,指定從172.16.16.2來的數(shù)據(jù)查找路由表5:

ip ru add from 172.16.16.2 lookup 5

1,實現(xiàn)第一個功能

(1)税课,在路由表5中添加一條路由闲延,到202.96.209.133的數(shù)據(jù)經(jīng)過192.168.1.1:

# ip ro add 202.96.209.133 via 192.168.1.1 table 5

(2)痊剖,這樣就完成了路由的設(shè)置,因為172.16.16.2是私有地址垒玲,所以在Linux路由器的出口eth2處應(yīng)該對其進(jìn)行NAT的設(shè)置陆馁,如下:

# iptables -t nat -A POSTROUTING -s 172.16.16.2 -d 202.96.209.133 -j SNAT --to 192.168.1.3

(3),刷新路由緩存:

# ip ro flush cache

2合愈, 實現(xiàn)第二個功能(在第一個的基礎(chǔ)上)

(1)叮贩,在路由表5中添加默認(rèn)路由:

# ip ro add default via 10.10.10.2 table 5

(2),在Linux路由器的出口eth1處進(jìn)行NAT設(shè)置:

# iptables -t nat -A POSTROUTING -s 172.16.16.2 -j SNAT --to 10.10.10.1

(3)佛析,刷新路由緩存:

# ip ro flush cache

注意:如果路由緩存不刷新的話益老,路由命令不能馬上生效!

腳本如下:

#!/bin/sh  
echo 1 >/proc/sys/net/ipv4/ip_forward  
ip ru add from 172.16.16.2 lookup 5  
ip ro add 202.96.209.133 via 192.168.1.1 table 5  
iptables -t nat -A POSTROUTING -s 172.16.16.2 -d 202.96.209.133 -j SNAT --to 192.168.1.3  
ip ro add default via 10.10.10.2 table 5  
iptables -t nat -A POSTROUTING -s 172.16.16.2 -j SNAT --to 10.10.10.1  
ip ro flush cache  

你也可以將上面腳本中的幾行iptables命令合為一行如下:

#iptables -t nat -A POSTROUTING -s 172.16.16.2 -j MASQUERADE

那么腳本如下:

#!/bin/sh
echo 1 >/proc/sys/net/ipv4/ip_forward
ip ru add from 172.16.16.2 lookup 5
ip ro add 202.96.209.133 via 192.168.1.1 table 5
ip ro add default via 10.10.10.2 table 5
iptables -t nat -A POSTROUTING -s 172.16.16.2 -j MASQUERADE
ip ro flush cache

可以使用tracert命令進(jìn)行測試寸莫。不同點在于路由的第二跳捺萌,到202.96.209.133時,第二跳為:192.168.1.1膘茎,到其他地方時第二跳為:10.10.10.2桃纯。

注意:linux路由器是不能上網(wǎng)的,因為沒有為他自己指定專門的路由或默認(rèn)路由披坏。為Linux路由器指定路由的命令如下:

ip ro add default via 192.168.1.1
ip ro flush cache

文章2:

實驗名稱:Linux下實現(xiàn)基于源地址的策略路由
操作系統(tǒng):RedHat 7.2
所使用的內(nèi)核:2.4.18
必須的模塊: iproute2态坦,iptables

功能描述:首先你必須明白策略路由和路由策略是兩個不同的概念,策略路由是根據(jù)IP包中的源地址棒拂,端口號等來實現(xiàn)的伞梯;而路由策略可以理解為路由表中的一系列路由動作。

普通的路由是根據(jù)IP包中的目的地址來判斷的帚屉,如:如果數(shù)據(jù)包是到http://linux.networksbase.com的壮锻,那么發(fā)送到網(wǎng)關(guān)192.168.1.1,如果到其他地方發(fā)送到192.168.2.1涮阔。
但很多時候我們需要對數(shù)據(jù)包的源地址也要作出判斷,如:網(wǎng)絡(luò)中有幾條出口線路灰殴,那么優(yōu)先權(quán)高的人走速率快的鏈路敬特,其他人走速率慢的鏈路,這個時候就需要策略路由牺陶。

描述:實驗中有兩個局域網(wǎng):LAN 1和LAN 2伟阔,我們要實現(xiàn)如下功能:

1,LAN 1中的192.168.2.25和192.168.2.128從路由器A上網(wǎng)掰伸;
2皱炉,LAN 1中的其他用戶從路由器B上網(wǎng);
3狮鸭,LAN 2中的所有用戶從路由器A上網(wǎng)

實現(xiàn):

首先你要打開Linux服務(wù)器的路由功能合搅,命令如下:

echo 1> /proc/sys/net/ipv4/ip_forward

然后設(shè)置LAN 1和LAN 2的IP偽裝:

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.3.0/24 -j MASQUERADE

1多搀,設(shè)置192.168.2.25和192.168.2.128的路由:

ip rule add from 192.168.2.25 lookup 5
ip rule add from 192.168.2.128 lookup 5

這兩句話的意思是將來自192.168.2.25和192.168.2.128的數(shù)據(jù)查找路由表5

ip route add default via 192.168.0.1 table 5

定義路由表5的路由策略。

2灾部,設(shè)置LAN 1中其他用戶的路由:

ip rule add from 192.168.2.0/24 lookup 6

這句話的意思是讓來自192.168.2.0的數(shù)據(jù)查找路由表6

ip route add default via 192.168.1.1 table 6

定義路由表6的路由策略康铭。

3,設(shè)置LAN 2的路由:

ip rule add from 172.16.3.0/24 lookup 6

這句話的意思是讓來自LAN 2的數(shù)據(jù)查找路由表6

ip route add default via 192.168.1.1 table 6(這條命令上面已經(jīng)用過了赌髓!)

4从藤,刷新路由:

ip route flush cache

5,腳本如下:

#!/bin/sh  
echo 1> /proc/sys/net/ipv4/ip_forward  
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE  
iptables -t nat -A POSTROUTING -s 172.16.3.0/24 -j MASQUERADE  
ip rule add from 192.168.2.25 lookup 5  
ip rule add from 192.168.2.128 lookup 5  
ip route add default via 192.168.0.1 table 5  
ip rule add from 192.168.2.0/24 lookup 6  
ip rule add from 172.16.3.0/24 lookup 6  
ip route add default via 192.168.1.1 table 6  
ip route flush cache  

6锁蠕,更明顯一些夷野,我們可以將上面腳本中的iptables命令行替換為下面的行

iptables -t nat -A POSTROUTING -s 192.168.2.25/24 -j SNAT --to 192.168.0.51
iptables -t nat -A POSTROUTING -s 192.168.2.128/24 -j SNAT --to 192.168.0.51
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to 192.168.1.51
iptables -t nat -A POSTROUTING -s 172.16.3.0/24 -j SNAT --to 192.168.0.51

那么新腳本如下:

#!/bin/sh  
echo 1> /proc/sys/net/ipv4/ip_forward  
iptables -t nat -A POSTROUTING -s 192.168.2.25/24 -j SNAT --to 192.168.0.51  
iptables -t nat -A POSTROUTING -s 192.168.2.128/24 -j SNAT --to 192.168.0.51  
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to 192.168.1.51  
iptables -t nat -A POSTROUTING -s 172.16.3.0/24 -j SNAT --to 192.168.0.51  
ip rule add from 192.168.2.25 lookup 5  
ip rule add from 192.168.2.128 lookup 5  
ip route add default via 192.168.0.1 table 5  
ip rule add from 192.168.2.0/24 lookup 6  
ip rule add from 172.16.3.0/24 lookup 6  
ip route add default via 192.168.1.1 table 6  
ip route flush cache 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荣倾,隨后出現(xiàn)的幾起案子悯搔,更是在濱河造成了極大的恐慌,老刑警劉巖逃呼,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鳖孤,死亡現(xiàn)場離奇詭異,居然都是意外死亡抡笼,警方通過查閱死者的電腦和手機(jī)苏揣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來推姻,“玉大人平匈,你說我怎么就攤上這事〔毓牛” “怎么了增炭?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拧晕。 經(jīng)常有香客問我隙姿,道長,這世上最難降的妖魔是什么厂捞? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任输玷,我火速辦了婚禮,結(jié)果婚禮上靡馁,老公的妹妹穿的比我還像新娘冯痢。我一直安慰自己簇搅,他們只是感情好浅缸,可當(dāng)我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布润讥。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尤误。 梳的紋絲不亂的頭發(fā)上侠畔,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機(jī)與錄音袄膏,去河邊找鬼践图。 笑死,一個胖子當(dāng)著我的面吹牛沉馆,可吹牛的內(nèi)容都是我干的码党。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼斥黑,長吁一口氣:“原來是場噩夢啊……” “哼揖盘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锌奴,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤兽狭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鹿蜀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箕慧,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡茴恰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年颠焦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片往枣。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡伐庭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出分冈,到底是詐尸還是另有隱情圾另,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布雕沉,位于F島的核電站集乔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏坡椒。R本人自食惡果不足惜饺著,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肠牲。 院中可真熱鬧,春花似錦靴跛、人聲如沸缀雳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肥印。三九已至识椰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間深碱,已是汗流浹背腹鹉。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留敷硅,地道東北人功咒。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像绞蹦,于是被迫代替她去往敵國和親力奋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1.這篇文章不是本人原創(chuàng)的幽七,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的景殷,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,049評論 6 174
  • 9.1 引言 選路是IP最重要的功能之一。圖9-1是IP層處理過程的簡單流程澡屡。需要進(jìn)行選路的數(shù)據(jù)報可以由本地主機(jī)產(chǎn)...
    張芳濤閱讀 1,187評論 0 2
  • 1猿挚、第八章 Samba服務(wù)器2、第八章 NFS服務(wù)器3驶鹉、第十章 Linux下DNS服務(wù)器配站點绩蜻,域名解析概念命令:...
    哈熝少主閱讀 3,718評論 0 10
  • 0×1.VLAN介紹VLAN(Virtual Local Area Network,虛擬局域網(wǎng)),通過在支持VLA...
    Zero___閱讀 6,284評論 3 9
  • 這一期笑來專欄里講的是焦點問題。想想每件事情還有什么其他角度词顾。 昨天發(fā)生了一件事情八秃。正好能利用這個概念。 平時老公...
    許之歡喜閱讀 245評論 3 3