一、網路及服務故障的排查思路:
第一步:查一下路徑通不通
ping -c3 -i2 -s512 www.cnblogs.com icmp 協議是否禁止
-c:次數 -i:時間間隔 -s:發包大小
tranceroute www.cnblogs.com 檢視各個節點是否暢通
telnet www.blogs.com 80 檢查伺服器web有沒有開啟,服務開沒開,以及防火牆有沒有擋住。
如果命令卡在第一行表示不通,卡在第二行表示通。
綜上,如果不通:
1.80服務沒開或埠不存在。
2.服務被防火牆擋住了。
3.服務監聽的埠不在連線的ip上。(連線被限定了ip)
例:#netstat -lntup | grep ssh
0.0.0.0表示任意的ip位址都可以連線我的埠,也就是說我的服務並沒有限制訪問的ip;
如果是192.168.1.0:22則只限定了192.168.1.0的網段才能夠ssh連線我的埠。
4.運營商預設不開,申請開端口。
二、如果區域網的某個機器無法上網
1.單機器無法上網
如果通,但不能上網,可能是瀏覽器,中毒等問題。
(2)ping 閘道器(目的是排除物理鏈路的問題)
(3)上網的路由器及isp線路問題
2.大面積不能上網
路由器,isp,交換機環路,核心交換機,arp病毒。
三、客戶端開啟的**慢,如何排查?
(一)使用者個例還是全部如此,如果全部如此,那麼:
(1)道路是否暢通的問題
如果能ping通,不丟包,就是伺服器有問題(伺服器宕機或過載)
如果能ping通,但丟包,就是機房問題(頻寬不穩定,各個線路不穩定)
traceroute -d (linux)
tracert -d (windows)
-d:禁止反向解析(速度快)
(2)機房業務是否ok
nmap www.baidu.com -p 80 掃瞄埠
curl www.baidu.com 或 wget www.baidu.com
(3)外部問題
a、google瀏覽器直接按f12
b、火狐 fire bug等
【沒有錯誤,只是有點警告】
【有錯誤,讓開發看看是不是錯誤導致的】
(4)集群架構問題
四、合格的linux運維必會
1.tcp/ip協議三次握手和四次斷開的過程
2.http協議的工作原理
1)位址解析
如客戶端瀏覽:http://zhuji:8080/index.html
協議名:http 主機名:zhuji 埠:8080 物件路徑:/index.html
在這一步需要網域名稱系統dns解析網域名稱zhuji.com 得到主機的ip位址。
2)封裝http請求資料報、
把第一步的解析結果在結合自己本機的資訊,封裝成乙個http請求資料報。
3)封裝成tcp包,建立tcp連線
tcp的三次握手
4)客戶機傳送請求命令
建立連線後,客戶機傳送乙個請求給伺服器,請求方式的格式為:統一資源識別符號(url)、協議版本號,後邊是mime資訊包括請求修飾符,客戶機資訊許可內容。
5)伺服器響應
6)伺服器關閉tcp連線
一般情況下,一旦web伺服器向瀏覽器傳送了請求資料,它就要關閉tcp連線,然後如果瀏覽器或者伺服器在其頭資訊加入了這行**connection:keep-alive。tcp連線在傳送後將 仍然保持開啟狀態,於是,瀏覽器可以繼續通過相同的連線傳送請求。保持連線節省了為每個請求建立連線所需要的時間,還節約了網路頻寬。
3.機器無法上網(詳見上方)
4.**開啟慢(詳見上方)
5.dns解析原理
如果hosts裡沒有這個網域名稱的對映,則查詢本地dns解析器快取,是否有這個**對映關係,如果有,直接返回,完成網域名稱解析。
如果hosts與本地dns解析器快取都沒有相應的**對映關係,首先會找tcp/ip引數中設定的首選dns伺服器,在此我們叫它本地dns伺服器,此伺服器收到查詢時,如果要查詢的網域名稱,包含在本地配置區域資源中,則返回解析結果給客戶機,完成網域名稱解析,此解析具有權威性。
如果用的是**模式,此dns伺服器就會把請求**至上一級dns伺服器,由上一級伺服器進行解析,上一級伺服器如果不能解析,或找根dns或把**請求轉至上上級,以此迴圈。不管是本地dns伺服器用的是**,還是根提示,最後都是把結果返回給本地dns伺服器,由此dns伺服器再返回給客戶機。
6.osi七層網路模型
7.route如何新增乙個網路路由
新增到主機的路由:
# route add –host 192.168.1.10 dev eth0
# route add –host 192.168.1.10 gw 192.168.1.1
新增到網路的路由:
# route add –net 192.168.1.0 netmask 255.255.255.0 eth0
# route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
# route add –net 192.168.1.0/24 eth1
新增預設閘道器:
# route add default gw 192.168.1.1
刪除路由:
# route del –host 192.168.1.10 dev eth0
新增永久路由方法:
方法一:
# vi /etc/rc.local(新增到末尾)
語句: route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
方法二:
# vi /etc/sysconfig/network (新增到末尾)
語句:gateway=gw-ip 或者 gateway=gw-dev
方法三:
# vi /etc/sysconfig/static-routes (沒有static-routes的話就手動建立乙個這樣的檔案)
語句:any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129
方法四:
開啟 ip **:# echo "1" >/proc/sys/net/ipv4/ip_forward (臨時)
# vi /etc/sysctl.conf --> net.ipv4.ip_forward=1 (永久開啟)
8.如何檢視已知埠對應的服務名:
根據埠號查詢對應的服務名
1)grep -w 埠號 /etc/services
2)grep "\b埠號\b" /etc/services
根據服務名查詢對應的埠號
1)grep -w 服務名 /etc/services
2)grep "\b服務名\b" /etc/services
其中-w表示只顯示全字符合的列,即精確匹配;"\b"表示匹配乙個字邊界,即字與空格間的位置。例如,「er\b」匹配「never」中的「er」,但不匹配「verb」中的「er」(若匹配「verb」中的「er」可 使用"\b"進行非字邊界匹配)。
網路基礎總結必會
tcp 面向連線 可靠 速度慢 長度不受限 全雙工 流式傳輸 檔案傳輸 郵件 實時通訊 三次握手 記那張圖 syn ack accept connect 1.三次握手是tcp協議建立連線的過程 2.由客戶端發起乙個syn請求,服務端接收並回覆 syn ack 客戶端收到ack和syn之後再回覆乙個a...
linux必會命令
一 功能鍵 ctrl u 快捷鍵 快速刪除游標之前的所有字元內容 ctrl k 快捷鍵 快速刪除從點前游標處到行尾的所有字元 ctrl l 快捷鍵 快速清空螢幕顯示 ctrl c 快捷鍵 取消當前命令tab 鍵補全鍵 man help,info 顯示資訊名稱 顯示幫助資訊 注 一般man用的比較多,...
Linux網路測試命令
ping ip 網域名稱 可選 c 次數 聯通測試 telnet 網域名稱或ip 埠 遠端管理與埠探測命令 例如 telnet 192.168.0.252 80 如果連線成功,將會進入連線狀態,按ctrl 推出到telnet,在鍵入quit返回命令列狀態。traceroute ip 網域名稱 路由路...