linux 高級路由即基於策略的路由比傳統路由在功能上更強大,使用也更靈活,它不僅能夠根據目的地址來轉發路徑而且也能夠根據報文大小、應用或ip源地址來選擇路由轉發路徑從而讓系統管理員能輕松做到:
1、 管制某台計算機的帶寬。
2、 管制通向某台計算機的帶寬
3、 幫助你公平地共享帶寬
4、 保護你的網絡不受DOS的攻擊
5、 保護你的Internet不受到你的客戶的攻擊
6、 把多台服務器虛擬成一台,並進行負載均衡或者提高可用性
7、 限制你的用戶訪問某些計算機
8、 限制對你的計算機的訪問
9、 基於用戶帳號、MAC地址、源IP地址、端口、QOS《TOS》、時間或者content等進行路由
一、高級路由的基礎IP ROUTE2
基本命令:
ip link list 顯示ip鏈路狀態信息
ip address show 除顯示所有網絡地址
ip route show 顯示主路由表信息
ip neigh show 顯示鄰居表
linux系統路由表
linux可以自定義從1-252個路由表,
linux系統維護了4個路由表:
0#表 系統保留表
253#表 defulte table 沒特別指定的默認路由都放在改表
254#表 main table 沒指明路由表的所有路由放在該表
255#表 locale table 保存本地接口地址,廣播地址、NAT地址 由系統維護,用戶不得更改
路由表的查看可有以下二種方法:
ip route list table table_number
ip route list table table_name
路由表序號和表名的對應關系在/etc/iproute2/rt_tables中,可手動編輯
路由表添加完畢即時生效,下面為實例
ip route add default via 192.168.1.1 table 1 在一號表中添加默認路由為192.168.1.1
ip route add 192.168.0.0/24 via 192.168.1.2 table 1 在一號表中添加一條到192.168.0.0網段的路由為192.168.1.2
注:各路由表中應當指明默認路由,盡量不回查路由表.路由添加完畢,即可在路由規則中應用..
二、高級路由重點之一路由規則 ip rule
進行路由時,根據路由規則來進行匹配,按優先級(pref)從低到高匹配,直到找到合適的規則.所以在應用中配置默認路由是必要的..
ip rule show 顯示路由規則
路由規則的添加
ip rule add from 192.168.1.10/32 table 1 pref 100
如果pref值不指定,則將在已有規則最小序號前插入
注:創建完路由規則若需立即生效須執行#ip route flush cache;刷新路由緩沖
可參數解析如下: &n
From -- 源地址
To -- 目的地址(這里是選擇規則時使用,查找路由表時也使用)
Tos -- IP包頭的TOS(type of sevice)域Linux高級路由-
Dev -- 物理接口
Fwmark -- iptables標簽
采取的動作除了指定路由表外,還可以指定下面的動作:
Table 指明所使用的表
Nat 透明網關
Prohibit 丟棄該包,並發送 COMM.ADM.PROHIITED的ICMP信息
Reject 單純丟棄該包
Unreachable丟棄該包, 並發送 NET UNREACHABLE的ICMP信息
具體格式如下:更強大,使用更靈活,它使網絡管理員不僅能
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 ]
1.策略路由
基於策略的路由比傳統路由在功能上更強大,使用更靈活,它使網絡管理員不僅能夠根據目的地址而且能夠根據報文大小、應用或IP源地址來選擇轉發路徑...
#/etc/iproute2/rt_tables 此文件存有linux 系統路由表默認表有255 254 253三張表
255 local 本地路由表存有本地接口地址,廣播地址,已及NAT地址.
local表由系統自動維護..管理員不能操作此表...
254 main 主路由表 傳統路由表,ip route若沒指定表亦操作表254.一般存所有的路由..
注:平時用ip ro sh查看的亦是此表設置的路由.
253 default 默認路由表一般存放默認路由...
注:rt_tables文件中表以數字來區分表0保留最多支持255張表
路由表的查看可有以下二種方法:
#ip route list table table_number
#ip rule sh 顯示路由規則
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
進行路由時,正是根據路由規則來進行匹配,按優先級(pref后數值)從高到低匹配,直到找到合適的規則.所以在應用中配置默認路由是必要的..
策略路由一般手工添加路由表,路由表的添加只需編輯rt_tables文件,規定表序號,表名即可..
ip rule規則添加示例:
#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應用.如先對數據
注:創建完路由規則若需立即生效須執行#ip route flush cache;刷新路由緩沖
可參數解析如下:
From -- 源地址
To -- 目的地址(這里是選擇規則時使用,查找路由表時也使用)
Tos -- IP包頭的TOS(type of sevice)域
Dev -- 物理接口
Fwmark -- 防火牆參數
采取的動作除了指定路由表外,還可以指定下面的動作:
Table 指明所使用的表
Nat 透明網關
Reject 單純丟棄該包
Unreachable丟棄該包, 並發送 NET UNREACHABLE的ICMP信息
具體格式如下:
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 ]
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
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
撤網橋:
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
#route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.5.2
echo "1" > /proc/sys/net/ipv4/ip_forward
ip link list 顯示ip鏈路狀態信息
ip address show 除顯示所有網絡地址
ip route show 顯示主路由表信息
ip neigh show 顯示鄰居表
linux系統路由表
linux可以自定義從1-252個路由表,
linux系統維護了4個路由表:
0#表 系統保留表
253#表 defulte table 沒特別指定的默認路由都放在改表
254#表 main table 沒指明路由表的所有路由放在該表
255#表 locale table 保存本地接口地址,廣播地址、NAT地址 由系統維護,用戶不得更改
路由表的查看可有以下二種方法:
ip route list table table_number
ip route list table table_name
路由表序號和表名的對應關系在/etc/iproute2/rt_tables中,可手動編輯
路由表添加完畢即時生效,下面為實例
ip route add default via 192.168.1.1 table 1 在一號表中添加默認路由為192.168.1.1
ip route add 192.168.0.0/24 via 192.168.1.2 table 1 在一號表中添加一條到192.168.0.0網段的路由為192.168.1.2
注:各路由表中應當指明默認路由,盡量不回查路由表.路由添加完畢,即可在路由規則中應用..
二、高級路由重點之一路由規則 ip rule
進行路由時,根據路由規則來進行匹配,按優先級(pref)從低到高匹配,直到找到合適的規則.所以在應用中配置默認路由是必要的..
ip rule show 顯示路由規則
路由規則的添加
ip rule add from 192.168.1.10/32 table 1 pref 100
如果pref值不指定,則將在已有規則最小序號前插入
注:創建完路由規則若需立即生效須執行#ip route flush cache;刷新路由緩沖
可參數解析如下: &n
From — 源地址
To — 目的地址(這里是選擇規則時使用,查找路由表時也使用)
Tos — IP包頭的TOS(type of sevice)域Linux高級路由-
Dev — 物理接口
Fwmark — iptables標簽
采取的動作除了指定路由表外,還可以指定下面的動作:
Table 指明所使用的表
Nat 透明網關
Prohibit 丟棄該包,並發送 COMM.ADM.PROHIITED的ICMP信息
Reject 單純丟棄該包
Unreachable丟棄該包, 並發送 NET UNREACHABLE的ICMP信息
具體格式如下:更強大,使用更靈活,它使網絡管理員不僅能
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 ]
ip ruel 配置實例:
ip route del default
ip route add default via 192.168.33.1
ip rule add from 192.168.2.6 pref 1000 lookup cnline
ip rule add from 192.168.2.4 pref 1000 lookup cnline
ip rule add from 192.168.2.32 pref 1000 lookup cnline
ip rule add from 192.168.2.227 pref 1000 lookup cnline
ip rule add from 192.168.2.100 pref 1000 lookup cnline
ip rule add from 192.168.2.101 pref 1000 lookup cnline
ip rule add from 192.168.2.107 pref 1000 lookup cnline
ip rule add from 192.168.2.55 pref 1000 lookup cnline
ip rule add from 192.168.2.56 pref 1000 lookup cnline
ip rule add from 192.168.2.189 pref 1000 lookup cnline
ip rule add from 192.168.2.190 pref 1000 lookup cnline
ip rule add from 192.168.2.191 pref 1000 lookup cnline
ip rule add from 192.168.2.192 pref 1000 lookup cnline
ip rule add from 192.168.2.193 pref 1000 lookup cnline
ip rule add from 192.168.2.194 pref 1000 lookup cnline
ip rule add from 192.168.2.195 pref 1000 lookup cnline
ip rule add from 192.168.2.196 pref 1000 lookup cnline
ip rule add from 192.168.2.197 pref 1000 lookup cnline
ip rule add from 192.168.2.198 pref 1000 lookup cnline
#ip route add 192.168.0.0/24 via 192.168.33.1 table cnline
ip route add 58.14.0.0/15 via 192.168.33.1 table cnline
ip route add 58.16.0.0/16 via 192.168.33.1 table cnline
轉自:http://www.unixnotes.net/ip-rule.html?replytocom=25