Laboratorium 1: praca przy połączeniach lokalnych

Spis treści

1 Cel ćwiczenia

Celem ćwiczenia jest sprawdzenie czy da się pracować w sieci lokalnej korzystając z adresów „Link-local” otrzymywanych automatycznie w sieci 169.254.0.0/16 (lub korzystając z adresów lokalnych w sieci IPv6).

2 Podstawy „teoretyczne”

Komputery w sali 604/B1 skonfigurowane są tak, aby automatycznie otrzymywać adres IP z serwera DHCP, który znajduje się pod adresem 192.168.6.94.

Teoria mówi tyle, że w przypadku, gdy serwer nie może/nie chce1 komputer automatycznie przydziela sobie adres z sieci 169.254.0.0/16 (sprawdzając tylko czy wybrany adres nie jest już zajęty). Działa to raczej tylko w Windows/Mac OS. Skonfigurowanie linuksa by zachowywał się podobnie jest problematyczne.

Gdy serwer DHCP powróci (stanie się znowu dostępny) komputer powinien się przekonfigurowć do pracy normalnej.

Można również poprosić, aby oprogramowanie obsługujące kartę skonfigurowało ją w tym trybie. To można osiągnąć pod linuksem dosyć łatwo.

3 Konfiguracja sieci

Komputery w sieci podłączone są w trzech grupach (przez switche) do sieci budynku B1. Trzeba z gniazdka w ścianie wyjąć kabel sieciowy i zrestartować komputer. Powinno to zasymulować sytuację, w której komputery nie będą miały kontaktu z serwerem DHCP.

4 Zadania do wykonania

4.1 Część pierwsza

Windows:

  1. Pracujemy w grupach (wyznaczonych pfrzez wspólne switche).
  2. Ustalamy aktualny adres IP komputera.
  3. W sposób skoordynowany2 odłączamy switch od sieci (trzeba wyjąć kabel z gniazdka w ścianie).
  4. Restartujemy komputery.
  5. Sprawdzamy jaki jest adres interfejsu sieciowego (polecenie ipconfig, tablicę routingu (netstat -rn).
  6. Sprawdzamy (poleceniem ping) czy jest kontakt z innymi komputerami (potrzebna współpraca i wzajemne udostępnianie adresów IP).
  7. Podłączamy switche do sieci i sprawdzamy po jakim czasie (i czy) wróciły „normalne” adresy sieciowe i czy jest łączność z resztą Internetu.

4.2 Część druga

Wykonanie części drugiej jest nieco ryzykowne (nie dla studentów tylko dla administratora — może okazać się, że studenci na następnych zajęciach nie będą mieli dostępu do sieci). Ale zaryzykujemy.

Linux:

  1. Należy zrekonfigurować parametry połączenia sieciowego. W tym celu należy kliknąć prawym klawiszem myszy na ikonę połączenia sieciowego (PIC) i wybrać ostatnią pozycję z menu: Modyfikuj połączenia.
  2. Z listy wybieramy Połączenie przewodowe 1 i naciskamy klawsz Modyfikuj.
  3. Wybieramy zakładkę (patrz rys. 1) Ustawienia IP v4 i zastępujemy Metodę Automatycznie (DHCP) na tylko Link-local

    PIC
Rysunek 1: Widok formularza modyfikacji połączenia

 

  • Zatwierdzamy (naciskając klawisz Zapisz.
  • To, niekoniecznie oznacza, że już uległy zmiany ustawienia. Klikamy ponownie w ikonkę PIC i z menu wybieramy Połączenie przewodowe 1 co powinno spowodować restart oprogramowania sieciowego. Dla pewności sprawdzamy adres IP (Informacje o połączeniu).
  • Sprawdzamy tablicę routingu.
  • Sprawdzamy możliwości komunikacji między komputerami używając polecenia ping. (Uwaga: trzeba dogadać się najbliższymi kolegami/koleżankami jaki jest adres IP ich komputera).
  • Gdy komputer odpowiada próbujemy zalogować się na sąsiednim (na dobrą sprawę na każdym inny, dowolnym) komputerze używając polecenia slogin:
    slogin user@169.254.xxx.yyy

    gdzie xxxyyy to numer węzła sąsiedniego komputera, a user nazwa użytkownika3 (własny numer legitymacji). Hasło — podobnie jak podczas logowania na komputerze lokalnym. (Adres IP musimy dostać od operatora tego komputera.)

  • Na koniec restartujemy komputery. Automagicznie powinny wrócić pierwotne ustawienia. Jeżeli nie — administrator ma kłopot.

 

4.3 Część trzecia

Pomysł jest taki, żeby sprawdzć czy adresy IPv6, które mają automatycznie przydzielone interfejsy sieciowe nadają się do komunikacji między komputerami.

  1. Odpytujemy kolegę o adres IPv6 jego komputera (polecenie ifconfig albo ip a; to drugie jest bardziej zwięzłe).
  2. Sprawdzamy jak się nazywa nasz interfejs sieciowy (również ifconfig albo ip -a, ale na naszym komputerze)
    2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000  
        link/ether 10:02:b5:a8:c3:d9 brd ff:ff:ff:ff:ff:ff  
        inet 192.168.1.174/24 brd 192.168.1.255 scope global dynamic wlp1s0  
           valid_lft 2769sec preferred_lft 2769sec  
        inet6 fe80::e565:6231:d639:2fba/64 scope link  
           valid_lft forever preferred_lft forever

    Linia oznaczona numerkiem 2 — zawiera nazwę interfejsu (wlp1s0); linia zawierająca inet6 zawiera adres IP v6 tego interfejsu
    (fe80::e565:6231:d639:2fba)4: pierwsze 64 bity (fe80::) to adres sieci5; ostatnie 64 bity (e565:6231:d639:2fba) to adres węzła.

  3. Polecenie ping ma nieco bardziej skomplikowany wygląd. Najpierw pingujemy lokalny interfejs:
    ping6 -I wlp1s0 fe80::e565:6231:d639:2fba  
    PING fe80::e565:6231:d639:2fba(fe80::e565:6231:d639:2fba) from fe80::e565:6231:d639:2fba%wlp1s0 wlp1s0: 56 data bytes  
    64 bytes from fe80::e565:6231:d639:2fba%wlp1s0: icmp_seq=1 ttl=64 time=0.042 ms  
    64 bytes from fe80::e565:6231:d639:2fba%wlp1s0: icmp_seq=2 ttl=64 time=0.123 ms  
    64 bytes from fe80::e565:6231:d639:2fba%wlp1s0: icmp_seq=3 ttl=64 time=0.062 ms  
    64 bytes from fe80::e565:6231:d639:2fba%wlp1s0: icmp_seq=4 ttl=64 time=0.127 ms  
    ^C

    A teraz zdalny

    ping6 fe80::b189:dfa:1fa5:3ec2%wlp1s0  
    PING fe80::b189:dfa:1fa5:3ec2%wlp1s0(fe80::b189:dfa:1fa5:3ec2%wlp1s0) 56 data bytes  
    64 bytes from fe80::b189:dfa:1fa5:3ec2%wlp1s0: icmp_seq=1 ttl=64 time=148 ms  
    64 bytes from fe80::b189:dfa:1fa5:3ec2%wlp1s0: icmp_seq=2 ttl=64 time=273 ms  
    64 bytes from fe80::b189:dfa:1fa5:3ec2%wlp1s0: icmp_seq=3 ttl=64 time=83.3 ms  
    64 bytes from fe80::b189:dfa:1fa5:3ec2%wlp1s0: icmp_seq=4 ttl=64 time=218 ms  
    64 bytes from fe80::b189:dfa:1fa5:3ec2%wlp1s0: icmp_seq=5 ttl=64 time=242 ms  
    ^C  
    — fe80::b189:dfa:1fa5:3ec2%wlp1s0 ping statistics —  
    5 packets transmitted, 5 received, 0% packet loss, time 4003ms  
    rtt min/avg/max/mdev = 83.307/193.328/273.878/68.746 ms
    1. Zwracam uwagę na nazwę programu ping: teraz jest to ping6 (ale może też być ping -6)
    2. Zwracam uwagę, że teraz trzeba podawać nazwę interfejsu (parametr -I wlp1s0) albo dodawać nazwę interfejsu po docelowym adresie IP, oddzielając ją od adresu znakiem %: fe80::b189:dfa:1fa5:3ec2%wlp1s0
    3. Niestety, nie wszystkie programy pozwalają na użycie wśród parametrów nazy interfejsu. Wówczas pozostaje tylko ta druga metoda.
  4. Można próbować użyć polecenia ssh/slogin do sąsiedniego komputera:
    slogin fe80::b189:dfa:1fa5:3ec2%wlp1s0

     

5 Instrukcja w postaci jednego pliku…

…jest również dostępna.

1„Nie może” zazwyczaj oznacza, że nie ma wolnych adresów, „nie chce” najczęściej oznacza, że się zepsuł i nie pracuje.

2Żeby nie skrzywdzić kogoś, kto akurat musi korzystać z Internetu!

3Nazwę użytkownika można pominąć.

4To dodatkowe „łamane przez 64” oznacza oczywiście maskę sieciową

5Dwa kolejne dwukropki oznaczają ciąg zer.