Combineer ping met traceroute bij netwerkproblemen

Het Unix-programma MTR combineert ping en traceroute in één netwerkdiagnoseprogramma. Dat is vooral handig om in één oogopslag te zien waar de oorzaak ligt van netwerkproblemen.

Als je internet traag gaat of je netwerkverbindingen plots worden afgebroken, kun je met ping en traceroute controleren waar de kink in de kabel zit. Maar nog veel handiger is het programma MTR (Matt's traceroute, later omgedoopt tot My traceroute), dat beide programma's combineert: het toont in een tabel alle routers tussen jouw computer en je doel, met het bijbehorende aantal ontvangen en verzonden pakketjes en het percentage pakketverlies, evenals de beste, slechtste en gemiddelde round-trip time van de icmp-pakketjes en zelfs een standaarddeviatie die aanduidt hoeveel de round-trip times variëren. MTR komt in een ncurses-versie en een Gtk-versie: met de optie -t forceer je de ncurses-versie en met -g de Gtk-versie. Voor Windows-gebruikers is er WinMTR.

Packet loss
Voer je MTR uit met als parameter een server, dan kun je eenvoudig netwerkproblemen detecteren én ook identificeren welke routers voor de problemen verantwoordelijk zijn. Een hoge packet loss bij een router kan erop duiden dat de netwerkverbinding naar die router defect is, ofwel dat de router veel meer verkeer moet afhandelen dan hij aankan. Een packet loss van enkele procenten is niet zo problematisch, maar als een router een packet loss van tientallen procenten laat zien, is dit in veel gevallen een probleem. Toch is dat niet altijd het geval: veel internetproviders limiteren bijvoorbeeld het ICMP-verkeer en laten pakketjes vallen terwijl er dus eigenlijk geen packet loss is. Als één van de routers van je provider in de uitvoer van MTR een pakketverlies van 50% heeft, maar alle volgende routers geen pakketverlies hebben, zit je in deze situatie en dat is dus niet schadelijk. Je kunt altijd met de optie -i een ander interval in seconden opgeven, want standaard gebruikt MTR een interval van 1 seconde tussen elk ICMP-pakketje.

Rapportage
Als je dan je internetprovider of beheerder van een andere server met problemen contacteert, geef dan de uitvoer van MTR als aanduiding van de problemen. Met de optie -r wordt MTR in rapportagemodus uitgevoerd en met -c geef je het aantal pakketjes aan. Een voorbeeld:



mtr -r -c 20 google.com > mtr-`date '+%Y%m%d%H%M'`.log



Voer je dit nu in een cron-job een dag lang elk uur uit, dan heb je verschillende logbestanden waarin je kunt zien wanneer de problemen het ergste zijn.

De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.