리눅스 네트워크 진단 명령어 – ping, traceroute, nslookup
리눅스에서는 네트워크 문제를 해결하기 위한 기본 명령어 도구들이 내장되어 있습니다. 이번 글에서는 네트워크 연결 확인, 경로 추적, DNS 질의, 시스템 이름 확인까지 필수적인 명령어들을 예제와 함께 정리해 드립니다.
1. 네트워크 연결 확인
1.1 ping – 연결 상태 테스트
-
설명: ICMP 패킷을 전송해 네트워크 연결 상태와 응답 시간을 확인합니다.
-
형식:
ping [옵션] 호스트명/IP
주요 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
-c |
전송할 패킷 수 지정 | ping -c 5 8.8.8.8 |
-i |
전송 간격 설정 (초) | ping -i 2 google.com |
-s |
패킷 크기 지정 (바이트) | ping -s 32 192.168.1.1 |
예시: ping -c 5 -s 32 192.168.1.1
→ 32바이트 패킷을 5회 전송하여 응답 확인
2. 네트워크 경로 추적
2.1 traceroute – 목적지까지 경로 추적
-
설명: 패킷이 목적지까지 가는 경로에 어떤 라우터를 거치는지 확인합니다.
-
형식:
traceroute [옵션] 호스트명/IP -
예시:
traceroute google.com
설치 방법 (CentOS/RHEL):
yum -y install traceroute
3. DNS 질의 도구
3.1 nslookup – 도메인/IP 질의
-
설명: DNS 서버에 질의하여 도메인명을 IP로, 또는 IP를 도메인명으로 확인합니다.
-
형식:
nslookup [옵션] 도메인명/IP
주요 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
-type=A |
호스트 IP 조회 | nslookup -type=A naver.com |
-type=NS |
네임서버 조회 | nslookup -type=NS google.com |
설치 (CentOS 등):
yum install bind-utils
3.2 dig – 고급 DNS 질의 도구
-
설명:
nslookup보다 더 정밀한 질의 결과 제공. 다양한 레코드 확인 가능. -
형식:
dig 도메인명 레코드타입
예시
dig example.com A # A 레코드(IP 주소) 조회
dig example.com MX # 메일 서버 조회
dig +short google.com # IP만 간단히 출력
3.3 host – 간단한 DNS 조회
-
설명: IP ↔ 도메인 변환을 간단하게 처리할 수 있는 명령어
-
형식:
host [옵션] 호스트명/IP
예시
host google.com # google.com → IP 확인
host 8.8.8.8 # IP → 호스트명 역조회
4. 시스템 이름 확인 및 설정
4.1 hostname
-
설명: 현재 시스템의 호스트명을 출력하거나 변경
-
형식:
hostname
예시
hostname # 시스템 이름 출력
sudo hostnamectl set-hostname newname # 시스템 이름 설정
hostnamectl은 CentOS 7+, Ubuntu 16.04+ 등 systemd 기반 시스템에서 사용
실전 예제 모음
# 1. 특정 서버로의 연결 상태 확인
ping -c 4 8.8.8.8
# 2. 네트워크 경로 추적
traceroute naver.com
# 3. DNS 정보 확인
nslookup -type=A github.com
dig google.com NS
host 1.1.1.1
# 4. 현재 시스템 이름 확인
hostname
질문 정리
ping이 응답하지 않을 때 무조건 네트워크 장애인가요?
아닙니다. 일부 서버는 ICMP 응답을 차단해도 서비스는 정상일 수 있습니다. 대신 curl, telnet, nc 등으로 포트 단위 확인을 해보세요.
traceroute와 ping은 무엇이 다른가요?
ping: 응답 시간과 연결 여부만 확인traceroute: 중간 경유지 라우터까지 추적
dig와 nslookup 중 어느 것을 사용해야 하나요?
dig: 정확하고 다양한 형식 지원, 스크립트에 적합nslookup: 간편하고 직관적, 초보자에게 적합
IP → 도메인 이름을 확인하려면?
host 8.8.8.8
nslookup 8.8.8.8
시스템 호스트명을 영구적으로 바꾸려면?
sudo hostnamectl set-hostname myserver
정리
ping,traceroute는 네트워크 연결 및 경로 확인nslookup,dig,host는 DNS 질의 도구hostname은 시스템 이름을 조회·변경
댓글남기기