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