通過traceroute我們可以知道信息從你的計算機(jī)到互聯(lián)網(wǎng)另一端的主機(jī)是走的什么路徑。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)克東免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
當(dāng)然每次數(shù)據(jù)包由某一同樣的出發(fā)點(source)到達(dá)某一同樣的目的地(destination)走的路徑可能會不一樣,
但基本上來說大部分時候所走的路由是相同的。
linux系統(tǒng)中,我們稱之為traceroute,在MS Windows中為tracert。
traceroute通過發(fā)送小的數(shù)據(jù)包到目的設(shè)備直到其返回,來測量其需要多長時間。
一條路徑上的每個設(shè)備traceroute要測3次。輸出結(jié)果中包括每次測試的時間(ms)和設(shè)備的名稱(如有的話)及其IP地址。
說明:
記錄按序列號從1開始,每個紀(jì)錄就是一跳 ,每跳表示一個網(wǎng)關(guān),我們看到每行有三個時間,單位是ms,其實就是-q的默認(rèn)參數(shù)。
探測數(shù)據(jù)包向每個網(wǎng)關(guān)發(fā)送三個數(shù)據(jù)包后,網(wǎng)關(guān)響應(yīng)后返回的時間;如果您用 traceroute -q 4 ,表示向每個網(wǎng)關(guān)發(fā)送4個數(shù)據(jù)包。
有時我們traceroute 一臺主機(jī)時,會看到有一些行是以星號表示的。
出現(xiàn)這樣的情況,可能是防火墻封掉了ICMP的返回信息,所以我們得不到什么相關(guān)的數(shù)據(jù)包返回數(shù)據(jù)。
有時我們在某一網(wǎng)關(guān)處延時比較長,有可能是某臺網(wǎng)關(guān)比較阻塞,也可能是物理設(shè)備本身的原因。
當(dāng)然如果某臺DNS出現(xiàn)問題時,不能解析主機(jī)名、域名時,也會 有延時長的現(xiàn)象;
您可以加-n 參數(shù)來避免DNS解析,以IP格式輸出數(shù)據(jù)。
如果在局域網(wǎng)中的不同網(wǎng)段之間,我們可以通過traceroute 來排查問題所在,是主機(jī)的問題還是網(wǎng)關(guān)的問題。
如果我們通過遠(yuǎn)程來訪問某臺服務(wù)器遇到問題時,我們用到traceroute 追蹤數(shù)據(jù)包所經(jīng)過的網(wǎng)關(guān),提交IDC服務(wù)商,也有助于解決問題;
但目前看來在國內(nèi)解決這樣的問題是比較困難的,就是我們發(fā)現(xiàn)問題所在,IDC服務(wù)商也不可能幫助我們解決。
說明:
Traceroute的工作原理:
Traceroute最簡單的基本用法是:traceroute hostname
Traceroute程序的設(shè)計是利用ICMP及IP header的TTL(Time To Live)欄位(field)。
首先,traceroute送出一個TTL是1的IP datagram
(其實,每次送出的為3個40字節(jié)的包,包括源地址,目的地址和包發(fā)出的時間標(biāo)簽)到目的地,
當(dāng)路徑上的第一個路由器(router)收到這個datagram時,它將TTL減1。此時,TTL變?yōu)?了,
所以該路由器會將此datagram丟掉,并送回一個「ICMP time exceeded」消息
(包括發(fā)IP包的源地址,IP包的所有內(nèi)容及路由器的IP地址),traceroute 收到這個消息后,
便知道這個路由器存在于這個路徑上,接著traceroute 再送出另一個TTL是2 的datagram,
發(fā)現(xiàn)第2 個路由器...... traceroute 每次將送出的datagram的TTL 加1來發(fā)現(xiàn)另一個路由器,
這個重復(fù)的動作一直持續(xù)到某個datagram 抵達(dá)目的地。當(dāng)datagram到達(dá)目的地后,
該主機(jī)并不會送回ICMP time exceeded消息,因為它已是目的地了,那么traceroute如何得知目的地到達(dá)了呢?
Traceroute在送出UDP datagrams到目的地時,它所選擇送達(dá)的port number 是一個一般應(yīng)用程序都不會用的號碼(30000 以上),
所以當(dāng)此UDP datagram 到達(dá)目的地后該主機(jī)會送回一個「ICMP port unreachable」的消息,
而當(dāng)traceroute 收到這個消息時,便知道目的地已經(jīng)到達(dá)了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。
Traceroute提取發(fā) ICMP TTL到期消息設(shè)備的IP地址并作域名解析。
每次 ,Traceroute都打印出一系列數(shù)據(jù),包括所經(jīng)過的路由設(shè)備的域名及 IP地址,三個包每次來回所花時間。
linux route命令 用于顯示和操作IP路由表 。
要實現(xiàn) 兩個不同子網(wǎng)之間的通信 ,需要一臺連接兩個網(wǎng)絡(luò)的路由器,或者同時位于兩個網(wǎng)絡(luò)的網(wǎng)關(guān)來實現(xiàn)。
在Linux系統(tǒng)中,設(shè)置路由通常是為了解決以下問題:該Linux系統(tǒng)在一個局域網(wǎng)中,局域網(wǎng)中有一個網(wǎng)關(guān),能夠讓機(jī)器訪問Internet,那么就需要將這臺機(jī)器的IP地址 設(shè)置為 Linux機(jī)器的默認(rèn)路由 。
格式:
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]
1、 查看相關(guān)參數(shù):
-n :不要使用通訊協(xié)定或主機(jī)名稱,直接使用 IP 或 port number;
-ee :使用更詳細(xì)的資訊來顯示
2、增加 (add) 、刪除 (del) 路由的相關(guān)參數(shù):
-net :表示后面接的路由為一個網(wǎng)域;
-host :表示后面接的為連接到單部主機(jī)的路由;
netmask :與網(wǎng)域有關(guān),可以設(shè)定 netmask 決定網(wǎng)域的大??;
gw :gateway 的簡寫,后續(xù)接的是 IP 的數(shù)值喔,與 dev 不同;
dev :如果只是要指定由那一塊網(wǎng)卡連線出去,則使用這個設(shè)定,后面接 eth0 等
設(shè)置默認(rèn)路由
格式:route add default gw {IP-ADDRESS} {INTERFACE-NAME}
其中,
參數(shù){IP-ADDRESS): 用于指定路由器(網(wǎng)關(guān))的IP地址;
參數(shù){INTERFACE-NAME}: 用于指定接口名稱,如eth0。使用/sbin/ifconfig -a可以顯示所有接口信息。
例:
添加到指定網(wǎng)絡(luò)的路由規(guī)則
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
其中
參數(shù){NETWORK-ADDRESS}: 用于指定網(wǎng)絡(luò)地址
參數(shù){NETMASK}: 用于指定子網(wǎng)掩碼
參數(shù){INTERFACE-NAME}: 用于指定接口名稱,如eth0。
例:
屏蔽一條路由,設(shè)置到指定網(wǎng)絡(luò)為不可達(dá) ,避免在連接到這個網(wǎng)絡(luò)的地址時程序過長時間的等待
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
例:
刪除路由設(shè)置 ,參數(shù)指定的方式與route add相似。
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
例:
注意的是 ,直接在命令行下執(zhí)行route命令來添加路由, 不會永久保存 ,當(dāng)網(wǎng)卡重啟或者機(jī)器重啟之后,該路由就 失效 了; 要想永久保存 ,有如下方法:
1. 在/etc/rc.local里添加
2. 在/etc/sysconfig/network里添加到末尾
3. /etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
linux 中查詢路由使用 route 命令.
linux route命令的使用詳解
route命令用于顯示和操作IP路由表。要實現(xiàn)兩個不同的子網(wǎng)之間的通信,需要一臺連接兩個網(wǎng)絡(luò)的路由器,或者同時位于兩個網(wǎng)絡(luò)的網(wǎng)關(guān)來實現(xiàn)。在Linux系統(tǒng)中,設(shè)置路由通常是 為了解決以下問題:該Linux系統(tǒng)在一個局域網(wǎng)中,局域網(wǎng)中有一個網(wǎng)關(guān),能夠讓機(jī)器訪問Internet,那么就需要將這臺機(jī)器的IP地址設(shè)置為 Linux機(jī)器的默認(rèn)路由。要注意的是,直接在命令行下執(zhí)行route命令來添加路由,不會永久保存,當(dāng)網(wǎng)卡重啟或者機(jī)器重啟之后,該路由就失效了;要想永久保存,有如下方法:
1.在/etc/rc.local里添加
2.在/etc/sysconfig/network里添加到末尾
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
格式:route
格式:/sbin/route
用于打印路由表(display the current routing table)。
在非root用戶使用時需要使用完整路徑執(zhí)行route命令。
命令參數(shù)
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]
觀察的參數(shù):
-n :不要使用通訊協(xié)定或主機(jī)名稱,直接使用 IP 或 port number;
-ee :使用更詳細(xì)的資訊來顯示
增加 (add) 與刪除 (del) 路由的相關(guān)參數(shù):
-net :表示后面接的路由為一個網(wǎng)域;
-host :表示后面接的為連接到單部主機(jī)的路由;
netmask :與網(wǎng)域有關(guān),可以設(shè)定 netmask 決定網(wǎng)域的大??;
gw :gateway 的簡寫,后續(xù)接的是 IP 的數(shù)值喔,與 dev 不同;
dev :如果只是要指定由那一塊網(wǎng)路卡連線出去,則使用這個設(shè)定,后面接 eth0 等
格式:route -n
格式:/sbin/route -n
用于打印路由表,加上-n參數(shù)就是在輸出的信息中不打印主機(jī)名而直接打印ip地址。
格式:route add default gw {IP-ADDRESS} {INTERFACE-NAME}
用于設(shè)置默認(rèn)路由,其中,
參數(shù){IP-ADDRESS): 用于指定路由器(網(wǎng)關(guān))的IP地址;
參數(shù){INTERFACE-NAME}: 用于指定接口名稱,如eth0。使用/sbin/ifconfig -a可以顯示所有接口信息。
例:route add default gw mango
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
添加到指定網(wǎng)絡(luò)的路由規(guī)則,其中
參數(shù){NETWORK-ADDRESS}: 用于指定網(wǎng)絡(luò)地址
參數(shù){NETMASK}: 用于指定子網(wǎng)掩碼
參數(shù){INTERFACE-NAME}: 用于指定接口名稱,如eth0。
例1:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
例2:route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
設(shè)置到指定網(wǎng)絡(luò)為不可達(dá),避免在連接到這個網(wǎng)絡(luò)的地址時程序過長時間的等待,直接就知道該網(wǎng)絡(luò)不可達(dá)。
例:route add -net 10.0.0.0 netmask 255.0.0.0 reject
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
用于刪除路由設(shè)置。參數(shù)指定的方式與route add相似。
輸出詳解
route命令輸出的路由表字段含義如下:
Destination 目標(biāo)
The destination network or destination host. 目標(biāo)網(wǎng)絡(luò)或目標(biāo)主機(jī)。
Gateway 網(wǎng)關(guān)
The gateway address or '*' if none set. 網(wǎng)關(guān)地址,如果沒有就顯示星號。
Genmask 網(wǎng)絡(luò)掩碼
The netmask for the destination net; '255.255.255.255' for a
host destination and '0.0.0.0' for the default route.
Flags:總共有多個旗標(biāo),代表的意義如下:
o U (route is up):該路由是啟動的;
o H (target is a host):目標(biāo)是一部主機(jī) (IP) 而非網(wǎng)域;
o G (use gateway):需要透過外部的主機(jī) (gateway) 來轉(zhuǎn)遞封包;
o R (reinstate route for dynamic routing):使用動態(tài)路由時,恢復(fù)路由資訊的旗標(biāo);
o D (dynamically installed by daemon or redirect):已經(jīng)由服務(wù)或轉(zhuǎn) port 功能設(shè)定為動態(tài)路由
o M (modified from routing daemon or redirect):路由已經(jīng)被修改了;
o ! (reject route):這個路由將不會被接受(用來抵擋不安全的網(wǎng)域!)
o A (installed by addrconf)
o C (cache entry)
Metric 距離、跳數(shù)。暫無用。
The 'distance' to the target (usually counted in hops). It is
not used by recent kernels, but may be needed by routing dae-
mons.
Ref 不用管,恒為0。
Number of references to this route. (Not used in the Linux ker-nel.)
Use 該路由被使用的次數(shù),可以粗略估計通向指定網(wǎng)絡(luò)地址的網(wǎng)絡(luò)流量。
Count of lookups for the route. Depending on the use of -F and
-C this will be either route cache misses (-F) or hits (-C).
Iface 接口,即eth0,eth0等網(wǎng)絡(luò)接口名
Interface to which packets for this route will be sent.
范例一
單純的觀察路由狀態(tài)
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.10.30 0.0.0.0 UG 0 0 0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default server.cluster 0.0.0.0 UG 0 0 0 eth0
此外,觀察一下上面的路由排列順序喔,依序是由小網(wǎng)域(192.168.10.0/24 是 Class C),逐漸到大網(wǎng)域(169.254.0.0/16 Class B) 最后則是預(yù)設(shè)路由 (0.0.0.0/0.0.0.0)。然后當(dāng)我們要判斷某個網(wǎng)路封包應(yīng)該如何傳送的時候,該封包會經(jīng)由這個路由的過程來判斷喔!舉例來說,我上頭僅有三個路由,若我有一個傳往 192.168.10.20 的封包要傳遞,那首先會找 192.168.10.0/24 這個網(wǎng)域的路由,找到了!所以直接由 eth0 傳送出去;如果是傳送到 Yahoo 的主機(jī)呢? Yahoo 的主機(jī) IP 是 202.43.195.52,我通過判斷
1)不是 192.168.10.0/24,
2)不是 169.254.0.0/16 結(jié)果到達(dá)
3)0/0 時, OK !傳出去了,透過 eth0 將封包傳給 192.168.10.30 那部 gateway 主機(jī)?。∷哉f,路由是有順序的。因此當(dāng)你重復(fù)設(shè)定多個同樣的路由時,例如在你的主機(jī)上的兩張網(wǎng)路卡設(shè)定為相同網(wǎng)域的 IP 時,會出現(xiàn)什么情況?會出現(xiàn)如下的情況:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
也就是說,由于路由是依照順序來排列與傳送的,所以不論封包是由那個介面 (eth0, eth1) 所接收,都會由上述的 eth0 傳送出去,所以,在一部主機(jī)上面設(shè)定兩個相同網(wǎng)域的 IP 本身沒有什么意義!有點多此一舉就是了。除非是類似虛擬主機(jī) (Xen, VMware 等軟體 ) 所架設(shè)的多主機(jī)時,才會有這個必要~
范例二
[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
# 上面這個動作可以刪除掉 169.254.0.0/16 這個網(wǎng)域!
# 請注意,在刪除的時候,需要將路由表上面出現(xiàn)的資訊都寫入
# 包括 netmask , dev 等等參數(shù)喔!注意注意
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
# 透過 route add 來增加一個路由!請注意,這個路由必須要能夠與你互通。
# 舉例來說,如果我下達(dá)底下的指令就會顯示錯誤:
route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
# 因為我的環(huán)境內(nèi)僅有 192.168.10.100 這個 IP ,所以不能與 192.168.200.254這個網(wǎng)段直接使用 MAC 互通!這樣說,可以理解喔???
[root@linux ~]# route add default gw 192.168.10.30
# 增加預(yù)設(shè)路由的方法!請注意,只要有一個預(yù)設(shè)路由就夠了喔!
# 在這個地方如果您隨便設(shè)定后,記得使用底下的指令重新設(shè)定你的網(wǎng)路
/etc/init.d/network restart
如果是要進(jìn)行路由的刪除與增加,那就得要參考上面的例子了,其實,使用 man route 里面的資料就很豐富了!仔細(xì)查閱一下羅!你只要記得,當(dāng)出現(xiàn)『SIOCADDRT: Network is unreachable』這個錯誤時,肯定是由于 gw 后面接的 IP 無法直接與您的網(wǎng)域溝通 (Gateway 并不在你的網(wǎng)域內(nèi))。
本文題目:追蹤路由命令linux 追蹤路由命令華為
網(wǎng)站地址:http://jinyejixie.com/article18/dodpjgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站建設(shè)、面包屑導(dǎo)航、品牌網(wǎng)站制作、商城網(wǎng)站、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)