Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
一、簡介
是一個(gè)在Linux下的高級網(wǎng)絡(luò)管理工具軟件。實(shí)際上,它是通過 sockets方式動態(tài)配置內(nèi)核的一些小工具組成的,從Linux2.2內(nèi)核開始,Alexey 實(shí)現(xiàn)了通過 sockets用來配置網(wǎng)絡(luò)協(xié)議棧,它是一個(gè)現(xiàn)代的強(qiáng)大的接口。
centos安裝命令:
yum install -y iproute
ip -V
二、常用命令
net-tools和的大致對比:
net-tools
netstat -r/route -n
ip route show
查看路由信息
route add
ip route add
添加路由
route del
ip route del
刪除路由
ip link
顯示up狀態(tài)(激活狀態(tài))的網(wǎng)卡信息
-a
ip addr show
顯示所有網(wǎng)卡的信息,包含未up的
-s
ip -s link
顯示摘要信息
-help
ip -help
查看幫助
eth0 up
ip link set eth0 up
啟動網(wǎng)卡
eth0 down
ip link set eth0 down
停掉網(wǎng)卡
netstat
ss
監(jiān)控工具
netstat -l
ss -l
查看listen監(jiān)聽狀態(tài)的連接信息
ip tunnel
ip隧道
netstat -g/ipmaddr
ip maddr
多播地址管理
arp -na
ip neigh
arp地址解析信息ip->mac地址
三、路由(ip rule、ip route)1)路由策略(ip rule)
基于策略的路由比傳統(tǒng)路由在功能上更強(qiáng)大,使用更靈活,它使網(wǎng)絡(luò)管理員不僅能夠根據(jù)目的地址而且能夠根據(jù)報(bào)文大小、應(yīng)用或IP源地址等屬性來選擇轉(zhuǎn)發(fā)路徑。
ip rule 命令:
Usage: ip rule [ list | add | del ] ACTION (add 添加;del 刪除; llist 列表)
1、添加規(guī)則
1)Source IP
根據(jù)來源端IP來決定數(shù)據(jù)包參考哪個(gè)路由表發(fā)送出去。以下兩個(gè)示例分別指出,如果數(shù)據(jù)包的來源端IP是192.168.182.10,就參考路由表10;如果來源端IP為192.168.182.0/24網(wǎng)段的IP,就參考路由表20。
ip rule add from 192.168.182.10 table 10
ip rule add from 192.168.182.0/24 table 20
2) IP
根據(jù)目的端IP來決定數(shù)據(jù)包參考哪個(gè)路由表發(fā)送出去。以下兩個(gè)示例分別指出,如果數(shù)據(jù)包的目的端IP是192.168.183.1,就參考路由表10;如果目的端IP是192.168.183.0/24網(wǎng)段的IP,就參考路由表20。
ip rule add to 192.168.183.1 table 10
ip rule add to 192.168.183.0/24 table 20
2、示例
# 添加路由表
echo '1024 tab1' >> /etc/iproute2/rt_tables
# 通過路由表 tab1 路由來自源地址為192.168.182.0/24的數(shù)據(jù)包,優(yōu)先級220
ip rule add from 192.168.182.0/24 table tab1 prio 220
# 把源地址為192.168.182.247的數(shù)據(jù)報(bào)的源地址轉(zhuǎn)換為192.168.182.130,并通過表tab1進(jìn)行路由
ip rule add from 192.168.182.247 nat 192.168.182.130 table tab1 prio 320
# 刪除
ip rule del from 192.168.182.0/24 table tab1 prio 220
ip rule del from 192.168.182.247 nat 192.168.182.130 table tab1 prio 320
我們執(zhí)行ip rule show命令所顯示內(nèi)容的第一個(gè)字段就是優(yōu)先級別(prio),數(shù)字越小,代表優(yōu)先級別越高,也代表這條規(guī)則可以排得越靠前,如此數(shù)據(jù)包在進(jìn)行條件匹配時(shí),就會越早匹配到這條規(guī)則,從輸出的數(shù)據(jù)中,默認(rèn)優(yōu)先級別0、32766及32767已被占用,因此,在添加規(guī)則時(shí),如果沒有特別設(shè)置優(yōu)先級別,那么,優(yōu)先級別默認(rèn)會從32766開始遞減,如32765、32764……,如果我們需要特別設(shè)置優(yōu)先級別,可以在ip rule add命令的最后加上prio XXX參數(shù)。
2)路由表 (使用 ip route 命令操作靜態(tài)路由表)
所謂路由表,指的是路由器或者其他互聯(lián)網(wǎng)網(wǎng)絡(luò)設(shè)備上存儲的表,該表中存有到達(dá)特定網(wǎng)絡(luò)終端的路徑。路由器的主要工作就是為經(jīng)過路由器的每個(gè)數(shù)據(jù)包尋找一條最佳的傳輸路徑,并將該數(shù)據(jù)有效地傳送到目的站點(diǎn)。為了完成這項(xiàng)工作,在路由器中保存著各種傳輸路徑的相關(guān)數(shù)據(jù)——路由表(Routing Table),供路由選擇時(shí)使用,表中包含的信息決定了數(shù)據(jù)轉(zhuǎn)發(fā)的策略。路由表根據(jù)其建立的方法,可以分為動態(tài)路由表和靜態(tài)路由表。
linux 系統(tǒng)中,可以自定義從 1-252個(gè)路由表,其中,linux系統(tǒng)維護(hù)了4個(gè)路由表:
0: 系統(tǒng)保留表
253: defulte table 沒特別指定的默認(rèn)路由都放在改表
254: main table 沒指明路由表的所有路由放在該表,**默認(rèn)表**
255: locale table 保存本地接口地址,廣播地址、NAT地址 由系統(tǒng)維護(hù),用戶不得更改
備注:我們使用ip route list 或 route -n 或 netstat -rn查看的路由記錄,也都是main表中記錄。
路由表的查看可有以下二種方法:
ip route list table table_number
ip route list table 1204
ip route list table table_name
ip route list table tab1
路由表序號和表名的對應(yīng)關(guān)系在 /etc// 文件中,可手動編輯。路由表添加完畢即時(shí)生效,下面為實(shí)例(最好把默認(rèn)路由最后添加):
ip route add 192.168.182.0/24 dev ens33 proto kernel scope link src 192.168.182.130 metric 100 table tab1
ip route add default via 192.168.182.2 dev ens33 proto static metric 100 table tab1
默認(rèn)路由需要特別注意,走默認(rèn)路由的話會導(dǎo)致非同一子網(wǎng)內(nèi)的訪問失敗
3)route 命令里面的metric是做什么用的?
metric 為路由指定所需躍點(diǎn)數(shù)的整數(shù)值(范圍是 1 ~ 9999),它用來在路由表里的多個(gè)路由中選擇與轉(zhuǎn)發(fā)包中的目標(biāo)地址最為匹配的路由。所選的路由具有最少的躍點(diǎn)數(shù)。躍點(diǎn)數(shù)能夠反映躍點(diǎn)的數(shù)量、路徑的速度、路徑可靠性、路徑吞吐量以及管理屬性。
路由算法使用了許多不同的metric以確定最佳路徑。復(fù)雜的路由算法可以基于多個(gè)metric選擇路由,并把它們結(jié)合成一個(gè)復(fù)合的metric。常用的metric如下:
1、路徑長度
【路徑長度】是最常用的路由metric。一些路由協(xié)議允許網(wǎng)管給每個(gè)網(wǎng)絡(luò)鏈接人工賦以代價(jià)值,這種情況下,路由長度是所經(jīng)過各個(gè)鏈接的代價(jià)總和。其它路由協(xié)議定義了跳數(shù),即分組在從源到目的的路途中必須經(jīng)過的網(wǎng)絡(luò)產(chǎn)品,如路由器的個(gè)數(shù)。
2、可靠性
可靠性,在路由算法中指網(wǎng)絡(luò)鏈接的可依賴性(通常以位誤率描述),有些網(wǎng)絡(luò)鏈接可能比其它的失效更多,網(wǎng)路失效后,一些網(wǎng)絡(luò)鏈接可能比其它的更易或更快修復(fù)。任何可靠性因素都可以在給可靠率賦值時(shí)計(jì)算在內(nèi),通常是由網(wǎng)管給網(wǎng)絡(luò)鏈接賦以metric值。
3、延遲
路由延遲指分組從源通過網(wǎng)絡(luò)到達(dá)目的所花時(shí)間。很多因素影響到延遲,包括中間的網(wǎng)絡(luò)鏈接的帶寬、經(jīng)過的每個(gè)路由器的端口隊(duì)列、所有中間網(wǎng)絡(luò)鏈接的擁塞程度以及物理距離。因?yàn)檠舆t是多個(gè)重要變量的混合體,它是個(gè)比較常用且有效的metric。
4、帶寬
帶寬指鏈接可用的流通容量。在其它所有條件都相等時(shí),10Mbps的以太網(wǎng)鏈接比64kbps的專線更可取。雖然帶寬是鏈接可獲得的最大吞吐量,但是通過具有較大帶寬的鏈接做路由不一定比經(jīng)過較慢鏈接路由更好。例如,如果一條快速鏈路很忙,分組到達(dá)目的所花時(shí)間可能要更長。
5、負(fù)載
負(fù)載指網(wǎng)絡(luò)資源,如路由器的繁忙程度。負(fù)載可以用很多方面計(jì)算,包括CPU使用情況和每秒處理分組數(shù)。持續(xù)地監(jiān)視這些參數(shù)本身也是很耗費(fèi)資源的。
6、通信代價(jià)
通信代價(jià)是另一種重要的metric,尤其是有一些公司可能關(guān)系運(yùn)作費(fèi)用甚于性能。即使線路延遲可能較長,他們也寧愿通過自己的線路發(fā)送數(shù)據(jù)而不采用昂貴的公用線路。
四、ip route基本用法1)顯示ip地址
ip a
ip address show
ip addr show dev ens33
ip a sh ens33
2)列出規(guī)則,查看表
ip rule
ip rule list
ip rule show
3)增加/刪除/清空規(guī)則
# 增加規(guī)則
ip rule add from 192.168.1.10 table 10
ip rule [del|delete]
ip rule del from 192.168.1.10 table 10
# 清空所有規(guī)則,沒有參數(shù)
ip rule flush
4)列出路由
ip route list
ip route show
ip route
# 顯示所有路由表的路由
ip route show table all
5)查看指定網(wǎng)段的路由
ip route list 192.168.182.0/24
6)添加路由
ip route add 192.168.182.0/24 dev ens33 proto kernel scope link src 192.168.182.130 metric 100 table tab1
# 添加默認(rèn)路由
ip route add default via 192.168.182.2 dev ens33 proto static metric 100 table tab1
7)刪除路由
ip route del 192.168.182.0/24 dev ens33 proto kernel scope link src 192.168.182.130 metric 100 table tab1
ip route del default via 192.168.182.2 dev ens33 proto static metric 100 table tab1
8)清空指定網(wǎng)絡(luò)的路由
# 清空默認(rèn)表路由
ip route flush
# 清空指定表路由
ip route flush table tab1
# 模糊匹配清空路由
ip route flush 192.168.182.0/24
#這個(gè)是清理所有192.168.182.0/24相關(guān)的所有路由,
#有時(shí)候設(shè)置錯網(wǎng)關(guān)存在多條記錄,就需要一次性清空相關(guān)路由再進(jìn)行添加
五、路由分類之動態(tài)路由
動態(tài)路由是指路由器能夠自動地建立自己的路由表,并且能夠根據(jù)實(shí)際情況的變化適時(shí)地進(jìn)行調(diào)整。它是與靜態(tài)路由相對的一個(gè)概念,指路由器能夠根據(jù)路由器之間的交換的特定路由信息自動地建立自己的路由表,并且能夠根據(jù)鏈路和節(jié)點(diǎn)的變化適時(shí)地進(jìn)行自動調(diào)整。當(dāng)網(wǎng)絡(luò)中節(jié)點(diǎn)或節(jié)點(diǎn)間的鏈路發(fā)生故障,或存在其它可用路由時(shí),動態(tài)路由可以自行選擇最佳的可用路由并繼續(xù)轉(zhuǎn)發(fā)報(bào)文。
常見的動態(tài)路由協(xié)議有以下幾個(gè):
路由信息協(xié)議(RIP)、OSPF(Open Path First開放式最短路徑優(yōu)先)、IS-IS( System-to- System,中間系統(tǒng)到中間系統(tǒng))、邊界網(wǎng)關(guān)協(xié)議(BGP)是運(yùn)行于 TCP 上的一種自治系統(tǒng)的路由協(xié)議。
六、ip route結(jié)合做高級路由策略
1、創(chuàng)建路由表tab2
echo '1025 tab2' >> /etc/iproute2/rt_tables
2、添加 ip rule 規(guī)則
ip rule add fwmark 3 table tab2
(fwmark 3是標(biāo)記,table tab1是路由表tab1。 意思就是凡是標(biāo)記了 3 的數(shù)據(jù)使用tab1 路由表)
3、添加路由規(guī)則
ip route add 192.168.182.0/24 dev ens33 proto kernel scope link src 192.168.182.130 metric 100 table tab2
# 添加默認(rèn)路由
ip route add default via 192.168.182.2 dev ens33 proto static metric 100 table tab2
4、使用給相應(yīng)的數(shù)據(jù)打上標(biāo)記:
iptables -A PREROUTING -t mangle -i ens33 -s 192.168.182.130-192.168.182.180 -j MARK --set-mark 3
因?yàn)閙angle的處理是優(yōu)先于 nat 和fiter表的,所以相應(yīng)數(shù)據(jù)包到達(dá)之后先打上標(biāo)記,之后再通過ip rule規(guī)則。對應(yīng)的數(shù)據(jù)包使用相應(yīng)的路由表進(jìn)行路由,最后讀取路由表信息,將數(shù)據(jù)包送出網(wǎng)關(guān)。
七、命令使用1)簡介
指令讓你追蹤網(wǎng)絡(luò)數(shù)據(jù)包的路由途徑,預(yù)設(shè)數(shù)據(jù)包大小是40Bytes,用戶可另行設(shè)置。當(dāng)然每次數(shù)據(jù)包由某一同樣的出發(fā)點(diǎn)(source)到達(dá)某一同樣的目的地()走的路徑可能會不一樣,但基本上來說大部分時(shí)候所走的路由是相同的。linux系統(tǒng)中,我們稱之為,在 Windows中為tracert。 通過發(fā)送小的數(shù)據(jù)包到目的設(shè)備直到其返回,來測量其需要多長時(shí)間。一條路徑上的每個(gè)設(shè)備要測3次。輸出結(jié)果中包括每次測試的時(shí)間(ms)和設(shè)備的名稱(如有的話)及其IP地址。
2)命令格式:
[-dFlnrvx][-f][-g...][-i][-m][-p][-s][-t][-w][主機(jī)名稱或IP地址][數(shù)據(jù)包大小]
命令參數(shù):
-d 使用Socket層級的排錯功能。
-f 設(shè)置第一個(gè)檢測數(shù)據(jù)包的存活數(shù)值TTL的大小。
-F 設(shè)置勿離斷位。
-g 設(shè)置來源路由網(wǎng)關(guān),最多可設(shè)置8個(gè)。
-i 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。
-I 使用ICMP回應(yīng)取代UDP資料信息。
-m 設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值TTL的大小。
-n 直接使用IP地址而非主機(jī)名稱。
-p 設(shè)置UDP傳輸協(xié)議的通信端口。
-r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。
-s 設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址。
-t 設(shè)置檢測數(shù)據(jù)包的TOS數(shù)值。
-v 詳細(xì)顯示指令的執(zhí)行過程。
-w 設(shè)置等待遠(yuǎn)端主機(jī)回報(bào)的時(shí)間。
-x 開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗(yàn)。
3)簡單使用1、不加任何參數(shù)
$ traceroute www.baidu.com
輸出:
traceroute to www.baidu.com (183.232.231.174), 30 hops max, 60 byte packets
1 gateway (192.168.182.2) 0.094 ms 0.077 ms 0.044 ms 0.079 ms
2 * * * *
3 * * * *
4 * * * *
5 * * * *
6 * * * *
7 * * * *
8 * * * *
9 * * * *
10 * * * *
11 * * * *
12 * * * *
13 * * * *
14 * * * *
15 * * * *
16 * * * *
17 * * * *
18 * * * *
19 * * * *
20 * * * *
21 * * * *
22 * * * *
23 * * * *
24 * * * *
25 * * * *
26 * * * *
27 * * * *
28 * * * *
29 * * * *
30 * * * *
說明:
2、跳數(shù)設(shè)置(-m)
$ traceroute -m 10 www.taobao.com
輸出:
traceroute to www.baidu.com (183.232.231.174), 10 hops max, 60 byte packets
1 gateway (192.168.182.2) 0.116 ms 0.095 ms 0.036 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
3、顯示IP地址,不查主機(jī)名(-n)
$ traceroute -n -m 4 www.baidu.com
輸出:
traceroute to www.baidu.com (183.232.231.174), 4 hops max, 60 byte packets
1 192.168.182.2 0.079 ms 0.039 ms 0.037 ms
2 * * *
3 * * *
4 * * *
4、探測包使用的基本UDP端口設(shè)置8080(-p)
$ traceroute -p 8080 -m 4 www.baidu.com
輸出:
traceroute to www.baidu.com (183.232.231.174), 4 hops max, 60 byte packets
1 gateway (192.168.182.2) 0.096 ms 0.042 ms 0.067 ms
2 * * *
3 * * *
4 * * *
5、繞過正常的路由表,直接發(fā)送到網(wǎng)絡(luò)相連的主機(jī)(-r)
$ traceroute -r www.baidu.com
輸出:
traceroute to www.baidu.com (183.232.231.174), 30 hops max, 60 byte packets
connect: Network is unreachable
6、把對外發(fā)探測包的等待響應(yīng)時(shí)間設(shè)置為3秒(-w)
$ traceroute -w 3 -m 4 www.baidu.com
輸出:
traceroute to www.baidu.com (183.232.231.174), 4 hops max, 60 byte packets
1 gateway (192.168.182.2) 0.102 ms 0.065 ms 0.066 ms
2 * * *
3 * * *
4 * * *
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。