Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So beheben Sie Netzwerkfehler unter Linux

So beheben Sie Netzwerkfehler unter Linux

齐天大圣
齐天大圣Original
2020-11-14 10:42:142764Durchsuche

Wenn die Unternehmenswebsite nicht geöffnet werden kann, wie können Sie das Problem beheben, wenn es an Netzwerkproblemen liegt? Wenn beispielsweise das Remote-Verbindungstool keine Verbindung zum Server herstellen kann oder die MySQL-Datenbank nicht verbunden werden kann, kann dies an Netzwerkproblemen liegen. Bei der täglichen Arbeit oder im Studium stoßen wir häufig auf verschiedene Netzwerkprobleme (weil Computernetzwerke zu komplex sind). Schauen wir uns nun an, wie Sie Fehler beheben können, wenn auf dem Linux-Server ein Netzwerkproblem vorliegt.

ping

Schauen wir uns zunächst den Ping-Befehl an. Dieser Befehl ist ein Tool, mit dem getestet werden kann, ob eine normale Kommunikation zwischen zwei Hosts stattfinden kann. Das Ping-Objekt kann entweder eine IP-Adresse oder ein Domänenname sein. Dieser Befehl kann im cmd-Modus von Linux und Windows verwendet werden. Die Verwendungsmethoden sind die gleichen.

# ping -c 4 8.210.247.5
PING 8.210.247.5 (8.210.247.5) 56(84) bytes of data.
64 bytes from 8.210.247.5: icmp_seq=1 ttl=64 time=1.54 ms
64 bytes from 8.210.247.5: icmp_seq=2 ttl=64 time=1.48 ms
64 bytes from 8.210.247.5: icmp_seq=3 ttl=64 time=1.46 ms
64 bytes from 8.210.247.5: icmp_seq=4 ttl=64 time=1.48 ms
--- 8.210.247.5 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 1.460/1.494/1.548/0.042 ms
 
# ping -c 1 baidu.com 
……

Nachfolgend finden Sie ein Shell-Skript, mit dem überprüft wird, welche IPs im LAN kommunizieren können.

#!/bin/bash
net='192.168.2.'
seqs=`seq 1 254`

for seq in $seqs
do
    ip=$net$seq
    /usr/bin/ping -c 1 -W 1 $ip >/dev/null 2>&1
    
    if [ "$?" == "0" ];then
        echo "$ip is UP"
    fi
done

traceroute

Mit diesem Befehl wird der Netzwerkstatus jedes Knotens zwischen zwei Hosts überprüft. Wenn die Geschwindigkeit beim Zugriff auf eine Website langsam ist, können Sie mit diesem Befehl den Netzwerkstatus aller Knoten anzeigen.

# traceroute -n google.com
traceroute to google.com (172.217.163.238), 30 hops max, 60 byte packets
 1  * * *
 2  11.109.220.61  1.444 ms  1.577 ms 11.109.216.189  1.500 ms
 3  11.109.220.190  5.512 ms * 11.109.220.174  5.382 ms
 4  11.131.180.222  1.660 ms 11.131.180.218  1.519 ms 11.131.180.250  1.365 ms
 ……

nslookup

Dieser Befehl kann die IP-Adresse anhand des Domänennamens umgekehrt überprüfen und ist sehr einfach zu verwenden.

nslookup 5iqm.com
Server:  100.100.2.136
Address: 100.100.2.136#53

Non-authoritative answer:
Name: 5iqm.com
Address: 121.196.12.64

netstat

. Wenn auf die Website nicht zugegriffen werden kann, sollten wir als Erstes die IP-Adresse des Servers anpingen. Wenn ein normaler Ping möglich ist, sollten wir den Domänennamen der Website anpingen, um zu sehen, ob die DNS normal aufgelöst wird. Wenn es keine Probleme gibt und die Website weiterhin nicht erreichbar ist, müssen Sie prüfen, ob Port 80 für die Außenwelt geöffnet ist. Der Befehl netstat wird verwendet, um den Überwachungsstatus des Host-Ports zu überprüfen.

# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      30721/nginx: master 
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1275/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1167/sshd           
tcp        0      0 0.0.0.0:888             0.0.0.0:*               LISTEN      30721/nginx: master 
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      2068/python

telnet

Mit diesem Befehl kann getestet werden, ob der angegebene Port des Servers für sich selbst offen ist.

# telnet 8.210.110.139 22
Trying 8.210.110.139...
Connected to 8.210.110.139.   
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4


# telnet 8.210.110.139 3306
Trying 8.210.110.139...  <=== 一直是这样的状态则

Wenn es sich um die erste Situation oben handelt, bedeutet das, dass Port 22 von 8.210.110.139 geöffnet ist. Wenn es sich um den zweiten Typ handelt und es immer wieder versucht, bedeutet das, dass dieser Port für sich selbst nicht geöffnet ist.

Das obige ist der detaillierte Inhalt vonSo beheben Sie Netzwerkfehler unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn