重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
通過traceroute我們可以知道信息從你的計算機到互聯網另一端的主機是走的什么路徑。
成都創新互聯公司2013年至今,先為清河等服務建站,清河等地企業,進行企業商務咨詢服務。為清河企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
當然每次數據包由某一同樣的出發點(source)到達某一同樣的目的地(destination)走的路徑可能會不一樣,
但基本上來說大部分時候所走的路由是相同的。
linux系統中,我們稱之為traceroute,在MS Windows中為tracert。
traceroute通過發送小的數據包到目的設備直到其返回,來測量其需要多長時間。
一條路徑上的每個設備traceroute要測3次。輸出結果中包括每次測試的時間(ms)和設備的名稱(如有的話)及其IP地址。
說明:
記錄按序列號從1開始,每個紀錄就是一跳 ,每跳表示一個網關,我們看到每行有三個時間,單位是ms,其實就是-q的默認參數。
探測數據包向每個網關發送三個數據包后,網關響應后返回的時間;如果您用 traceroute -q 4 ,表示向每個網關發送4個數據包。
有時我們traceroute 一臺主機時,會看到有一些行是以星號表示的。
出現這樣的情況,可能是防火墻封掉了ICMP的返回信息,所以我們得不到什么相關的數據包返回數據。
有時我們在某一網關處延時比較長,有可能是某臺網關比較阻塞,也可能是物理設備本身的原因。
當然如果某臺DNS出現問題時,不能解析主機名、域名時,也會 有延時長的現象;
您可以加-n 參數來避免DNS解析,以IP格式輸出數據。
如果在局域網中的不同網段之間,我們可以通過traceroute 來排查問題所在,是主機的問題還是網關的問題。
如果我們通過遠程來訪問某臺服務器遇到問題時,我們用到traceroute 追蹤數據包所經過的網關,提交IDC服務商,也有助于解決問題;
但目前看來在國內解決這樣的問題是比較困難的,就是我們發現問題所在,IDC服務商也不可能幫助我們解決。
說明:
Traceroute的工作原理:
Traceroute最簡單的基本用法是:traceroute hostname
Traceroute程序的設計是利用ICMP及IP header的TTL(Time To Live)欄位(field)。
首先,traceroute送出一個TTL是1的IP datagram
(其實,每次送出的為3個40字節的包,包括源地址,目的地址和包發出的時間標簽)到目的地,
當路徑上的第一個路由器(router)收到這個datagram時,它將TTL減1。此時,TTL變為0了,
所以該路由器會將此datagram丟掉,并送回一個「ICMP time exceeded」消息
(包括發IP包的源地址,IP包的所有內容及路由器的IP地址),traceroute 收到這個消息后,
便知道這個路由器存在于這個路徑上,接著traceroute 再送出另一個TTL是2 的datagram,
發現第2 個路由器...... traceroute 每次將送出的datagram的TTL 加1來發現另一個路由器,
這個重復的動作一直持續到某個datagram 抵達目的地。當datagram到達目的地后,
該主機并不會送回ICMP time exceeded消息,因為它已是目的地了,那么traceroute如何得知目的地到達了呢?
Traceroute在送出UDP datagrams到目的地時,它所選擇送達的port number 是一個一般應用程序都不會用的號碼(30000 以上),
所以當此UDP datagram 到達目的地后該主機會送回一個「ICMP port unreachable」的消息,
而當traceroute 收到這個消息時,便知道目的地已經到達了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。
Traceroute提取發 ICMP TTL到期消息設備的IP地址并作域名解析。
每次 ,Traceroute都打印出一系列數據,包括所經過的路由設備的域名及 IP地址,三個包每次來回所花時間。
一、查看網絡配置
確保網絡配置的正確性及網絡連接的暢通是Linux系統作為服務器應用的基礎,查看及測試網絡配置是管理Linux網絡服務的第一步。
1.ifconfig——查看網絡配置
1) 查看所有活動網絡接口的信息
執行 ifconfig 或ip addr或ip a命令,都可以顯示當前主機中已啟用(活動)的網絡接口信息。、
2) 查看指定網絡接口信息
格式:ifconfig 網絡接口名
可以通過TX、RX等信息了解到通過該網絡接口發送和接收的數據包個數,流量等跟多屬性。
2.hostname命令
在Linux系統中,相當一部分網絡服務都會通過主機名來識別本機,如果主機名配置不當,可能會導致程序功能出現故障。
1) 查看主機名
使用hostname命令就可以查看當前主機的主機名,不添加任何選項參數。
2) 臨時更改主機名
hostname NewName
注:這種方法只是臨時的更改主機名,重啟后將失效。
3) 永久更改主機名
a. 修改配置文件
RHEL6和7的配置文件存放路徑不相同,修改配置文件中的主機名,重啟就可永久更改主機名。
RHEL6主機名配置文件路徑為:/etc/sysconfig/network
RHEL7主機名配置文件路徑為:/etc/hostname
示例
b. 使用命令修改(這種方法只適用于RHEL7或者CentOS7之后)
命令格式:
使用該命令更改后,更改后的主機名就自動寫入了配置文件中,所以可以永久更改主機名,其實就是修改了配置文件。
3.route命令
直接執行route命令可以查看當前主機中的路由表信息,若結合“-n”選項使用,可以將路由記錄中的地址顯示為數字形式,這可以跳過解析主機名的過程,在路由表條目較多的情況下能夠加快執行速度。
Destination列對應的是目標網段的地址,Gateway列對應的是嚇一跳路由器的地址,Iface列對應的是發送數據的網絡接口。當目標網段為“default”是,表示此行是默認網關記錄,當嚇一跳為“*”是,表示目標網段是與本機直接相連的。
4.netstat命令——查看系統的網絡連接狀態等
netstat命令是了解網絡狀態及排除網絡服務故障的有效工具。
常用選項:
-a:顯示所有活動連接(包括監聽、非監聽狀態的服務端口)
-n:以數字形式顯示
-p:顯示相關的進程信息
-t:查看 TCP 協議相關信息
-u:查看UDP協議相關信息
-r:顯示路由表信息
-l:顯示處于監聽(listening)狀態的網絡連接及端口信息
通常使用“-anput”組合選項,結合管道使用“grep”命令,來查看一些服務的端口是否開啟。
示例:
Tcp21為ftp服務的端口
二、測試網絡連接
1.ping命令——測試網絡連通性
常用選項:
-c完成次數:設置完成要求回應的次數
-i間隔秒數:指定收發信息的間隔時間
-q:不顯示指令執行過程,開頭和結尾的相關信息除外
-s數據包大小:設置數據包的大小
-t存活數值:設置存活數值TTL的大小
-v:詳細顯示指令的執行過程
若返回“Destination Host Unreachable”的反饋信息,則表示目標主機不可達,可能目標地址不存在或主機已關閉;返回“Network is unreachable”的反饋信息,則表示沒有可用的路由記錄(如默認網關),無法到達目標主機所在的網絡;返回“Request timeout”的反饋信息,表示與目標主機間的連接超時(數據包緩慢或丟失),若有嚴格的防火墻限制,也可能返回此信息。
2.traceroute命令——跟蹤數據包的路由途徑
使用traceroute命令可以測試從當前主機到目的主機之間經過的網絡節點,并顯示各中間結點的連接狀態(響應時間)。對于無法響應的節點,連接狀態將顯示為“*”。
示例:traceroute IP_ADDR
在網絡測試與排錯的過程中,通常會先使用ping命令測試與主機的網絡連接,如果發現網絡有故障,再使用traceroute命令跟蹤查看是在哪個中間結點存在故障。
3.nslookup命令——測試DNS域名解析
nslookup是用來測試(DNS)域名解析的專用工具。(DNS服務后面再詳細講解,通俗的說就是將域名解析為ip地址的一個服務)
示例:nslookup
若成功反饋要查詢域名的IP地址,則表示域名解析沒有問題;若出現“...... no servers could be reached”的信息,表示不能連接到指定的DNS服務器;若出現“...... cant’t find xxx.yyy.zzz:NXDOMAIN”的信息,表示要查詢的域名不存在。
三、設置網絡地址參數
設置網絡參數的方法:
? 臨時配置 —— 使用命令調整網絡參數簡單、快速,可直接修改運行中的網絡參數
一般只適合在調試網絡的過程中使用
系統重啟以后,所做的修改將會失效
? 永久配置 —— 通過配置文件修改網絡參數修改各項網絡參數的配置文件
適合對服務器設置固定參數時使用
需要重載網絡服務或者重啟以后才會生效
1.臨時配置——使用網絡配置命令(注:RHEL6中網絡接口的名稱為eth,RHEL7中為ens)
1)使用ifconfig命令修改網卡的地址、狀態
ifconfig命令不僅可以用于查看網卡配置,還可以修改網卡的ip地址,子網掩碼,也可以綁定網絡接口、激活或停用網絡接口
a. 修改網卡的ip地址(臨時修改)
命令格式:
示例:
b. 禁用或者重新激活網卡
命令格式:
示例:
c. 設置虛擬網絡接口(相當于一塊網卡配置多個IP地址)
命令格式:
示例:
可以根據需要添加更多的虛擬接口,如“eth0:1”“eth0:2”等
2)使用route命令添加、刪除靜態路由記錄
? 刪除路由表中的默認網關記錄命令格式:route del default gw IP地址
? 向路由表中添加默認網關記錄命令格式:route add default gw IP地址
? 添加到指定網段的路由記錄命令格式:route add -net 網段地址 gw IP地址
? 刪除到指定網段的路由記錄命令格式:router del -net 網段地址
2.永久配置——修改網絡配置文件
1)網絡接口配置文件
網絡接口的配置文件默認位于目錄“/etc/sysconfig/network-scripts/”中,文件名格式為:“ifcfg-XXX”,其中“XXX”是網絡接口的名稱。例如:RHEL6中網卡eth0的配置文件是“ifcfg-eth0”,而RHEL7中網卡ens33的配置文件是“ifcfg-ens33”。
在網卡的配置文件中,可以看到靜態IP地址的部分內容如下圖所示:
上述個配置項的含義及作用:(圖示為RHEL6中的配置文件,7中也差不多,換湯不換藥,修改的都差不多)
? DEVICE:設置網絡接口的名稱ONBOOT:設置網絡接口是否在Linux系統啟動時激活BOOTPROTO:設置網絡接口的配置方式,值為static時表示使用靜態ip地址,為dhcp時表示通過dhcp的方式動態獲取ip地址IPADDR:設置網絡接口的ip地址NETMASK:設置網絡接口的子網掩碼GATEWAY:設置網絡接口的默認網關地址2)重啟 network 網絡服務
當修改了網絡接口的配置文件以后,若要使新的配置生效,可以重啟network服務或者重啟主機或者禁用、啟用網絡接口。
示例:
? RHEL6中重啟network服務:service network restartRHEL7中重啟network服務:systemctl restart network注:這是我在做實驗時候的一個經驗:RHEL6修改完網卡配置重啟后,ip地址仍然沒有改過來,這時候我們經常會刪除“/etc/udev/rules.d/70-persistent-net.rules”這個文件。RHEL7不用管,RHEL7特別好改,RHEL6改的時候特別難受。(個人提示,不求認同)
3)域名解析配置文件
a.指定為本機提供DNS解析的服務器地址
/etc/resolv.conf文件中記錄了本機默認使用的DNS服務器的地址信息,對該文件所做的修改將會立刻生效。Linux系統中最多可以指定3個(第3個以后將被忽略)不同的DNS服務器地址,優先使用第1個DNS服務器。
示例:
其中“search localdomain”用來設置默認的搜索域(域名后綴)。例如,當訪問主機“localhost”時,就相當于訪問“localhost.localdomain”。
b.本地主機映射文件
/etc/hosts文件中記錄著一份主機名與ip地址的映射關系表,一般用來保存經常訪問的主機信息。當訪問一個未知的域名時,先查找該文件中是否有相應的映射記錄,如果找不到在去向DNS服務器查詢。
hosts 文件和 DNS 服務器的比較
? 默認情況下,系統首先從 hosts 文件查找解析記錄hosts 文件只對當前的主機有效hosts 文件可減少 DNS 查詢過程,從而加快訪問速度
tracert
tracert是路由跟蹤實用程序,用于確定
IP
數據報訪問目標所采取的路徑。tracert
命令用
IP
生存時間
(TTL)
字段和
ICMP
錯誤消息來確定從一個主機到網絡上其他主機的路由。
一、下載測試法
下載測試法主要是將一個大型的文件放置在服務器上,然后通過下載的方法來對帶寬的下載速度和穩定性進行測試,這種方法比較適用,特別是對于搭建下載網站或者在線視頻這種需要大帶寬支持的用戶來說。不過通常這種方法也需要服務商的配合。一般情況下:
1Mbps的帶寬下載速度:100K-150K/S
2Mbps是200-280K/S
4Mbps是400K-500K/S
8Mbps是800-950K/S
10Mbps光纖共享能達到1M-1.5M/S
注:(1Mbps寬帶理論下載速度128K/s,2Mbps寬帶理論256K/s,4Mbps是512K/s)
2、使用Ping測試網速
通過ping
服務商所提供的IP地址來對網絡的當前情況進行測試。但是需要注意的是這種方法只是對帶寬的一個估算,而不是直觀地將數值表現出來,這種方法最重要的測試服務器的訪問速度穩定性。
3、使用測試網站
只要用戶在搜索引擎上一搜,其實有很多網速測試網站可以進行網速測試,是最常用的網速測試方法,而且用戶根據網絡使用情況選擇測試線路,測試點遍及全國各省、美國、澳大利亞、日本等海外國家,用戶可選擇任意測試點進行測試,網站采用flash實現測速功能,可視化的測試過程,測試結果能準確反映本地網絡速率,無需下載安裝插件或添加額外設備,使用簡單,操作方便。
4、使用路由跟蹤
常見的路由跟蹤命令行 windows有Tracert和winmtr, Linux下有traceroute和mtr,
windows的winmtr是帶gui的使用比較簡單。根據以上帶寬的速度,然后除頁面文件大小,乘以打開頁面的時間(秒為單位)。這樣就可以算出1M帶寬能同時承受多少人訪問了。