Narzędzia diagnostyczne w sieciach komputerowych

  1. Diagnostyka i konfiguracja IP - routingu

    • Podstawowe operacje na trasacah. Przykład:
      ip route
      ip r
      ip r show
      ip r add
      ip r change
      ip r replace
      
      ip r a [TYP] PREFIX [tos TOS] [table NAZWATABLICY] [proto PROTOKOL] [scope ZASIEG] [metric NUMER] [dev NAME] [via ADDRESS] [mtu MTU] 
      
      Parametry:
      PREFIX - adres sieci A.B.C.D/E
      TOS -  pole TOS
      TYP - unicast, local, broadcast, multicast, throw, unreachable, prohibit, blackhole, nat
      NAZWATABLICY - local, main, default, all, ...
      PROTOKOL - kernel, boot, static, NUMER
      ZASIEG - host, link, local,  NUMER
      metric - liczba 
      NAME - nazwa urzadzenia
      ADDRESS - adres 
      MTU - wielkosc 
      
    • Przykklady wywolania:
      ip route add 10.0.0.0/24 via 193.233.7.65
      ip r chg 10.0.0.0/24 via 193.233.7.65 dev dummy
      ip r d 10.0.0.0/24 dev dummy
      ip route add nat 192.1203.80.142 via 193.233.7.83
      
      root@asl244:/etc# ip route add 10.5.5.0/24 via 192.168.1.131
      root@asl244:/etc# ip r
      192.168.229.0/24 dev eth0  proto kernel  scope link  src 192.168.229.128
      192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.129
      10.5.5.0/24 via 192.168.1.131 dev eth0
      default via 192.168.229.2 dev eth0
      root@asl244:/etc# ip route add 10.5.6.0/24 via 192.168.1.131  dev eth0
      root@asl244:/etc#
      root@asl244:/etc# ip r d 10.5.5.0/24
      root@asl244:/etc# ip r s
      192.168.229.0/24 dev eth0  proto kernel  scope link  src 192.168.229.128
      192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.129
      10.5.6.0/24 via 192.168.1.131 dev eth0
      default via 192.168.229.2 dev eth0
      root@asl244:/etc#
      root@asl244:/etc# ip r chg 10.5.6.0/24 dev eth0 proto static
      root@asl244:/etc# ip r s
      192.168.229.0/24 dev eth0  proto kernel  scope link  src 192.168.229.128
      192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.129
      10.5.6.0/24 dev eth0  proto static  scope link
      default via 192.168.229.2 dev eth0
      root@asl244:/etc#
      
  2. Tunelowanie

    • Tunelowanie polega na połączeniu dwóch oddalnych od siebie hostów (komputerów) poprzez sieć działającą w jednym protokole, niezależną od protokołu w jakim te hosty się ze sobą komunikują.
      Jeden protokół służy do komunikacji z hostem zdalnym, a drugi do opakowania danych w celu przesłania ich przez tunel.
    • Tunelowanie IPIP.

      Tunel IPIP jest najprostszym tunelem, ale również o najmniejszym narzucie komunikacyjnym. W ten sposób możemy enkapsulować tylko ruch IPv4 w trybie unicast. Zatem niemożliwe będzie przekazywanie pakietów innego rodzaju np. multicast, albo ospf. Na dwóch końcówkach jest możliwe postawienie tylko jednego tunelu IPIP.

      Przykład stawiania tunelu między maszynami - asl244 (192.168.1.129) oraz asl-client1 (192.168.1.131).
      Konfiguracja asl244:
      root@asl244:~# ip tu ad ipiptun mode ipip local 192.168.1.129 remote 192.168.1.131 ttl 64 dev eth0
      root@asl244:~# ip a a dev ipiptun 10.0.0.1 peer 10.0.0.2/32
      
      root@asl244:~# ip l s dev ipiptun up
      root@asl244:~# ip r a 10.1.1.0/24 via 10.0.0.2
      root@asl244:~# ip r a 10.1.2.0/24 via 10.0.0.2
      root@asl244:~#
      
      Mozemy sprawdzić ustawienia:
      root@asl244:~# ip a s dev ipiptun                                               
      8: ipiptun:  mtu 1480 qdisc noqueue state UNKNOWN
         link/ipip 192.168.1.129 peer 192.168.1.131
         inet 10.0.0.1 peer 10.0.0.2/32 scope global ipiptun
      root@asl244:~#
      root@asl244:~# ip r s
      10.0.0.2 dev ipiptun  proto kernel  scope link  src 10.0.0.1
      192.168.229.0/24 dev eth0  proto kernel  scope link  src 192.168.229.128
      192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.129
      10.1.1.0/24 via 10.0.0.2 dev ipiptun
      10.1.2.0/24 via 10.0.0.2 dev ipiptun
      default via 192.168.229.2 dev eth0
      root@asl244:~#
      
      Konfiguracja asl244-client:
      root@asl244-client1:~# ip tu ad ipiptun mode ipip local 192.168.1.131 remote 192.168.1.129 ttl 64 dev eth0
      root@asl244-client1:~# ip a a dev ipiptun 10.0.0.2 peer 10.0.0.1/32
      root@asl244-client1:~# ip l s dev ipiptun up
      root@asl244-client1:~# ip a a 10.1.1.1/24 dev eth0
      root@asl244-client1:~# ip a a 10.1.2.1/24 dev eth0
      root@asl244-client1:~#
      
      Testowanie działania:
      root@asl244:/etc# ping 10.1.1.1
      PING 10.1.1.1 (10.1.1.1) 56(84) bytes of data.
      64 bytes from 10.1.1.1: icmp_req=1 ttl=64 time=0.490 ms
      64 bytes from 10.1.1.1: icmp_req=2 ttl=64 time=0.474 ms
      ^C
      --- 10.1.1.1 ping statistics ---
      2 packets transmitted, 2 received, 0% packet loss, time 999ms
      rtt min/avg/max/mdev = 0.474/0.482/0.490/0.008 ms
      root@asl244:/etc#
      
    • Tunel GRE.

      Tunel GRE może przesyłać zarówno ruch IPv4 jak i IPv6 w trybie unicast lub multicast. Nadaje się on do łączenia sieci z dynamicznym rutingiem.

      Konfiguracja asl244:
      root@asl244:~# ip t a gretun mode gre local 192.168.1.129 remote 192.168.1.131 ttl 64 dev eth0
      root@asl244:~# ip a a dev gretun 10.0.0.3 peer 10.0.0.4/32
      root@asl244:~# ip l s dev gretun up
      root@asl244:~# ip r a 10.1.3.0/24 via 10.0.0.4
      root@asl244:~# ip r a 10.1.4.0/24 via 10.0.0.4
      root@asl244:~#                                                                  
      
      Konfiguracja asl244-client1:
      root@asl244-client1:~# ip t a gretun mode gre local 192.168.1.131 remote 192.168.1.129 ttl 64 dev eth0
      root@asl244-client1:~# ip a a dev gretun 10.0.0.4 peer 10.0.0.3/32
      root@asl244-client1:~# ip l s dev gretun up
      root@asl244-client1:~# ip a a 10.1.3.1/24 dev eth0
      root@asl244-client1:~# ip a a 10.1.4.1/24 dev eth0
      root@asl244-client1:~#
      
      Testowanie działania możemy przeprowadzić jak poprzednio.
    • Tunel SIT.

      Tunel SIT (Simple Internet Transition) służy do łączenia sieci IPv6 zlokalizowanych w sieci opartej o IPv4. Tunel działa podobnie jak IPIP.

      Konfiguracja asl244:
      root@asl244:/etc# ip t a sittun mode sit local 192.168.1.129 remote 192.168.1.131 ttl 64 dev eth0
      root@asl244:/etc# ip a a dev sittun 2001:0DB8:1111::000e/127
      root@asl244:/etc# ip l s dev sittun up
      root@asl244:/etc# ip -6 r a 2001:0DB8:2222::/48 via 2001:0DB8:1111::000f
      root@asl244:/etc# ip -6 r a 2001:0DB8:2223::/48 via 2001:0DB8:1111::000f
      root@asl244:/etc# ip -6 r a 2001:0DB8:2224::/48 via 2001:0DB8:1111::000f
      root@asl244:/etc#
      
      Konfiguracja asl244-client1:
      root@asl244-client1:~# ip t a sittun mode sit local 192.168.1.131 remote 192.168.1.129 ttl 64 dev eth0
      root@asl244-client1:~# ip a a dev sittun 2001:0DB8:1111::000f/127
      root@asl244-client1:~# ip l s dev sittun up
      root@asl244-client1:~# ip -6 a a 2001:0DB8:2222::0001/48 dev eth0
      root@asl244-client1:~# ip -6 a a 2001:0DB8:2223::0001/48 dev eth0
      root@asl244-client1:~# ip -6 a a 2001:0DB8:2224::0001/48 dev eth0
      root@asl244-client1:~#
      
      Test działania tunelu:
      root@asl244:/etc# ping6 2001:0db8:2222::0001
      PING 2001:0db8:2222::0001(2001:db8:2222::1) 56 data bytes
      64 bytes from 2001:db8:2222::1: icmp_seq=1 ttl=64 time=1.59 ms
      64 bytes from 2001:db8:2222::1: icmp_seq=2 ttl=64 time=0.550 ms
      64 bytes from 2001:db8:2222::1: icmp_seq=3 ttl=64 time=0.609 ms
      ^C
      --- 2001:0db8:2222::0001 ping statistics ---
      3 packets transmitted, 3 received, 0% packet loss, time 2003ms
      rtt min/avg/max/mdev = 0.550/0.918/1.595/0.479 ms
      root@asl244:/etc#
      root@asl244:/etc# telnet -6 2001:0db8:2222::0001 80
      Trying 2001:db8:2222::1...
      Connected to 2001:0db8:2222::0001.
      Escape character is '^]'.
      GET
      

      It works!

      This is the default web page for this server.

      The web server software is running but no content has been added, yet.

      Connection closed by foreign host. root@asl244:/etc#