1 분 소요

네트워크 문제는 서버 운영 중 가장 자주 발생하는 이슈 중 하나입니다. 리눅스는 네트워크 문제를 진단하고 해결하기 위한 다양한 도구들을 제공합니다.

기본적인 네트워크 진단 도구

ping: 기본적인 연결성 테스트

# 기본 ping 테스트
ping google.com

# 특정 횟수만큼 ping 테스트
ping -c 4 8.8.8.8

네트워크 진단

네트워크 문제 진단 과정

netstat: 네트워크 연결 상태 확인

# 모든 연결 표시
netstat -an

# TCP 연결만 표시
netstat -t

# 리스닝 포트 확인
netstat -tlnp

traceroute: 패킷 경로 추적

# 목적지까지의 경로 추적
traceroute google.com

# TCP 기반 traceroute
tcptraceroute 8.8.8.8 443

고급 네트워크 진단 도구

ss: 소켓 통계

# 모든 TCP 소켓 표시
ss -ta

# 리스닝 포트만 표시
ss -tln

# 프로세스 정보 포함
ss -tlnp

tcpdump: 패킷 캡처 및 분석

# 특정 인터페이스의 트래픽 캡처
tcpdump -i eth0

# HTTP 트래픽만 캡처
tcpdump -i eth0 port 80

# 특정 호스트와의 트래픽 캡처
tcpdump host 192.168.1.100

일반적인 네트워크 문제와 해결 방법

1. DNS 문제

# DNS 확인
dig google.com

# DNS 서버 테스트
nslookup google.com

# resolv.conf 확인
cat /etc/resolv.conf

2. 포트 연결성 문제

# 포트 스캔
nmap -p 80,443 server.example.com

# TCP 연결 테스트
nc -zv server.example.com 80

# 방화벽 규칙 확인
iptables -L

3. 네트워크 인터페이스 문제

# 인터페이스 상태 확인
ip link show

# IP 주소 확인
ip addr show

# 라우팅 테이블 확인
ip route show

성능 관련 문제 해결

네트워크 대역폭 테스트

# iperf3 서버 시작
iperf3 -s

# iperf3 클라이언트 테스트
iperf3 -c server.example.com

네트워크 부하 모니터링

# 실시간 네트워크 모니터링
iftop -i eth0

# 프로세스별 네트워크 사용량
nethogs eth0

문제 해결 체크리스트

  1. 기본 연결성 확인
    • ping 테스트
    • DNS 확인
    • 라우팅 테이블 확인
  2. 포트/서비스 확인
    • netstat/ss로 포트 상태 확인
    • 방화벽 규칙 확인
    • 서비스 상태 확인
  3. 성능 이슈 확인
    • 대역폭 테스트
    • 패킷 손실 확인
    • 지연시간 측정

네트워크 문제 해결의 핵심은 체계적인 접근 방식입니다. 위의 도구들을 활용하여 단계적으로 문제를 진단하고, 원인을 파악하여 해결하는 것이 중요합니다.

댓글남기기