IP-route管理路由
摘自:https://blog.csdn.net/chengxuyuanyonghu/article/details/39558643
一、高級(jí)路由的基礎(chǔ)IP ROUTE2
基本命令:
ip link list 顯示ip鏈路狀態(tài)信息
ip address show 除顯示所有網(wǎng)絡(luò)地址
ip route show 顯示主路由表信息
ip neigh show 顯示鄰居表
linux系統(tǒng)路由表
linux可以自定義從1-252個(gè)路由表,
linux系統(tǒng)維護(hù)了4個(gè)路由表:
0#表 系統(tǒng)保留表
253#表 defulte table 沒(méi)特別指定的默認(rèn)路由都放在改表
254#表 main table 沒(méi)指明路由表的所有路由放在該表
255#表 locale table 保存本地接口地址,廣播地址、NAT地址 由系統(tǒng)維護(hù),用戶不得更改
路由表的查看可有以下二種方法:
ip route list table table_number
ip route list table table_name
路由表序號(hào)和表名的對(duì)應(yīng)關(guān)系在/etc/iproute2/rt_tables中,可手動(dòng)編輯
路由表添加完畢即時(shí)生效,下面為實(shí)例
ip route add default via 192.168.1.1 table 1 在一號(hào)表中添加默認(rèn)路由為192.168.1.1
ip route add 192.168.0.0/24 via 192.168.1.2 table 1 在一號(hào)表中添加一條到192.168.0.0網(wǎng)段的路由為192.168.1.2
注:各路由表中應(yīng)當(dāng)指明默認(rèn)路由,盡量不回查路由表.路由添加完畢,即可在路由規(guī)則中應(yīng)用..
二、高級(jí)路由重點(diǎn)之一路由規(guī)則 ip rule
進(jìn)行路由時(shí),根據(jù)路由規(guī)則來(lái)進(jìn)行匹配,按優(yōu)先級(jí)(pref)從低到高匹配,直到找到合適的規(guī)則.所以在應(yīng)用中配置默認(rèn)路由是必要的..
ip rule show 顯示路由規(guī)則
路由規(guī)則的添加
ip rule add from 192.168.1.10/32 table 1 pref 100
如果pref值不指定,則將在已有規(guī)則最小序號(hào)前插入
注:創(chuàng)建完路由規(guī)則若需立即生效須執(zhí)行#ip route flush cache;刷新路由緩沖
可參數(shù)解析如下: &n
From -- 源地址
To -- 目的地址(這里是選擇規(guī)則時(shí)使用,查找路由表時(shí)也使用)
Tos -- IP包頭的TOS(type of sevice)域Linux高級(jí)路由-
Dev -- 物理接口
Fwmark -- iptables標(biāo)簽
采取的動(dòng)作除了指定路由表外,還可以指定下面的動(dòng)作:
Table 指明所使用的表
Nat 透明網(wǎng)關(guān)
Prohibit 丟棄該包,并發(fā)送 COMM.ADM.PROHIITED的ICMP信息
Reject 單純丟棄該包
Unreachable丟棄該包, 并發(fā)送 NET UNREACHABLE的ICMP信息
具體格式如下:更強(qiáng)大,使用更靈活,它使網(wǎng)絡(luò)管理員不僅能
Usage: ip rule [ list | add | del ] SELECTOR ACTION
SELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ][ dev STRING ] [ pref NUMBER ]
ACTION := [ table TABLE_ID ] [ nat ADDRESS ][ prohibit | reject | unreachable ]
[ flowid CLASSID ]
TABLE_ID := [ local | main | default | new | NUMBER ]
策略路由
基于策略的路由比傳統(tǒng)路由在功能上更強(qiáng)大,使用更靈活,它使網(wǎng)絡(luò)管理員不僅能夠根據(jù)目的地址而且能夠根據(jù)報(bào)文大小、應(yīng)用或IP源地址來(lái)選擇轉(zhuǎn)發(fā)路徑...
#/etc/iproute2/rt_tables 此文件存有l(wèi)inux 系統(tǒng)路由表默認(rèn)表有255 254 253三張表
255 local 本地路由表存有本地接口地址,廣播地址,已及NAT地址.
local表由系統(tǒng)自動(dòng)維護(hù)..管理員不能操作此表...
254 main 主路由表 傳統(tǒng)路由表,ip route若沒(méi)指定表亦操作表254.一般存所有的路由..
注:平時(shí)用ip ro sh查看的亦是此表設(shè)置的路由.
253 default 默認(rèn)路由表一般存放默認(rèn)路由...
注:rt_tables文件中表以數(shù)字來(lái)區(qū)分表0保留最多支持255張表
路由表的查看可有以下二種方法:
#ip route list table table_number
#ip route list table table_name
路由表添加完畢,即可在策略路由表內(nèi)添加路由例:
#ip route add 192.168.1.0/24 dev eth0 via 192.168.1.66 realm 4
注:發(fā)往子網(wǎng)192.168.1.0/24的數(shù)據(jù)包通過(guò)分類4轉(zhuǎn)發(fā)配合tc使用,后文有介紹講解...
#ip route add default via 192.168.1.1 table int1
#ip route add 192.168.1.0/24 via 192.168.1.1 table int2
#ip route add 172.16.0.2/16 via 172.16.0.1 table int3
注:各路由表中應(yīng)當(dāng)指明默認(rèn)路由,盡量不回查路由表.路由添加完畢,即可在路由規(guī)則中應(yīng)用..
#ip rule show 顯示路由規(guī)則
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
進(jìn)行路由時(shí),正是根據(jù)路由規(guī)則來(lái)進(jìn)行匹配,按優(yōu)先級(jí)(pref后數(shù)值)從高到低匹配,直到找到合適的規(guī)則.所以在應(yīng)用中配置默認(rèn)路由是必要的..
策略路由一般手工添加路由表,路由表的添加只需編輯rt_tables文件,規(guī)定表序號(hào),表名即可..
ip rule規(guī)則添加示例:
#ip rule add from 192.168.1.112/32 [tos 0x10] table test2 pref 999 prohibit
#ip rule add to 192.168.1.2 pref 1000 table test1
#ip rule add from 192.168.1.0/24 pref 1001 table test1
#ip rule add [from 0/0] table test1 pref 1003
#ip rule add fwmark 1 pref 1002 table test2 此句型配合iptables -t mangle應(yīng)用.如先對(duì)數(shù)據(jù)
包作標(biāo)記:
#iptables -t mangle -A PREROUTING -p tcp -m multiport
--dports 80,8080,20,21 -s 192.168.1.0/24 -j MARK --set-mark
2.網(wǎng)卡捆綁(網(wǎng)關(guān)linux+多網(wǎng)卡)
#modprobe bonding mod=1 miimon=200 primary=eth1 創(chuàng)建bond0,模式為1,主網(wǎng)卡eth1..
#ip addr add dev bond$ 10.0.0.1/24 設(shè)置bond0的IP
#ifenslave bond0 eth1 eth2 添加綁定的dev
注:mode=0 輪轉(zhuǎn)均衡(默認(rèn)模式),此模式MAC頻繁切換導(dǎo)致交換機(jī)負(fù)載大..
mode=1 主備模式 用primary指定網(wǎng)卡
mode=4 常用 802.3ad模式,動(dòng)態(tài)鏈路采集模式.此模式要求SWITCH捆綁..
miimon=ms 每隔多少毫秒查詢鏈路是否有效.
其它參數(shù)如:
arp_interval=ms
arp_ip_target=*.*.*.*
另一種網(wǎng)卡捆綁固化方式:
#vi /etc/modules.conf 加入以下行
alias bond0 bonding
系統(tǒng)在啟動(dòng)時(shí)加載bonding模塊,對(duì)外虛擬網(wǎng)絡(luò)接口設(shè)備為 bond0..
#cd /etc/sysconfig/network-scripts
#vi ifcfg-bond0
DEVICE=bond0
IPADDR=11.0.0.1
NETMASK=255.0.0.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
#vi ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
#vi ifcfg-eth1
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
#/etc/init.d/network restart 重啟網(wǎng)絡(luò)服務(wù)驗(yàn)證網(wǎng)卡的配置信息備份網(wǎng)卡被加上了NOARP標(biāo)記
#cat /proc/net/bond0/info 查看bond信息
3.網(wǎng)橋(Linux+多網(wǎng)卡)
配置工具 brctlhttp://bridge.sourceforge.net/ 源碼包名:bridge-utils-*形式
安裝第一步:autoconf 后類同于源碼包安裝..
例.linu+二網(wǎng)卡eth0 eth1 配置成網(wǎng)橋
配置前去除加入網(wǎng)橋的eth0 eth1的IP
#ifconfig eth0/eth1 down
#ifconfig eth0/eth1 0.0.0.0 up
#brctl addbr br0
#brctl addif br0 eth0 eth1
#ip li set dev br0 up
#brctl showmacs br0 顯示網(wǎng)橋MAC
撤網(wǎng)橋:
#ip li set dev br0 down
#brctl delif br0 eth0 eth1
#brctl delbr br0
網(wǎng)橋接口處亦可進(jìn)行流量控制,無(wú)Ip的linux網(wǎng)橋可有效防御外界的功擊,對(duì)linux網(wǎng)橋機(jī)的總控安全性高...
貼上一篇網(wǎng)橋應(yīng)用實(shí)例,此實(shí)例是網(wǎng)橋的一種擴(kuò)張應(yīng)用...
腳本名:start_bridge.sh
#!/bin/sh
brctl addbr net1
brctl addif net1 eth0
ifconfig eth0 down
ifconfig eth0 0.0.0.0 up
ifconfig net1 192.168.5.1 up
#ip ro del 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.28
ip ro del 192.168.1.0/24
#route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.5.2
ip route add default via 192.168.5.2
echo "1" > /proc/sys/net/ipv4/ip_forward
Linux高級(jí)路由需結(jié)合iptables才能充分體現(xiàn)其功能
查看路由表內(nèi)容在查看路由表之前,首先使用ip rule show命令來(lái)查看目前使用了哪些路由表,接著,再使用ip route show
1.[root@localhost /]#ip rule show
2.0: from all lookup local
3.32766: from all lookup main
4.32767: from all lookup default
5.[root@localhost /]#
6.[root@localhost /]#ip route show table main
7.10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46
8.192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
9.default via 10.10.15.1 dev eth0
10.[root@localhost /]#
在默認(rèn)情況下,系統(tǒng)有三個(gè)路由表,這三個(gè)路由表的功能如下:
local:路由表local包含本機(jī)路由及廣播信息。例如,在本機(jī)上執(zhí)行ssh 127.0.0.1時(shí),就會(huì)參考這份路由表的內(nèi)容,在正常情況下,只要配置好網(wǎng)卡的網(wǎng)絡(luò)設(shè)置,就會(huì)自動(dòng)生成local路由表的內(nèi)容,我們應(yīng)該也不必修改其內(nèi)容。
main:使用傳統(tǒng)命令route -n所看到的路由表就是main的內(nèi)容。Linux系統(tǒng)在默認(rèn)情況下使用這份路由表的內(nèi)容來(lái)傳輸數(shù)據(jù)包,因此,其內(nèi)容極為重要,在正常情況下,只要配置好網(wǎng)卡的網(wǎng)絡(luò)設(shè)置,就會(huì)自動(dòng)生成main路由表的內(nèi)容。
default:最后是default路由表,這個(gè)路由表在默認(rèn)情況下內(nèi)容為空;除非有特別的要求,否則保持其內(nèi)容為空即可。
在此使用路由表main的內(nèi)容進(jìn)行解釋,以下是圖10-10路由表main的內(nèi)容,因?yàn)樵谥鳈C(jī)上有eth0及eth1兩塊網(wǎng)卡,且為其設(shè)置的IP分別是10.10.15.46/25及192.168.1.10/24,因此,路由表內(nèi)的第.行即是告訴系統(tǒng),如果有數(shù)據(jù)包要送到10.10.15.0/25這個(gè)網(wǎng)段,就直接將數(shù)據(jù)包由eth0接口送出即可,而本機(jī)臨近這個(gè)網(wǎng)段的IP是10.10.15.46,第.行則是設(shè)置到192.168.1.0/24的路由,其含義與第.行完全相同;以上這兩行是只要將計(jì)算機(jī)網(wǎng)卡上的IP設(shè)置好,并在網(wǎng)絡(luò)服務(wù)重啟之后,默認(rèn)就會(huì)生成的路由,無(wú)需特別的設(shè)置。最后一行.則指:如果數(shù)據(jù)包不是送往10.10.15.0/25及192.168.1.0/24網(wǎng)段,那么數(shù)據(jù)包將統(tǒng)一轉(zhuǎn)發(fā)給10.10.15.1主機(jī)去處理,而10.10.15.1就是我們?cè)诰W(wǎng)絡(luò)配置中所設(shè)置的“默認(rèn)網(wǎng)關(guān)”。
1.[root@localhost /]#ip route show table main
2.10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46
3.192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
4.default via 10.10.15.1 dev eth0
5.[root@localhost /]#
2. 添加路由
添加路由在此還是一樣采用ip命令而不是route命令,下例首先使用ip route show.命令顯示路由表main的內(nèi)容,接著再使用ip route add命令將所需的路由添加到路由表main中.,最后再次使用ip route show命令將路由表main的內(nèi)容打印出來(lái),此時(shí)就可以在路由表main之中看到剛才添加的路由了。
1.[root@localhost /]#ip route show table main
2.10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46
3.192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
4.default via 10.10.15.1 dev eth0
5.[root@localhost /]#
6.[root@localhost /]#ip route add 192.168.2.0/24 via 10.10.15.50 table main
7.[root@localhost /]#
8.[root@localhost /]#ip route show table main
9.10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46
10.192.168.2.0/24 via 10.10.15.50 dev eth0
11.192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
12.default via 10.10.15.1 dev eth0
13.[root@localhost /]#
如果要添加的路由并未出現(xiàn)在現(xiàn)有的路由表中,又該如何處理呢?在此請(qǐng)先有一個(gè)概念,單純添加路由表并無(wú)意義,因?yàn)樾略龀鰜?lái)的路由表,系統(tǒng)默認(rèn)是不會(huì)去使用的,如果要將路由添加到main以外的路由表,只有先添加“規(guī)則”才能確定新的路由表名稱(Table ID),有了新的路由表之后,才會(huì)把路由添加到新的路由表中。
我們使用下列示例來(lái)說(shuō)明這個(gè)過(guò)程。首先使用ip rule show.來(lái)查詢RPDB的當(dāng)前狀態(tài),可以看到目前只有三條默認(rèn)規(guī)則,接著,再使用ip rule add命令來(lái)添加一條規(guī)則.,此時(shí)系統(tǒng)內(nèi)就多了一個(gè)有用的路由表,其路由表ID為10,我們可以立即使用ip route show命令來(lái)查看這個(gè)新的路由表.,其內(nèi)容默認(rèn)為空,接著可以在這個(gè)新路由表中添加路由,在此使用iproute add命令來(lái)添加路由,我們決定凡是來(lái)自于192.168.2.0/24網(wǎng)段的數(shù)據(jù)包,都從eth1接口將數(shù)據(jù)包送離本機(jī),因此,必須完整編寫(xiě)eth1接口的路由。首先將臨近eth1接口的路由填入.,告訴系統(tǒng)本機(jī)與192.168.1.0/24網(wǎng)段的通信都通過(guò)eth1接口來(lái)處理,接著填入這個(gè)路由表的默認(rèn)路由.,最后使用ip route show命令顯示路由表10的內(nèi)容。
1.[root@localhost ~]#ip rule show
2.0: from all lookup local
3.32766: from all lookup main
4.32767: from all lookup default
5.[root@localhost ~]#
6.[root@localhost ~]#ip rule add from 192.168.2.0/24 table 10
7.[root@localhost ~]#
8.[root@localhost ~]#ip route show table 10
9.[root@localhost ~]#
10.[root@localhost ~]#ip route add 192.168.1.0/24 dev eth1 table 10
11.[root@localhost ~]#ip route add default via 192.168.1.254 table 10
12.[root@localhost ~]#
13.[root@localhost ~]#ip route show table 10
14.192.168.1.0/24 dev eth1 scope link
15.default via 192.168.1.254 dev eth1
16.[root@localhost ~]#
3. 刪除路由
可以使用ip命令來(lái)方便地刪除路由,我們使用以下示例來(lái)說(shuō)明如何刪除路由。首先將路由表10的內(nèi)容顯示出來(lái).,可以看到路由表10中當(dāng)前有兩條路由,接著使用ip route del命令刪除默認(rèn)路由.,在此別忘了指定我們所要?jiǎng)h除的是路由表10,否則默認(rèn)會(huì)刪除路由表main的默認(rèn)路由,接著再使用ip route show 命令查看路由表10.,此時(shí)路由表10的默認(rèn)路由已經(jīng)不存在了,再次使用ip route del命令刪除192.168.122.0/24的路由.,最后可以看到路由表10中已經(jīng)沒(méi)有任何路由了。
1.[root@localhost ~]# ip route show table 10
2.192.168.1.0/24 dev virbr0 scope link
3.default via 192.168.1.254 dev eth1
4.[root@localhost ~]#
5.[root@localhost ~]#ip route del default table 10
6.[root@localhost ~]#
7.[root@localhost ~]# ip route show table 10
8.192.168.1.0/24 dev virbr0 scope link
9.[root@localhost ~]#
10.[root@localhost ~]#ip route del 192.168.1.0/24 table 10
11.[root@localhost ~]#
12.[root@localhost ~]# ip route show table 10
13.[root@localhost ~]#
1. 查看策略數(shù)據(jù)庫(kù)
要查看策略數(shù)據(jù)庫(kù)的內(nèi)容,可以使用ip rule show命令,或者可以使用ip rule ls。如下是命令執(zhí)行后所得到的輸出結(jié)果,在這些數(shù)據(jù)中,可以看到系統(tǒng)的三條默認(rèn)規(guī)則,而這三條規(guī)則默認(rèn)分別對(duì)應(yīng)于local、mail及default三個(gè)路由表。
1.[root@localhost /]# ip rule show
2.0: from all lookup local
3.32766: from all lookup main
4.32767: from all lookup default
2. 添加規(guī)則
在添加規(guī)則時(shí),必須先確定好“條件”、“優(yōu)先級(jí)別”及“路由表ID”,此后才可以執(zhí)行添加規(guī)則的操作。關(guān)于這三個(gè)參數(shù)的含義,我們根據(jù)圖10-5再說(shuō)明一次:
條件
條件是用來(lái)決定哪類數(shù)據(jù)包可以符合這項(xiàng)規(guī)則,而可用來(lái)匹配的字段為Source IP、Destination IP、Type of Service、fwmark及dev等,這些字段的使用方式如下:
Source IP:
根據(jù)來(lái)源端IP來(lái)決定數(shù)據(jù)包參考哪個(gè)路由表發(fā)送出去。以下兩個(gè)示例分別指出,如果數(shù)據(jù)包的來(lái)源端IP是192.168.1.10,就參考路由表10;如果來(lái)源端IP為192.168.2.0/24網(wǎng)段的IP,就參考路由表20。
1.ip rule add from 192.168.1.10 table 10
2.ip rule add from 192.168.2.0/24 table 20
Destination IP:
根據(jù)目的端IP來(lái)決定數(shù)據(jù)包參考哪個(gè)路由表發(fā)送出去。以下兩個(gè)示例分別指出,如果數(shù)據(jù)包的目的端IP是168.95.1.1,就參考路由表10;如果目的端IP是168.95.0.0/24網(wǎng)段的IP,就參考路由表20。
1.ip rule add to 168.95.1.1 table 10
2.ip rule add to 168.96.0.0/24 table 20
fwmark:
fwmark指第3章所提到過(guò)的nfmark,如果你已忘了nfmark的含義,不妨參考第2.2.6節(jié)。將fwmark作為匹配條件時(shí),必須搭配Netfilter一起使用, 這看起來(lái)很麻煩, 卻是最靈活的匹配條件。如圖10-8所示,某公司對(duì)外有三條ADSL,我們希望所有HT T P 協(xié)議經(jīng)由第一條ADS L ,SMTP及POP3經(jīng)由第二條ADSL,其余流量則經(jīng)由第三條ADSL??梢允褂萌缦碌拿罱M合來(lái)達(dá)到這樣的目的:
圖10-8 fwmark示例
1.iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 80 -j MARK --set-mark 1
2.iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 25 -j MARK --set-mark 2
3.iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 110 -j MARK --set-mark 2
4.iptables -t mangle -A FORWARD -i eth3 -j MARK --set-mark 3
5.ip rule add fwmark 1 table 1
6.ip rule add fwmark 2 table 2
7.ip rule add fwmark 3 table 3
首先使用Netfilter的managle機(jī)制針對(duì)特定的數(shù)據(jù)包設(shè)置MARK值,在此將HTTP數(shù)據(jù)包的MARK值設(shè)置為1,SMTP及POP3數(shù)據(jù)包的MARK值設(shè)置為2,其余數(shù)據(jù)包則設(shè)置MARK值為3。接著,再根據(jù)fwmark條件來(lái)判斷數(shù)據(jù)包的MARK值,如果MARK值為1,則參考路由表1將數(shù)據(jù)包送出;MAKR值為2時(shí),則參考路由表2將數(shù)據(jù)包送出;最后,MARK值為3的數(shù)據(jù)包則參考路由表3送出。
以上示例只是一個(gè)概念而已,如果真要完整體現(xiàn)出這個(gè)示例的所有功能,還需要注意許多細(xì)節(jié),稍后將使用詳細(xì)的示例講解這部分內(nèi)容,在此只要首先了解fwmark與Netfilter結(jié)合使用的概念即可。
dev:
最后,還可以使用數(shù)據(jù)包輸入的接口來(lái)作為判斷依據(jù),如圖10-9所示,我們希望凡是由eth2接口送入的數(shù)據(jù)包都由eth0接口轉(zhuǎn)發(fā)出去,由eth3接口送入的數(shù)據(jù)包都由eth1接口轉(zhuǎn)發(fā)出去。以下命令組合將能滿足我們的要求:
1.ip rule add dev eth2 table 1
2.ip rule add dev eth3 table 3
圖10-9 接口示例
3. 優(yōu)先級(jí)別
前面介紹了規(guī)則中“條件”的使用方式,接下來(lái)要討論的是優(yōu)先級(jí)別。優(yōu)先級(jí)別用數(shù)字來(lái)表示,其范圍可由0~4億多,堪稱天文數(shù)字,我們實(shí)際上不可能在一臺(tái)PC上設(shè)置如此龐大的路由機(jī)制。
1.[root@localhost ~]# ip rule show
2.0: from all lookup local
3.32766: from all lookup main
4.32767: from all lookup default
5.[root@localhost ~]#
6.[root@localhost ~]# ip rule add from 192.168.1.0/24 table 1
7.[root@localhost ~]# ip rule add from 192.168.2.0/24 table 2
8.[root@localhost ~]#
9.[root@localhost ~]# ip rule show
10.0: from all lookup local
11.32764: from 192.168.2.0/24 lookup 2
12.32765: from 192.168.1.0/24 lookup 1
13.32766: from all lookup main
14.32767: from all lookup default
如以上示例,我們執(zhí)行ip rule show命令所顯示內(nèi)容的第一個(gè)字段就是優(yōu)先級(jí)別,數(shù)字越小,代表優(yōu)先級(jí)別越高,也代表這條規(guī)則可以排得越靠前,如此數(shù)據(jù)包在進(jìn)行條件匹配時(shí),就會(huì)越早匹配到這條規(guī)則,從輸出的數(shù)據(jù)中,默認(rèn)優(yōu)先級(jí)別0、32766及32767已被占用,因此,在添加規(guī)則時(shí),如果沒(méi)有特別設(shè)置優(yōu)先級(jí)別,那么,優(yōu)先級(jí)別默認(rèn)會(huì)從32766開(kāi)始遞減,如32765、32764……,如果我們需要特別設(shè)置優(yōu)先級(jí)別,可以在ip rule add命令的最后加上prio XXX參數(shù)。如下例所示:
1.[root@localhost ~]# ip rule show
2.0: from all lookup local
3.32766: from all lookup main
4.32767: from all lookup default
5.[root@localhost ~]#
6.[root@localhost ~]#ip rule add from 192.168.1.0/24 table 1 prio 10
7.[root@localhost ~]# ip rule add from 192.168.2.0/24 table 2 prio 20
8.[root@localhost ~]#
9.[root@localhost ~]# ip rule show
10.0: from all lookup local
11.10: from 192.168.1.0/24 lookup 1
12.20: from 192.168.2.0/24 lookup 2
13.32766: from all lookup main
14.32767: from all lookup default
路由表ID
在Linux的基于策略的路由中,路由表用ID來(lái)表示,但如有必要,還可以用ID與名稱對(duì)照表將ID轉(zhuǎn)換成名稱,關(guān)于這部分請(qǐng)參考第10.2.1節(jié)。
4. 刪除規(guī)則
ip命令提供的刪除規(guī)則的方式十分靈活,例如,要?jiǎng)h除下列第2條規(guī)則,可以分別使用“優(yōu)先級(jí)別”、“條件”及“路由表”當(dāng)中任何一個(gè)唯一的值來(lái)設(shè)置所需刪除的規(guī)則,如下:
ip rule del prio 10
ip rule del from 192.168.1.0/24
ip rule del table 1
ip rule del from 192.168.1.0/24 table 1 prio 10
1.[root@localhost ~]# ip rule show
2.0: from all lookup local
3.10: from 192.168.1.0/24 lookup 1
4.20: from 192.168.2.0/24 lookup 2
5.32766: from all lookup main
6.32767: from all lookup default
7.[root@localhost ~]#
總結(jié)
以上是生活随笔為你收集整理的IP-route管理路由的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Citrix XenServer Wor
- 下一篇: VBA学习_1:数据类型