집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 네트워크 오류를 해결하는 방법
회사 홈페이지가 열리지 않는 경우, 네트워크 문제로 인해 어떻게 해결해야 하나요? 또 다른 예로, 원격 연결 도구로 서버에 연결할 수 없거나 mysql 데이터베이스에 연결할 수 없는 경우 네트워크 문제 때문일 수 있습니다. 일상 업무나 공부 중에 우리는 종종 다양한 네트워크 문제에 직면합니다(컴퓨터 네트워크가 너무 복잡하기 때문에). 이제 Linux 서버에 네트워크 문제가 있는 경우 문제를 해결하는 방법을 살펴보겠습니다.
ping
먼저 ping 명령을 살펴보겠습니다. 이 명령은 두 호스트 간에 정상적인 통신이 가능한지 테스트하는 데 사용되는 도구입니다. 핑의 대상은 IP 주소이거나 도메인 이름일 수 있습니다. 이 명령은 Linux 및 Windows의 cmd 모드에서 사용할 수 있습니다. 사용방법은 동일합니다.
# 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 ……
아래는 LAN에서 어떤 IP가 통신할 수 있는지 확인하는 데 사용되는 쉘 스크립트입니다.
#!/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
이 명령은 두 호스트 사이의 각 노드의 네트워크 상태를 확인하는 데 사용됩니다. 웹 사이트 접속 시 속도가 느린 경우 이 명령어를 사용하면 모든 노드의 네트워크 상태를 확인할 수 있습니다.
# 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
이 명령은 도메인 이름을 통해 IP 주소를 역으로 확인할 수 있으며 사용이 매우 간단합니다.
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
. 웹 사이트에 접속할 수 없는 경우 가장 먼저 해야 할 일은 서버의 IP 주소에 대해 ping을 수행하는 것입니다. 정상적으로 ping이 가능하다면 웹 사이트 도메인 이름에 대해 ping을 수행하여 DNS가 정상적으로 확인되는지 확인해야 합니다. 문제가 없고 여전히 웹사이트에 접근할 수 없다면 포트 80이 외부에 열려 있는지 확인해야 합니다. netstat 명령은 호스트 포트 수신 상태를 확인하는 데 사용됩니다.
# 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
이 명령을 사용하면 서버의 지정된 포트가 자체적으로 열려 있는지 테스트할 수 있습니다.
# 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... <=== 一直是这样的状态则
위의 첫 번째 경우라면 8.210.110.139의 22번 포트가 열려 있다는 뜻입니다. 두 번째 유형이고 계속 시도하는 경우 해당 포트가 자체적으로 열려 있지 않다는 의미입니다.
위 내용은 Linux에서 네트워크 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!