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 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.
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 pfrzez wspólne switche).
- Ustalamy aktualny adres IP komputera.
- W sposób skoordynowany2 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ło3 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).
Widok formularza modyfikacji połączenia Widok formularza modyfikacji połączenia - 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:
1slogin user@169.254.xxx.yyy
gdziexxx
iyyy
to numer węzła sąsiedniego komputera, auser
nazwa użytkownika4 (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.
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)
1234562: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether e8:39:35:43:42:3e brd ff:ff:ff:ff:ff:ffinet 192.168.6.87/26 brd 192.168.6.127 scope global dynamic eno1valid_lft 33116sec preferred_lft 33116secinet6 fe80::65f6:c3b8:a9c9:1451/64 scope linkvalid_lft forever preferred_lft forever
Linia oznaczona numerkiem 2 — zawiera nazwę interfejsu (eno1); linia zawierająca inet6 zawiera adres IP v6 tego interfejsu
(fe80::e565:6231:d639:2fba)5: pierwsze 64 bity (fe80::) to adres sieci6; 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,eno1
:
1234567ping6 -I eno1 fe80::e565:6231:d639:2fbaPING fe80::e565:6231:d639:2fba(fe80::e565:6231:d639:2fba) from fe80::e565:6231:d639:2fba%eno1 eno1: 56 data bytes64 bytes from fe80::e565:6231:d639:2fba%eno1: icmp_seq=1 ttl=64 time=0.042 ms64 bytes from fe80::e565:6231:d639:2fba%eno1: icmp_seq=2 ttl=64 time=0.123 ms64 bytes from fe80::e565:6231:d639:2fba%eno1: icmp_seq=3 ttl=64 time=0.062 ms64 bytes from fe80::e565:6231:d639:2fba%eno1: 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, eno1, ale trzeba sprawdzić używając polecenie ip addr; pod windowsem — są szanse, że zadziała bez dodawania numeru interfejsu).
1234567891011ping6 fe80::b189:dfa:1fa5:3ec2%eno1PING fe80::b189:dfa:1fa5:3ec2%eno1(fe80::b189:dfa:1fa5:3ec2%eno1) 56 data bytes64 bytes from fe80::b189:dfa:1fa5:3ec2%eno1: icmp_seq=1 ttl=64 time=148 ms64 bytes from fe80::b189:dfa:1fa5:3ec2%eno1: icmp_seq=2 ttl=64 time=273 ms64 bytes from fe80::b189:dfa:1fa5:3ec2%eno1: icmp_seq=3 ttl=64 time=83.3 ms64 bytes from fe80::b189:dfa:1fa5:3ec2%eno1: icmp_seq=4 ttl=64 time=218 ms64 bytes from fe80::b189:dfa:1fa5:3ec2%eno1: icmp_seq=5 ttl=64 time=242 ms^C--- fe80::b189:dfa:1fa5:3ec2%eno1 ping statistics ---5 packets transmitted, 5 received, 0% packet loss, time 4003msrtt 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 eno1) albo dodawać nazwę interfejsu po docelowym adresie IP, oddzielając ją od adresu znakiem %: fe80::b189:dfa:1fa5:3ec2%eno1
- 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:
1slogin fe80::b189:dfa:1fa5:3ec2%eno1
Instrukcja w postaci jednego pliku…
…jest również dostępna.
- „Nie może” zazwyczaj oznacza, że nie ma wolnych adresów, „nie chce” najczęściej oznacza, że się zepsuł i nie pracuje.↩
- Żeby nie skrzywdzić kogoś, kto akurat musi korzystać z Internetu!↩
- Tak. Nie przesłyszeliście się.↩
- Nazwę użytkownika można pominąć wraz ze znakiem ,,@”.↩
- To dodatkowe „łamane przez 64” oznacza oczywiście maskę sieciową↩
- Dwa kolejne dwukropki oznaczają ciąg zer.↩