Како да користите Traceroute и MTR за да дијагностицирате проблеми со мрежата
Вовед
Важен дел од администрирањето на серверите е следењето на мрежното поврзување.
Постојат неколку алатки кои се едноставни за употреба, но вредни да се знаат. Во ова упатство, ќе разговараме за тоа како да се користи алатка наречена traceroute
за да се дијагностицира каде може да се случи мрежен проблем.
Ќе разгледаме и алатка наречена mtr
која комбинира голем дел од функционалноста на ping и traceroute во еден интерфејс.
Како да се користи Traceroute
traceroute
е едноставна алатка за прикажување на патеката до оддалечен сервер. Ова може да биде што било од веб-локација што се обидувате да ја посетите, до печатач на вашата локална мрежа.
Програмата traceroute
е стандардно инсталирана на речиси секоја дистрибуција на Linux, така што не треба да ја инсталирате.
За да го наречеме, едноставно треба да обезбедиме веб-страница или IP адреса што би сакале да ја истражиме:
- traceroute google.com
Ќе добиете излез сличен на следново:
Outputtraceroute to google.com (173.194.38.137), 30 hops max, 60 byte packets
1 192.241.160.253 (192.241.160.253) 0.564 ms 0.539 ms 0.525 ms
2 192.241.164.241 (192.241.164.241) 0.487 ms 0.435 ms 0.461 ms
3 xe-3-0-6.ar2.nyc3.us.nlayer.net (69.31.95.133) 1.801 ms 1.802 ms 1.762 ms
4 144.223.28.73 (144.223.28.73) 0.583 ms 0.562 ms 0.550 ms
5 144.232.1.21 (144.232.1.21) 1.044 ms 1.048 ms 1.036 ms
6 74.125.49.212 (74.125.49.212) 0.494 ms 0.688 ms 0.643 ms
7 209.85.248.180 (209.85.248.180) 0.650 ms 209.85.248.178 (209.85.248.178) 0.621 ms 0.625 ms
8 72.14.236.208 (72.14.236.208) 0.618 ms 72.14.236.206 (72.14.236.206) 0.898 ms 72.14.236.208 (72.14.236.208) 0.872 ms
9 72.14.239.93 (72.14.239.93) 7.478 ms 7.989 ms 7.466 ms
10 72.14.232.73 (72.14.232.73) 20.002 ms 19.969 ms 19.975 ms
11 209.85.248.228 (209.85.248.228) 30.490 ms 72.14.238.106 (72.14.238.106) 34.463 ms 209.85.248.228 (209.85.248.228) 30.707 ms
12 216.239.46.54 (216.239.46.54) 42.502 ms 42.507 ms 42.487 ms
13 216.239.46.159 (216.239.46.159) 76.578 ms 74.585 ms 74.617 ms
14 209.85.250.126 (209.85.250.126) 80.625 ms 80.584 ms 78.514 ms
15 72.14.238.131 (72.14.238.131) 80.287 ms 80.560 ms 78.842 ms
16 209.85.250.228 (209.85.250.228) 171.997 ms 173.668 ms 170.068 ms
17 66.249.94.93 (66.249.94.93) 238.133 ms 235.851 ms 235.479 ms
18 72.14.233.79 (72.14.233.79) 233.639 ms 239.147 ms 233.707 ms
19 sin04s01-in-f9.1e100.net (173.194.38.137) 236.241 ms 235.608 ms 236.843 ms
Првата линија ни ги кажува условите под кои работи traceroute:
Outputtraceroute to google.com (173.194.38.137), 30 hops max, 60 byte packets
Го дава наведениот хост, IP адресата што ја враќа DNS за тој домен, максималниот број на скокови што треба да се проверат и големината на пакетот што ќе се користи.
Максималниот број на скокови може да се прилагоди со знамето -m
. Ако домаќинот до кој се обидувате да насочите е оддалечен преку 30 скокови, можеби ќе треба да наведете поголема вредност овде. Максималната вредност што можете да ја поставите е 255.
- traceroute -m 255 obiwan.scrye.net
Можете да ја прилагодите големината на пакетот што се испраќа до секој скок со давање на цел број по името на домаќинот:
- traceroute google.com 70
Ќе го видите излезот вака:
Outputtraceroute to google.com (173.194.38.128), 30 hops max, 70 byte packets
1 192.241.160.254 (192.241.160.254) 0.364 ms 0.330 ms 0.319 ms
2 192.241.164.237 (192.241.164.237) 0.284 ms 0.343 ms 0.321 ms
По првата линија, секоја следна линија претставува \hop\ или среден хост низ кој мора да помине вашиот сообраќај за да стигне до компјутерот претставен од домаќинот што го наведовте.
Секоја линија го има следниот формат:
Outputhop_number host_name (IP_address) packet_round_trip_times
Еве пример на хоп што може да го видите:
Output3 nyk-b6-link.telia.net (62.115.35.101) 0.311 ms 0.302 ms 0.293 ms
Еве што значи секое поле:
- hop_number: Секвенцијално броење на бројот на степени на одвојување што домаќинот е од вашиот компјутер. Сообраќајот од домаќините со поголем број треба да помине низ повеќе компјутери за да се насочи.
- име_домаќин: ова поле го содржи резултатот од обратно пребарување на DNS на IP адресата на домаќинот, доколку е достапна. Ако не се вратат информации од обратното барање DNS, се дава самата IP адреса.
- IP_адреса: ова поле ја содржи IP адресата за овој мрежен скок.
- packet_round_trip_times: Остатокот од линијата ги дава времињата за повратно патување за пакет до домаќинот и повторно назад. Стандардно, три пакети се испраќаат до секој домаќин и секој обид се додава на крајот од линијата.
Ако сакате да го промените бројот на пакети што се тестираат со секој домаќин, можете да наведете број со опцијата -q
, вака:
- traceroute -q1 google.com
Ако сакате да се откажете од обратното пребарување на DNS за да ја забрзате трагата, можете да го пренесете знамето -n
:
- traceroute -n google.com
Ќе добиете излез вака:
Outputtraceroute to google.com (74.125.235.7), 30 hops max, 60 byte packets
1 192.241.160.253 0.626 ms 0.598 ms 0.588 ms
2 192.241.164.241 2.821 ms 2.743 ms 2.819 ms
3 69.31.95.133 1.470 ms 1.473 ms 1.525 ms
Ако вашиот тракерут се раствори во некои ѕвездички (*), има проблем со маршрутата до домаќинот.
Output...
15 209.85.248.220 (209.85.248.220) 121.809 ms 72.14.239.12 (72.14.239.12) 76.941 ms 209.85.248.220 (209.85.248.220) 78.946 ms
16 72.14.239.247 (72.14.239.247) 101.001 ms 92.478 ms 92.448 ms
17 * * 209.85.250.124 (209.85.250.124) 175.083 ms
18 * * *
19 * * *
Што значи проблем со рутата?
Ако вашиот обид за тракерут запре на одреден скок или јазол и не може да најде пат до домаќинот, имате проблем.
Иако скокот каде што маршрутата не се враќа може да биде локацијата на проблемот со мрежата, не е секогаш така лесно да се дијагностицира.
Поради фактот што секој пинг претставува пакет за повратен пат, и ситуацијата кога пакетите често користат различни патеки во која било насока, тоа може да укаже на проблем на сосема поинаква, можеби поблиска рута.
Исто така, може да се случи проблемот да е со скокот директно по последниот скок што го гледате. Тешко е да се дијагностицира точната локација на проблемот, освен ако не можете да добиете повратен тракерут од тој специфичен скок. Ова обично не е можно надвор од вашата сопствена мрежа.
Како да се користи MTR
Динамична алтернатива на програмата traceroute е mtr
. Комбинирајќи ја функционалноста на ping и traceroute, mtr ви овозможува постојано да анкетирате оддалечен сервер и да видите како латентноста и перформансите се менуваат со текот на времето.
За разлика од traceroute, mtr не е стандардно инсталиран на повеќето системи. Можете да го добиете со внесување на следните команди.
Ubuntu/Debian:
- sudo apt-get install mtr
CentOS/Fedora:
- yum install mtr
Арх:
- pacman -S mtr
Откако ќе се инсталира, можете да го повикате со пишување:
- mtr google.com
Ќе добиете излез вака:
Output My traceroute [v0.80]
traceroute (0.0.0.0) Tue Oct 22 20:39:42 2013
Resolver: Received error response 2. (server failure)er of fields q
uit Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.241.160.253 0.0% 371 0.4 0.6 0.1 14.3 1.0
2. 192.241.164.241 0.0% 371 7.4 2.5 0.1 37.5 4.8
3. xe-3-0-6.ar2.nyc3.us. 2.7% 371 3.6 2.6 1.1 5.5 1.1
4. sl-gw50-nyc-.sprintli 0.0% 371 0.7 5.0 0.1 82.3 13.1
Иако излезот може да изгледа слично, големата предност во однос на traceroute е тоа што излезот постојано се ажурира. Ова ви овозможува да акумулирате трендови и просеци, а исто така ви овозможува да видите како перформансите на мрежата варираат со текот на времето.
Ако сте истрчале тракерут, постои можност пакетите што биле испратени до секој скок да го направат патувањето без инциденти, дури и во ситуација кога рутата страда од периодично губење на пакети. Услужната алатка mtr ви овозможува да ја следите оваа ситуација со собирање податоци во поширок временски опсег.
Исто така, можно е да се изврши mtr со опцијата --report
, која ги враќа резултатите од испраќањето 10 пакети на секој скок.
- mtr --report google.com
Извештајот изгледа вака:
OutputHOST: traceroute Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.241.160.254 0.0% 10 1.5 0.9 0.4 1.5 0.4
2.|-- 192.241.164.237 0.0% 10 0.6 0.9 0.4 2.7 0.7
3.|-- nyk-b6-link.telia.net 0.0% 10 0.5 0.5 0.2 0.7 0.2
4.|-- nyk-bb2-link.telia.net 0.0% 10 67.5 18.5 0.8 87.3 31.8
Ова може да биде корисно кога не мора да сакате да мерите во реално време, но сакате поголем опсег на податоци отколку што обезбедува traceroute.
Заклучок
Со traceroute
и mtr
, можете да разберете кои сервери на вашиот пат до одреден домен или адреса предизвикуваат проблеми. Ова може да биде корисно при решавање проблеми на внатрешна мрежа, а исто така и кога се обидувате да обезбедите информации за поддршка на членовите или интернет провајдерите кога имате проблеми со мрежата.