Ağ Paket Kaybı Teşhis ve Çözüm
Ağ paket kaybını teşhis etmek ve çözmek için ping, traceroute, mtr, tcpdump araçları, MTU sorunları ve ağ performans optimizasyonu rehberi.
İçindekiler
Giriş
Ağ paket kaybı, sunucu performansını ve kullanıcı deneyimini doğrudan etkileyen ciddi bir sorundur. Paket kaybı; web sitelerinin yavaş yüklenmesine, SSH bağlantılarının kopmasına, oyun sunucularında lag yaşanmasına ve VoIP kalitesinin düşmesine neden olabilir.
Bu rehberde, paket kaybını tespit etmek, kaynağını bulmak ve çözmek için kullanabileceğiniz araçları ve yöntemleri inceleyeceğiz.
Paket Kaybı Nedir?
Paket kaybı, ağ üzerinden gönderilen veri paketlerinin hedefe ulaşamaması durumudur. Normal koşullarda %0 paket kaybı beklenir. %1-2 arası fark edilebilir, %5 üzeri ciddi sorunlara yol açar.
| Paket Kaybı | Etki |
|---|---|
| %0 | Normal — sorun yok |
| %1-2 | Hafif — VoIP ve oyunlarda fark edilir |
| %3-5 | Orta — web sayfaları yavaşlar |
| %5-10 | Ciddi — bağlantı kopmaları başlar |
| %10+ | Kritik — hizmet kullanılamaz |
ping ile Paket Kaybı Tespiti
Temel Kullanım
# Basit ping testi
ping -c 100 HEDEF_IP
# Belirli paket boyutu ile test
ping -c 50 -s 1400 HEDEF_IP
# Hızlı ping (flood — root gerektirir)
sudo ping -f -c 1000 HEDEF_IP
# Zaman aşımı ayarlı ping
ping -c 100 -W 2 HEDEF_IP
Çıktı yorumlama:
100 packets transmitted, 97 received, 3% packet loss, time 99145ms
rtt min/avg/max/mdev = 1.234/5.678/45.123/8.901 ms
- 3% packet loss: 100 paketten 3'ü kaybolmuş
- rtt avg: Ortalama gecikme süresi
- mdev: Gecikme varyansı (jitter)
Bazı sunucular ICMP paketlerini engelleyebilir. ping yanıt vermemesi her zaman paket kaybı anlamına gelmez. TCP tabanlı testlerle doğrulayın.
Sürekli İzleme
# Sürekli ping ile log tutma
ping HEDEF_IP | while read line; do
echo "$(date '+%Y-%m-%d %H:%M:%S') $line"
done | tee ping_log.txt
# Belirli aralıklarla ping
watch -n 5 'ping -c 10 HEDEF_IP | tail -2'
traceroute ile Hop Analizi
traceroute, paketlerin hedefe ulaşana kadar geçtiği her ağ düğümünü (hop) gösterir:
# Temel traceroute
traceroute HEDEF_IP
# ICMP tabanlı (root gerektirir)
sudo traceroute -I HEDEF_IP
# TCP tabanlı (port 80)
sudo traceroute -T -p 80 HEDEF_IP
# UDP tabanlı (varsayılan)
traceroute -U HEDEF_IP
# Maksimum hop sayısı
traceroute -m 30 HEDEF_IP
Çıktı yorumlama:
1 gateway (192.168.1.1) 1.234 ms 1.456 ms 1.678 ms
2 isp-router (10.0.0.1) 5.123 ms 5.456 ms 5.789 ms
3 * * *
4 core-router (203.0.113.1) 15.123 ms 15.456 ms 15.789 ms
5 HEDEF_IP 20.123 ms 20.456 ms 20.789 ms
- * * *: Bu hop ICMP yanıt vermiyor (engelleniyor olabilir)
- Gecikme artışı olan hop'lar sorun kaynağı olabilir
mtr ile Sürekli İzleme
mtr, ping ve traceroute'u birleştiren güçlü bir araçtır:
# Kurulum
sudo apt install mtr -y
# İnteraktif mod
mtr HEDEF_IP
# Rapor modu (100 paket)
mtr -r -c 100 HEDEF_IP
# TCP modu
mtr -T -P 80 HEDEF_IP
# CSV çıktı
mtr -r -c 100 --csv HEDEF_IP
# Geniş çıktı (IP ve hostname)
mtr -r -c 100 -w HEDEF_IP
mtr çıktısını okuma:
HOST Loss% Snt Last Avg Best Wrst StDev
1. gateway 0.0% 100 1.2 1.3 0.8 5.4 0.6
2. isp-router 2.0% 100 5.4 6.1 4.2 25.3 3.2
3. core-router 0.0% 100 15.2 15.8 14.1 22.4 1.5
4. HEDEF_IP 0.0% 100 20.1 20.5 19.2 28.7 1.8
Önemli sütunlar:
- Loss%: Paket kaybı yüzdesi
- Avg: Ortalama gecikme
- StDev: Standart sapma (jitter göstergesi)
Paket kaybı sadece bir hop'ta görünüyor ve sonraki hop'larda devam etmiyorsa, o hop sadece ICMP rate limiting yapıyor olabilir. Gerçek sorun, kaybın son hop'a kadar devam ettiği durumlardır.
tcpdump ile Paket Yakalama
# Belirli bir arayüzde tüm trafiği yakala
sudo tcpdump -i eth0 -c 100
# Belirli bir IP'ye giden trafiği yakala
sudo tcpdump -i eth0 host HEDEF_IP -c 100
# Belirli port trafiği
sudo tcpdump -i eth0 port 80 -c 50
# Dosyaya kaydet (Wireshark ile analiz için)
sudo tcpdump -i eth0 -w capture.pcap -c 1000
# ICMP paketlerini yakala
sudo tcpdump -i eth0 icmp -c 50
# SYN paketlerini yakala (bağlantı sorunları için)
sudo tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0' -c 50
Ağ Arayüzü Hata Kontrolü
# Arayüz istatistikleri
ip -s link show eth0
# Detaylı hata sayaçları
ethtool -S eth0 | grep -i error
# Dropped paket sayısı
netstat -i
# Kernel ağ istatistikleri
cat /proc/net/dev
# NIC ring buffer boyutu
ethtool -g eth0
Önemli metrikler:
- RX errors: Alınan hatalı paketler
- TX errors: Gönderim hataları
- RX dropped: Düşürülen gelen paketler
- TX dropped: Düşürülen giden paketler
- overruns: Buffer taşması
MTU Sorunları
MTU (Maximum Transmission Unit) uyumsuzluğu paket kaybına neden olabilir:
# Mevcut MTU değerini kontrol etme
ip link show eth0 | grep mtu
# MTU path discovery testi
ping -c 5 -M do -s 1472 HEDEF_IP
# MTU değerini değiştirme (geçici)
sudo ip link set eth0 mtu 1400
# MTU değerini değiştirme (kalıcı — netplan)
# /etc/netplan/01-netcfg.yaml
network:
ethernets:
eth0:
mtu: 1400
Standart Ethernet MTU 1500 byte'tır. VPN veya tunnel kullanıyorsanız MTU'yu düşürmeniz gerekebilir (genellikle 1400-1420).
Bandwidth Testi
# iperf3 kurulumu
sudo apt install iperf3 -y
# Sunucu modunda başlatma
iperf3 -s
# İstemci olarak test (başka bir sunucudan)
iperf3 -c SUNUCU_IP -t 30
# UDP testi (paket kaybı ölçümü)
iperf3 -c SUNUCU_IP -u -b 100M -t 30
# Çift yönlü test
iperf3 -c SUNUCU_IP -d -t 30
Çözüm Adımları
1. Sorun Kaynağını Belirleme
# mtr ile hop bazlı analiz
mtr -r -c 200 HEDEF_IP
# Sorun yerel mi, ISP'de mi, hedefte mi?
# - İlk hop'larda kayıp → Yerel ağ sorunu
# - Orta hop'larda kayıp → ISP sorunu
# - Son hop'ta kayıp → Hedef sunucu sorunu
2. Yerel Ağ Sorunları
# Ağ arayüzünü yeniden başlatma
sudo ip link set eth0 down && sudo ip link set eth0 up
# DNS çözümleme kontrolü
dig google.com +short
# ARP tablosu kontrolü
arp -a
# Routing tablosu kontrolü
ip route show
3. NIC Driver Güncelleme
# Mevcut driver bilgisi
ethtool -i eth0
# Kernel modüllerini kontrol etme
lsmod | grep -i net
# Driver güncelleme
sudo apt update && sudo apt upgrade
Sonuç
Ağ paket kaybı, birçok farklı nedenden kaynaklanabilir. ping, traceroute, mtr ve tcpdump araçlarını kullanarak sorunun kaynağını belirleyebilir ve uygun çözümü uygulayabilirsiniz. Düzenli ağ izleme yaparak sorunları erken tespit etmek, kesintileri minimize etmenin en etkili yoludur.
İlgili Makaleler
SSH Bağlantı Sorunu: Sunucuya Bağlanamıyorum
SSH bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, SSH portu için filtre kuralı oluşturma ve sorun giderme adımları.
RDP Bağlantı Sorunu: Windows Sunucuya Erişilemiyor
RDP bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, RDP portu için filtre kuralı oluşturma ve sorun giderme adımları.
MTR Testi Nasıl Yapılır ve Destek Ekibine Gönderilir
WinMTR ve Linux MTR ile ağ testi yapma, ICMP filtre kuralı oluşturma ve sonuçları destek ekibine gönderme rehberi. Paket kaybı ve gecikme analizi.