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).
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 chce[1] 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.
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.
Zadania do wykonania
Część pierwsza
Windows:
Pracujemy w grupach (wyznaczonych przez wspólne switche).
Ustalamy aktualny adres IP komputera.
W sposób skoordynowany[2] odłączamy switch od sieci (trzeba wyjąć kabel z gniazdka w ścianie).
Restartujemy komputery.
Sprawdzamy jaki jest adres interfejsu sieciowego (polecenie ipconfig/ip, tablicę routingu (netstat -rn lub ip route).
Sprawdzamy (poleceniem ping) czy jest kontakt z innymi komputerami (potrzebna współpraca i wzajemne udostępnianie adresów IP).
Uwaga: Firewall systemu Windows skutecznie blokuje pakietry ping. Trzeba go na czas testów wyłączyć.
Pracę programu ping można przerwać naciskając równocześnie dwa klawisze: „Ctrl” i „C”. Program się zatrzyma i wyswietli podsumowanie.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.
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). Dodatkowo, trzeba administartora poprosić o jego hasło[3] Ale zaryzykujemy.
Linux:
Należy zrekonfigurować parametry połączenia sieciowego. W tym celu należy kliknąć prawym klawiszem myszy na ikonę połączenia sieciowego ( ) i wybrać z menu: Modyfikuj połączenia pozycje ,,Połączono z siecią Prze…”
Z listy wybieramy Ustawienia sieci przewodowej i klikamy w koło zębate.
Otwiera się okno z podstawowymi informacjami o połączeniu.
Wybieramy zakładkę (patrz rys. 2) IPv4 i zastępujemy Metodę Automatycznie (DHCP) na Tylko Link-local (trzeba kliknąć w kropeczkę koło tego napisu).
Zatwierdzamy (naciskając klawisz Zapisz. Będzie potrzebne hasło ,,administratora”. Zostanie przekazane podczas zajęć.
To, niekoniecznie oznacza, że już uległy zmiany ustawienia. Klikamy ponownie w ikonkę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
xxx
iyyy
to numer węzła sąsiedniego komputera, auser
nazwa użytkownika[4] (własny numer legitymacji poprzedzony literką a). 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.
Część trzecia
Pomysł jest taki, żeby sprawdzć czy adresy IPv6, które mają automatycznie przydzielone interfejsy sieciowe nadają się do komunikacji między komputerami.
Odpytujemy kolegę o adres IPv6 jego komputera (polecenie ifconfig albo ip a; to drugie jest bardziej zwięzłe).
Sprawdzamy jak się nazywa nasz interfejs sieciowy (również ifconfig albo ip -a, ale na naszym komputerze)
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether e8:39:35:43:42:3e brd ff:ff:ff:ff:ff:ff inet 192.168.6.87/26 brd 192.168.6.127 scope global dynamic enp0s31f6 valid_lft 33116sec preferred_lft 33116sec inet6 fe80::65f6:c3b8:a9c9:1451/64 scope link valid_lft forever preferred_lft forever
Linia oznaczona numerkiem 2 — zawiera nazwę interfejsu (enp0s31f6); linia zawierająca inet6 zawiera adres IP v6 tego interfejsu
(fe80::e565:6231:d639:2fba)[5]: pierwsze 64 bity (fe80::) to adres sieci[6]; ostatnie 64 bity (e565:6231:d639:2fba) to adres węzła.Polecenie ping ma nieco bardziej skomplikowany wygląd. Najpierw pingujemy lokalny interfejs (po
-I
podajemy nazwę interfejsu sieciowego; w laboratorium będzie to, najprawdopodobniej,enp0s31f6
:ping6 -I enp0s31f6 fe80::e565:6231:d639:2fba PING fe80::e565:6231:d639:2fba(fe80::e565:6231:d639:2fba) from fe80::e565:6231:d639:2fba%enp0s31f6 enp0s31f6: 56 data bytes 64 bytes from fe80::e565:6231:d639:2fba%enp0s31f6: icmp_seq=1 ttl=64 time=0.042 ms 64 bytes from fe80::e565:6231:d639:2fba%enp0s31f6: icmp_seq=2 ttl=64 time=0.123 ms 64 bytes from fe80::e565:6231:d639:2fba%enp0s31f6: icmp_seq=3 ttl=64 time=0.062 ms 64 bytes from fe80::e565:6231:d639:2fba%enp0s31f6: icmp_seq=4 ttl=64 time=0.127 ms ^C
A teraz zdalny (i znowu, po znaku % trzeba podać nazwę interfejsu (pod linuksem będzie to, najprawdopodobniej, enp0s31f6, ale trzeba sprawdzić używając polecenie ip addr; pod windowsem — są szanse, że zadziała bez dodawania numeru interfejsu).
ping6 fe80::b189:dfa:1fa5:3ec2%enp0s31f6 PING fe80::b189:dfa:1fa5:3ec2%enp0s31f6(fe80::b189:dfa:1fa5:3ec2%enp0s31f6) 56 data bytes 64 bytes from fe80::b189:dfa:1fa5:3ec2%enp0s31f6: icmp_seq=1 ttl=64 time=148 ms 64 bytes from fe80::b189:dfa:1fa5:3ec2%enp0s31f6: icmp_seq=2 ttl=64 time=273 ms 64 bytes from fe80::b189:dfa:1fa5:3ec2%enp0s31f6: icmp_seq=3 ttl=64 time=83.3 ms 64 bytes from fe80::b189:dfa:1fa5:3ec2%enp0s31f6: icmp_seq=4 ttl=64 time=218 ms 64 bytes from fe80::b189:dfa:1fa5:3ec2%enp0s31f6: icmp_seq=5 ttl=64 time=242 ms ^C --- fe80::b189:dfa:1fa5:3ec2%enp0s31f6 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
Zwracam uwagę na nazwę programu ping: teraz jest to ping6 (ale może też być ping -6)
Zwracam uwagę, że teraz trzeba podawać nazwę interfejsu (parametr -I enp0s31f6) albo dodawać nazwę interfejsu po docelowym adresie IP, oddzielając ją od adresu znakiem %: fe80::b189:dfa:1fa5:3ec2%enp0s31f6
Niestety, nie wszystkie programy pozwalają na użycie wśród parametrów nazy interfejsu. Wówczas pozostaje tylko ta druga metoda.
Można próbować użyć polecenia ssh/slogin do sąsiedniego komputera:
slogin fe80::b189:dfa:1fa5:3ec2%enp0s31f6