linux 添加路由_linux网络知识:路由策略(ip rule,ip route)
一,路由策略(使用ip rule命令操作路由策略數(shù)據(jù)庫)
基于策略的路由比傳統(tǒng)路由在功能上更強大,使用更靈活,它使網(wǎng)絡(luò)管理員不僅能夠根據(jù)目的地址而且能夠根據(jù)報文大小,應(yīng)用或IP源地址等屬性來選擇轉(zhuǎn)發(fā)路徑。
#例子1:通過路由表 inr.ruhep 路由來自源地址為192.203.80/24的數(shù)據(jù)包ip rule add from 192.203.80/24 table inr.ruhep prio 220 #例子2:把源地址為193.233.7.83的數(shù)據(jù)報的源地址轉(zhuǎn)換為192.203.80.144,并通過表1進行路由ip rule add from 193.233.7.83 nat 192.203.80.144 table 1 prio 320在 Linux 系統(tǒng)啟動時,內(nèi)核會為路由策略數(shù)據(jù)庫配置三條缺省的規(guī)則:
0:匹配任何條件,查詢路由表local(ID 255),該表local是一個特殊的路由表,包含對于本地和廣播地址的優(yōu)先級控制路由。rule 0非常特殊,不能被刪除或者覆蓋。
32766:匹配任何條件,查詢路由表main(ID 254),該表是一個通常的表,包含所有的無策略路由。系統(tǒng)管理員可以刪除或者使用另外的規(guī)則覆蓋這條規(guī)則。
32767:匹配任何條件,查詢路由表default(ID 253),該表是一個空表,它是后續(xù)處理保留。對于前面的策略沒有匹配到的數(shù)據(jù)包,系統(tǒng)使用這個策略進行處理,這個規(guī)則也可以刪除。
注:不要混淆路由表和策略:規(guī)則指向路由表,多個規(guī)則可以引用一個路由表,而且某些路由表可以策略指向它。如果系統(tǒng)管理員刪除了指向某個路由表的所有規(guī)則,這個表沒有用了,但是仍然存在,直到里面的所有路由都被刪除,它才會消失。
二,路由表(使用ip route命令操作靜態(tài)路由表)
所謂路由表,指的是路由器或者其他互聯(lián)網(wǎng)網(wǎng)絡(luò)設(shè)備上存儲的表,該表中存有到達特定網(wǎng)絡(luò)終端的路徑,在某些情況下,還有一些與這些路徑相關(guān)的度量。路由器的主要工作就是為經(jīng)過路由器的每個數(shù)據(jù)包尋找一條最佳的傳輸路徑,并將該數(shù)據(jù)有效地傳送到目的站點。由此可見,選擇最佳路徑的策略即路由算法是路由器的關(guān)鍵所在。為了完成這項工作,在路由器中保存著各種傳輸路徑的相關(guān)數(shù)據(jù)--路由表,供路由選擇時使用,表中包含的信息決定了數(shù)據(jù)轉(zhuǎn)發(fā)的策略。
linux 系統(tǒng)中,可以自定義從 1-252個路由表,其中,linux系統(tǒng)維護了4個路由表:
0#表:系統(tǒng)保留表
253#表:defulte table 沒特別指定的默認路由都放在該表
254#表:main table 沒指明路由表的所有路由放在該表
255#表:locale table 保存本地接口地址,廣播地址、NAT地址 由系統(tǒng)維護,用戶不得更改。
路由表的查看可有以下二種方法:
ip route list table table_numberip?route?list?table?table_name路由表序號和表名的對應(yīng)關(guān)系在 /etc/iproute2/rt_tables文件中,可以手動編輯,路由表添加完畢及時生效,實例如下:
#實例1:在一號表中添加默認路由為192.168.1.1ip route add default via 192.168.1.1 table 1 ?#實例2:在一號表中添加一條到192.168.0.0網(wǎng)段的路由為192.168.1.2ip route add 192.168.0.0/24 via 192.168.1.2 table 1三,?ip rule,ip route,iptables 三者之間的關(guān)系
iptables:iptables其實不是真正的防火墻,我們可以把它理解成一個客戶端代理,用戶通過iptables這個代理,將用戶的安全設(shè)定執(zhí)行到對應(yīng)的"安全框架"中,這個"安全框架"才是真正的防火墻,這個框架的名字叫netfilter。
注:圖中 “路由判斷”?就是使用ip rule,ip route設(shè)置的規(guī)則,其中ip route配置的路由表服務(wù)于ip rule配置的規(guī)則。
以一例子來說明:公司內(nèi)網(wǎng)要求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)。
1,首先要在網(wǎng)關(guān)服務(wù)器上添加一個默認路由,當然這個指向是絕大多數(shù)的IP的出口網(wǎng)關(guān):ip route add default gw 20.0.0.1
2,通過 ip route 添加一個路由表:ip route add table 3 via 10.0.0.1 dev ethX (ethx 是 10.0.0.1 所在的網(wǎng)卡, 3 是路由表的編號)
3,添加 ip rule 規(guī)則:ip rule add fwmark 3 table 3 (fwmark 3 是標記,table 3 是路由表3 上邊。意思就是凡是標記了 3 的數(shù)據(jù)使用 table3 路由表)
4,,使用 iptables 給相應(yīng)的數(shù)據(jù)打上標記:iptables -A PREROUTING -t mangle -i eth0 -s 192.168.0.1 - 192.168.0.100 -j MARK --set-mark 3
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的linux 添加路由_linux网络知识:路由策略(ip rule,ip route)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python基础内容_python基础-
- 下一篇: 三国群英传8陈宫技能效果怎么样