modified on 5 maj 2011 at 07:50 ••• 8 051 views

Narzędzia do rozwiązywania problemów

Z MikroTik Wiki

Spis treści

Narzędzia do rozwiązywania problemów

Zanim zaczniemy, zajmiemy się najbardziej znaczącymi poleceniami kontroli połączeń i rozwiązywaniem problemów, tutaj jest małe przypomnienie, jak sprawdzić parametry komputera-hosta interfejsu sieciowego.

Microsoft Windows posiada cały zestaw przydatnych narzędzi linii poleceń, który umożliwia testowanie i konfigurowanie sieci interfejsów LAN/WAN. Przyjrzymy się tylko na powszechnie używanym narzędzom i poleceniom w sieci Windows.

Wszystkie narzędzia są obsługiwane w terminalu Windows. Idź do Start/Uruchom' i wpisz "cmd"', aby otworzyć okno wiersza poleceń.

Niektóre z poleceń w systemie Windows to:

ipconfig – służy dom wyświetlania konfiguracji TCP/IP. Możesz uruchomić to narzędzie wpisując w wierszu poleceń "ipconfig".

C:\>ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
   Connection-specific DNS Suffix  . : mshome.net
   Link-local IPv6 Address . . . . . : fe80::58ad:cd3f:f3df:bf18%8
   IPv4 Address. . . . . . . . . . . : 173.16.16.243
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 173.16.16.1

Istnieje również szereg dodatkowych funkcji ipconfig. Aby uzyskać listę dodatkowych opcji, wpisz "ipconfig /?" lub “ipconfig -?”.


'netstat' - wyświetla aktywne połączenia protokołu TCP oraz porty, na których komputer nasłuchuje, statystykę sieci Ethernet, tabeli routingu IP, statystyki IP, ICMP, TCP i UDP. Przedstawienie szeregu opcji wyświetlania różnych właściwości sieci i połączeń TCP uzyskujemy poprzez komendę “netstat –?”.

'nslookup' - jest administracyjnym narzędziem wiersza poleceń do testowania i rozwiązywania problemów związanych z serwerwerami DNS. Na przykład, jeśli chcesz wiedzieć, jaki adres IP jest "www.google.com", wpisz "nslookup www.google.com " i okaże się, że ma następujące adres: 74.125.77.99, 74.125.77.104, 74.125.77.147.

'netsh' - jest administracyjnym narzędziem wiersza poleceń do konfigurowania i monitorowania hosta z systemem Windows. Pozwala skonfigurować interfejsy, protokoły routingu, routing, filtry routingu oraz wyświetla aktualnie uruchomioną konfigurację.

Bardzo podobne polecenia są dostępne również na maszynach uniksowych. Dzisiaj w większości dystrybucji Linuksa ustawienia sieci mogą być zarządzane za pomocą interfejsu GUI, ale zawsze dobrze jest zapoznać się z narzędzi wiersza polecenia. Oto lista podstawowych poleceń i narzędzi sieciowych w systemie Linux:


'ifconfig' - polecenie jest podobne do ipconfig w systemie Windows. Pozwala włączyć/wyłączyć karty sieciowe, przypisać adres IP i maske ​​sieci, jak również pokazać obecną konfigurację interfejsu sieciowego.

'iwconfig' - narzędzie jest podobne do ifconfig i ethtool, tyle że dla kart bezprzewodowych. Również pozwala przejrzeć i ustawić podstawową konfigurację dla połączeń Wi-Fi.

'nslookup' - podobnie jak w Windows podając nazwę hosta polecenie zwróci adres IP.

'netstat' - wyświetla połączenia sieciowe, w tym porty, tablice routingu, statystyki interfejsu, maskartadę. Więcej informacji można wyświetlić poprzez netstat – r lub netstat - a.

'ip' - pokazuje jak i pozwala konfigurować routing, urządzenia, politykę routingu i tunele na maszynach z systemem Linux.

Na przykład, sprawdzenie IP interfejsu używając polecenia ip:

$ip addr show

Możesz dodać routing statyczny poleceniem:

ip route add {NETWORK address} via {next hop address} dev {DEVICE}, for example:

$ip route add 192.168.55.0/24 via 192.168.1.254 dev eth1


Wymienione narzędzia są tylko niewielką część narzędzi sieciowych, które są dostępne w systemie Linux. Pamiętaj, jeśli chcesz pełnych informacji na temat narzędzi i poleceń użyj polecenia 'man'. Na przykład, jeśli chcesz poznać wszystkie opcje zapisu polecenia ifconfig to w terminalu wpisz man ifconfig .

Sprawdzanie połączenia sieciowego

Używanie polecenia ping

Ping jest jednym z najczęściej używanych i znanych poleceń. To administracyjne narzędzie służy do testowania czy dany host jest osiągalny przez Internet Protocol (IP) i zmierzy czas błądzenia pakietów wysłanych z interfejsu sieciowego lokalnego komputera do hosta docelowego.

Ping korzysta z Internet Control Message Protocol (ICMP) wysyłając echo żądania i odpowiedzi. Ping wysyła pakiety ICMP echo żądania do hosta i czeka na odpowiedź ICMP. Ping wyświetla czas minimalny, średni i maksymalny potrzebny pakietowi do znalezienia określonego systemu i powrotu.

Z komputera

Windows:

C:\>ping 10.255.255.4
 Pinging 10.255.255.4 with 32 bytes of data:
Reply from 10.255.255.4: bytes=32 time=1ms TTL=61
Reply from 10.255.255.4: bytes=32 time<1ms TTL=61
Reply from 10.255.255.4: bytes=32 time<1ms TTL=61
Reply from 10.255.255.4: bytes=32 time<1ms TTL=61
Ping statistics for 10.255.255.4:
    Packets: Sent = 4, Received = 4, Lost = 0 (0%
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms


Linux:

andris@andris-desktop:/$ ping 10.255.255.6
PING 10.255.255.6 (10.255.255.6) 56(84) bytes of data.
64 bytes from 10.255.255.6: icmp_seq=1 ttl=61 time=1.23 ms
64 bytes from 10.255.255.6: icmp_seq=2 ttl=61 time=0.904 ms
64 bytes from 10.255.255.6: icmp_seq=3 ttl=61 time=0.780 ms
64 bytes from 10.255.255.6: icmp_seq=4 ttl=61 time=0.879 ms
^C
--- 10.255.255.6 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.780/0.948/1.232/0.174 ms

W celu przerwania wyświetlania użyj kombinacji kalwiszy Ctrl-C (^c).

MikroTik:

[admin@MikroTik] > ping 10.255.255.4
10.255.255.4 64 byte ping: ttl=62 time=2 ms
10.255.255.4 64 byte ping: ttl=62 time=8 ms
10.255.255.4 64 byte ping: ttl=62 time=1 ms
10.255.255.4 64 byte ping: ttl=62 time=10 ms
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1/5.2/10 ms

W celu przerwania wyświetlania użyj kombinacji kalwiszy Ctrl-C (^c).

Używanie polecenia traceroute

traceroute wyświetla listę routerów przez które pakiet podróżuje aby dostać się do zdalnego komputera. traceroute lub tracepath jest dostępne na prawie wszystkich uniksowych systemach operacyjnych a tracert na systemach operacyjnych Microsoft Windows.

Żądania traceroute oparte są na wartości TTL i wiadomości ICMP "time exceeded". Pamiętaj, że wartość TTL w nagłówku IP jest używany w celu uniknięcia pętli routingu. Każdy hop (punkt na trasie pakietu) zmniejsza wartość TTL o 1. Jeśli TTL osiągnie zero, pakiet jest odrzucany a ICMP "time exceeded" (wiadomość ICMP "przekroczono czas") jest wysyłana z powrotem do nadawcy.

Początkowo traceroute ustawia TTL o wartości 1, gdy następny router znajduje pakiet z TTL = 1 ustawia wartość TTL na zero jak i przesyła wiadomość ICMP "time exceeded" do źródła. Ten komunikat informuje źródło, że pakiet przechodzi przez router na danej trasie. Następnym razem wartość TTL jest zwiększana o 1 i tak dalej. Zazwyczaj każdy router w drodze do miejsca przeznaczenia zmniejsza wartość pola TTL o jeden aż osiągnie zero.

Za pomocą tej komendy można zobaczyć, jak pakiety poruszają się po sieci i gdzie nie mogą przejść lub zwalniają. Korzystając z tych informacji można określić, komputer, router, switch lub inne urządzenie sieciowe, które może być przyczyną problemów z siecią lub awarii.

Z komputera:

Windows:

C:\>tracert 10.255.255.2
Tracing route to 10.255.255.2 over a maximum of 30 hops
  1    <1 ms    <1 ms    <1 ms  10.13.13.1
  2     1 ms     1 ms     1 ms  10.255.255.2
Trace complete.


Linux:

Traceroute i tracepath są podobne, ale tylko tracepath do działania nie potrzebuje praw super użytkownika.

andris@andris-desktop:~$ tracepath 10.255.255.6
 1:  andris-desktop.local (192.168.10.4)                  0.123ms pmtu 1500
 1:  192.168.10.1 (192.168.10.1)                          0.542ms 
 1:  192.168.10.1 (192.168.10.1)                          0.557ms 
 2:  192.168.1.2 (192.168.1.2)                            1.213ms 
 3:  no reply
 4:  10.255.255.6 (10.255.255.6)                          2.301ms reached
     Resume: pmtu 1500 hops 4 back 61


MikroTik:

[admin@MikroTik] > tool traceroute 10.255.255.1
     ADDRESS                                    STATUS
   1       10.0.1.17 2ms 1ms 1ms 
   2    10.255.255.1 5ms 1ms 1ms
[admin@MikroTik] >

Pliki dzienników

System monitorowania zdarzeń obiektu pozwala na debugowanie różnych problemów za pomocą dzienników (popularnie: logów). Plik dziennika jest to plik tekstowy utworzony w serwerze/routerze/hoście i służy do zapisywania na nim różnego rodzaju aktywności w urządzeniu. Ten plik jest podstawowym źródłem analizy danych. RouterOS może rejestrować różne wydarzenia i informacje o stanie systemu. Logi mogą być zapisywane w pamięci routerów (RAM), na dysku twardym, na karcie pamięci, przesyłane pocztą elektroniczną, a nawet wysyłane do zdalnego serwera syslog.

Wszystkie wiadomości przechowywane w lokalnej pamięci routery mogą być drukowane z / log </ code> menu. Każdy wpis zawiera datę i godzinę zdarzenia, temat oraz szczegóły zdarzenia.

[admin@MikroTik] /log> print
15:22:52 system,info device changed by admin 
16:16:29 system,info,account user admin logged out from 10.13.13.14 via winbox 
16:16:29 system,info,account user admin logged out from 10.13.13.14 via telnet 
16:17:16 system,info filter rule added by admin 
16:17:34 system,info mangle rule added by admin 
16:17:52 system,info simple queue removed by admin 
16:18:15 system,info OSPFv2 network added by admin

Więcej informacji o logowaniu zdarzeń w RouterOS otrzymasz tutaj>>

Torch (/tool torch)

torch jest narzędziem do monitorowania ruchu w czasie rzeczywistym na wskazanych interfejsach.

Można monitorować ruch klasyfikowany według nazwy protokołu, adresu źródłowego, adresu docelowego, portu. torch pokazuje protokół jaki został wybrany oraz Wysłane/Odebrane (eng. Tx/Rx) szybkość transmisji danych dla każdego z nich.

Przykład:

Poniższy przykład przedstawia monitorowanie ruchu generowanego przez protokół telnet, który przechodzi przez interfejs ether1.

 [admin@MikroTik] tool> torch ether1 port=telnet
 SRC-PORT                     DST-PORT                     TX         RX
 1439                         23 (telnet)                  1.7kbps    368bps

 [admin@MikroTik] tool>


Aby sprawdzić, jakie protokoły są przesyłane przez interfejs ether1:

 [admin@MikroTik] tool> torch ether1 protocol=any-ip
 PRO.. TX         RX
 tcp   1.06kbps   608bps
 udp   896bps     3.7kbps
 icmp  480bps     480bps
 ospf  0bps       192bps

 [admin@MikroTik] tool>


Aby zobaczyć, jakie protokoły powiązane są z hostem podłączony do interfejsu 10.0.0.144/32 ether1:

 [admin@MikroTik] tool> torch ether1 src-address=10.0.0.144/32 protocol=any

  PRO.. SRC-ADDRESS     TX         RX
  tcp   10.0.0.144      1.01kbps   608bps
  icmp  10.0.0.144      480bps     480bps
 [admin@MikroTik] tool>


IPv6

Począwszy od torch v5RC6 jest w stanie wykazać ruch IPv6. Dwa nowe parametry są wprowadzone: src-address6 i dst-address6. Przykład:

admin@RB1100test] > /tool torch interface=bypass-bridge src-address6=::/0 ip-protocol=any sr
c-address=0.0.0.0/0
MAC-PROTOCOL    IP-PROT... SRC-ADDRESS                                 TX         RX        
ipv6            tcp        2001:111:2222:2::1                          60.1kbps   1005.4kbps
ip              tcp        10.5.101.38                                 18.0kbps   3.5kbps   
ip              vrrp       10.5.101.34                                 0bps       288bps    
ip              udp        10.5.101.1                                  0bps       304bps    
ip              tcp        10.0.0.176                                  0bps       416bps    
ip              ospf       224.0.0.5                                   544bps     0bps      
                                                                       78.7kbps   1010.0kbps


Winbox

Bardziej atrakcyjny interfejs torch jest dostępny w postaci GUI jako Winbox (Tool>Torch).

Image:image11001.gif

Sniffer pakietów (/tool sniffer)

Sniffer pakietów to narzędzie, które potrafi zbierać i analizować pakiety wysyłane i odbierane przez wskazany interfejs. Sniffer pakietów używa biblioteki libpcap.

Konfiguracja Sniffera pakietów

Dla poniższego przykładu streaming-server będzie podany, strumieniowanie będzie włączone, nazwa pliku (file-name) będzie jako 'test' i sniffer pakietów będzie się włączał i wyłączał o wskazanych porach:

 [admin@MikroTik] tool sniffer> set streaming-server=192.168.0.240 \
 \... streaming-enabled=yes file-name=test
 [admin@MikroTik] tool sniffer> print
             interface: all
          only-headers: no
          memory-limit: 10
             file-name: "test"
            file-limit: 10
     streaming-enabled: yes
      streaming-server: 192.168.0.240
         filter-stream: yes
       filter-protocol: ip-only
       filter-address1: 0.0.0.0/0:0-65535
       filter-address2: 0.0.0.0/0:0-65535
               running: no
 [admin@MikroTik] tool sniffer> start
 [admin@MikroTik] tool sniffer> stop

Tutaj możesz określić różne parametry sniffer pakietów, takich jak maksymalna wielkość zajętej pamięci, limit wielkości pliku w KBs.

Uruchamianie narzędzia Sniffera pakietów

Istnieją trzy komendy, które są używane do kontroli uruchomienia działania sniffer pakietów:

/ start szperacza, / szperacza stop, / szperacza zapisać.

Polecenie start jest używany do uruchamiania / reset wąchania, stop - zatrzymuje wąchania. Aby zapisać aktualnie nosem pakietów w określonym pliku zapisać polecenie jest używane.

/tool sniffer start, /tool sniffer stop, /tool sniffer save.

Argument start jest używany do uruchomienia/resetowania sniffera pakietów. Argument stop zatrzymuje sniffera pakietów. Zachowanie pobranych pakietów następuje po urzyciu argumentu save.

W poniższym przykładnie sniffer pakietów uruchomi się a po pewnym czasie zatrzyma:

 [admin@MikroTik] tool sniffer> start
 [admin@MikroTik] tool sniffer> stop

Poniżej, zebrane pakiety zostaną zapisane do pliku o nazwie test:

 [admin@MikroTik] tool sniffer> save file-name=test

Przeglądanie zebranych pakietów

Istnieje możliwość przeglądania zebranych pakietów a do tego służy kilka submenu.

  • /tool sniffer packet – show lista zebranych pakietów
  • /tool sniffer protocol – show lista protokołów, które zostały zebrane
  • /tool sniffer host – lista hostów, które uczestniczyły w wymianie pakietów


Przykład:

 [admin@MikroTik] tool sniffer packet> print

  # TIME    INTERFACE   SRC-ADDRESS
  0 1.697    ether1    0.0.0.0:68 (bootpc)        
  1 1.82     ether1    10.0.1.17
  2 2.007    ether1    10.0.1.18
  3 2.616    ether1    0.0.0.0:68 (bootpc)
  4 2.616    ether1    10.0.1.18:45630
  5 5.99     ether1    10.0.1.18
  6 6.057    ether1    159.148.42.138
  7 7.067    ether1    10.0.1.5:1701 (l2tp)
  8 8.087    ether1    10.0.1.18:1701 (l2tp)
  9 9.977    ether1    10.0.1.18:1701 (l2tp)
 -- more


Poniższy zrzut ekranu p[okazuje graficzny interfejs (GUI) Winbox, którego interfejs jest bardziej przyjazny dla użytkownika.

Image:image11002.gif

Szczegółowe informację możesz uzyskać w manualu >>

Test przepustowości

Test przepustowości może być używany do pomiaru wydajności (jednostka: Mbps) do innego routera MikroTik (zarówno sieci przewodowej lub bezprzewodowej), a tym samym przyczynić się to do odkrycia "wąskie gardła" - punkt sieci najmniej wydajnej.

Test przepustowości używa dwóch protokołów:

  • TCP - wykorzystuje standardowe zasady działania TCP protokół z wszystkich głównych składników jak inicjowania połączenia, pakiety potwierdzeń, mechanizm okna przeciążenia (congestion window) i inne cechy algorytmu TCP. Proszę zapoznać się z protokołem TCP a szczególnie na jego wewnętrzne ustawienia prędkości i analizowania jego zachowania. Statystyki dla przepustowość oblicza się przy zastosowaniu całego wielkości strumienia danych TCP. Ponieważ wiadomości potwierdzenia po otrzymaniu pakietów są wewnętrznym mechanizmem protokołu TCP ich rozmiar i użycie przez nie łącza nie są brane pod uwagę przy obliczaniu statystyk przepustowości. Statystyki nie są tak wiarygodne, jak statystyki UDP przy szacowaniu wydajności.
  • UDP - wysyła 110% lub więcej pakietów niż obecnie przedstawione jako odebrane po drugiej stronie łącza. Aby zobaczyć maksymalną przepustowość łącza, rozmiar pakietu powinny być ustalane dla MTU maksymalny dozwolony przez łącze, które jest zwykle 1500 bajtów. W UDP nie ma potwierdzenia, co oznacza, że ​​realizacja najbliższych zbliżonych przepustowości może być widoczna jako wiarygodny wynik.

Pamiętaj, że test przepustowości wykorzystuje całe dostępne pasmo (domyślnie) i może mieć to wpływ na użyteczność sieci.

Jeśli chcesz sprawdzić rzeczywiste przepustowość routera, należy uruchomić test łącza przez router a nie z lub do niego. Aby to zrobić trzeba mieć co najmniej 3 routery połączone w łańcuchu:

serwer BW - router do testu - klient BW.

Plik:Icon-note.png

Przypis: Jeśli używasz protokołu UDP to test przepustowości zlicza IP nagłówek+UDP UDP dane. W przypadku, gdy używasz TCP to test przepustowości zlicza tylko dane TCP (TCP nagłówek i IP gdzie nagłówek się w nim nie zawiera).


Przykładowa konfiguracja:

Serwer

Włączenie serwera bandwidth-test z autoryzacją klienta:

[admin@MikroTik] /tool bandwidth-server> set enabled=yes authenticate=yes
[admin@MikroTik] /tool bandwidth-server> print 
                  enabled: yes
             authenticate: yes
  allocate-udp-ports-from: 2000
             max-sessions: 100

[admin@MikroTik] /tool bandwidth-server>


Klient

Uruchom test przepustowości dla UDP dla nazwy użytkownika hasła na sewrwerze testu przepustowości. W tym przypadku użytkownik ma nazwę `admin' bez hasła.

[admin@MikroTik] > tool bandwidth-test protocol=udp user=admin password="" direction=both \
address=10.0.1.5
                status: running
              duration: 22s
            tx-current: 97.0Mbps
  tx-10-second-average: 97.1Mbps
      tx-total-average: 75.2Mbps
            rx-current: 91.7Mbps
  rx-10-second-average: 91.8Mbps
      rx-total-average: 72.4Mbps
          lost-packets: 294
           random-data: no
             direction: both
               tx-size: 1500
               rx-size: 1500

-- [Q quit|D dump|C-z pause]      

Więcej informacji oraz opis komend otrzymasz w tym manualu>>

Profiler

Profiler to narzędzie, które pokazuje zużycie procesora dla każdego procesu uruchomionego na RouterOS. Pomaga zidentyfikować proces korzystające z większości zasobów procesora.

File:profiler.png

Czytaj więcej >>


[Powrót do menu strony]