linux網路管理之網路排錯

2021-10-01 02:28:43 字數 4551 閱讀 8430

linux網路管理之網路排錯

網路問題可歸納為硬體問題和軟體設定問題兩類:

硬體問題通常需要通過一些專門的裝置來分析硬體。

軟體設定問題大多數是設定以及概念理解的問題。

1.硬體問題

(1)網線問題

例如:網線被截斷,網線過度扭曲變形造成訊號不良,自製網路接頭品質不良,網路接頭與裝置接觸不良。

(2)網絡卡,hub以及router等網路裝置問題

例如:網絡卡不穩定、質量不佳,或者與整體系統的相容性不好。個網路裝置的接頭質量不佳,接觸不良,造成訊號衰減。網路裝置所處環境惡劣導致宕機問題。各網路使用方法不良,造成裝置功能衰減。

(3)裝置配置

例如:架設的網線過長,導致訊號衰減嚴重(乙太網cat5e的網線理論限制長度約90m,兩裝置之間距離大於90m時,訊號就容易出現問題)。其他雜訊干擾。區域網上,節點或其他裝置過多。

2.軟體問題

(1)網絡卡的ip/netmask設定錯誤

例如:ip衝突,子網掩碼配置錯誤,網絡卡驅動程式使用錯誤,網絡卡的irq和i/o address的設定衝突等。

(2)路由問題

例如:預設路由配置錯誤,路由介面與實際不符,使得資料報無法順利傳送。

(3)通訊協議不相符

例如:兩台linux機器要通過nfs通訊協議傳輸資料時,兩邊都需要支援rpcbind這個啟動rpc協議的程式才行。

(4)網路負荷問題

例如:同時有大量的資料報湧進同乙個網路時,就有可能造成網路的停頓甚至故障。(思博倫打流測試等)

(5)其他問題

例如:一些port被防火牆阻擋,應用程式本身的bug,應用程式使用者的網路設定,不同作業系統的相容性等。

3.處理思路

(1)了解問題:是剛發生的問題,還是之前有人做了什麼動作之後導致的無法連線。

(2)確認區域網連線:用ping來溝通兩台機器或路由器

(3)確認對外連線

(4)確認dns查詢:利用nslookup,host,或dig命令

(5)確認internet節點:利用traceroute檢查各節點是否有問題。

(6)確認伺服器狀態是否正常。

(7)防火牆或者許可權問題

4.處理流程

(1)網絡卡工作確認

a.確認網絡卡是否已近驅動成功

觀察網絡卡資訊是否被核心捕獲

[root@localhost ~]# dmesg |grep -in eth

1740:[ 2.275192] e1000 0000:02:01.0 eth0: (pci:66mhz:32-bit) 00:0c:29:14:b5:f9

1741:[ 2.275204] e1000 0000:02:01.0 eth0: intel® pro/1000 network connection

1783:[ 6.039168] ipv6: addrconf(netdev_up): eth0: link is not ready

1784:[ 6.044525] e1000: eth0 nic link is up 1000 mbps full duplex, flow control: none

由1741行可知,網絡卡使用的模組為e1000,使用的晶元intel,由1784行,可知1000m的全雙模式。

[root@localhost ~]# lspci |grep -i ethernet

02:01.0 ethernet controller: intel corporation 82545em gigabit ethernet controller (copper) (rev 01)

使用的是虛擬網絡卡

檢視網絡卡的模組

複製**

[root@localhost ~]# lsmod |grep 1000

e1000 137500 0 #模組已近載入到核心

[root@localhost ~]# modinfo e1000

filename: /lib/modules/3.10.0-693.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000/e1000.ko.xz #核心模組位置(注意:不同核心版本使用的驅動程式是不一樣的。所以,自己編譯的驅動程式需要重新編譯。)

version: 7.3.21-k8-napi

license: gpl

description: intel® pro/1000 network driver

author: intel corporation, [email protected]

rhelversion: 7.4

srcversion: 9e0a112e5d47c996e7c4a58

alias: pci:v00008086d00002e6esvsdbcsci*

alias: pci:v00008086d000010b5svsdbcsci*

複製**

若驅動不成功,則需要編譯網絡卡驅動程式。

b.確認是否可以手動直接建立ip引數

建立ip測試

複製**

[root@localhost ~]# ifconfig eth0 192.168.42.200

connection closed by foreign host.

disconnected from remote host(192.168.42.181:22) at 12:06:08.

type `help』 to learn how to use xshell prompt.

[c:~]$ ssh 192.168.42.200

connecting to 192.168.42.200:22…

connection established.

to escape to local shell, press 『ctrl+alt+]』.

warning! the remote ssh server rejected x11 forwarding request.

last login: thu nov 21 01:07:32 2019 from 192.168.42.1

[root@localhost ~]#

複製**

能夠正常檢測並響應,則證明網絡卡設定是沒有問題的。

(2)區域網內各項鏈結裝置檢測

a.明確區域網網段

b.檢查gateway與dns的設定

(3)確認路由表規則

使用ping來連線dns解析伺服器。

複製**

[root@localhost ~]# cat /etc/resolv.conf

search localdomain

nameserver 223.5.5.5

[root@localhost ~]# ping 223.5.5.5

ping 223.5.5.5 (223.5.5.5) 56(84) bytes of data.

64 bytes from 223.5.5.5: icmp_seq=1 ttl=128 time=36.2 ms

64 bytes from 223.5.5.5: icmp_seq=2 ttl=128 time=36.7 ms

64 bytes from 223.5.5.5: icmp_seq=3 ttl=128 time=36.4 ms

64 bytes from 223.5.5.5: icmp_seq=4 ttl=128 time=37.2 ms

複製**

能通,則表明與外部網路連線沒有問題。不通,則可能是防火牆或者路由的問題了。

檢查路由:

[root@localhost ~]# route -n

kernel ip routing table

destination gateway genmask flags metric ref use iface

0.0.0.0 192.168.42.2 0.0.0.0 ug 100 0 0 eth0

192.168.42.0 0.0.0.0 255.255.255.0 u 100 0 0 eth0

(4)主機名與ip查詢的dns錯誤

dns位址能通,但是不能訪問網域名稱,大多是dns配置問題,檢查/etc/resove.conf以及/etc/hosts檔案。

(5)公網問題

使用traceroute跟蹤路由

(6)伺服器問題

上述均沒有問題,卻某台機器登入不不上,最大的可能是主機的配置問題。

a.主機沒有開發開該服務

b.主機的許可權設定錯誤

c.安全機制配置錯誤

例如selinux是用來更細微的控制主機訪問的一種核心機制,selinux會阻擋服務的提供。此外,/etc/hosts.deny、pam模組等,都可能造成使用者無法登入的問題。

d.防火牆設定問題

可使用tcpdump來跟蹤資料報,以便順利的了解防火牆是否設定錯誤。

關於Linux網路排錯

無法連線網路的原因無非是硬體問題或者軟體問題。網線 網線被截斷 網線過渡扭曲變形造成訊號不良 網路接頭與裝置接觸不良。網絡卡,hub及router等網路裝置的問題,常見 的問題如下 網絡卡不穩定,質量不佳,或者與整體系統的相容性不好 各網路裝置的接頭質量不佳,接觸不良,造成訊號衰減 由於網路裝置所處...

linux下網路排錯與檢視

基本的故障排除錯誤 故障的排除一定是先簡單後複雜的,有的人把上述的檔案反覆配置,就是上不了網,一直都認為是系統出了故障,想重裝機子。結果發現原來是網線壓根就沒插上。排錯要慢慢的按部就班的來 1 首先看網線是否插好,燈亮就是ok的。2 我們要看自己的網絡卡驅動是否正常,建立乙個ip然後ping它,看是...

linux網路管理 Linux網路配置

1.1 linux配置ip位址 1 ifconfig命令臨時配置ip位址 能不能自動獲取ip位址和dns位址,要看有沒有dhcp伺服器 win10上,輸入ipconfig all 會看到是否有dhcp伺服器 ifconfig命令 對此命令更加詳細的解說 傳送門 2 setup工具永久配置ip位址 r...