From: xf0r3m Date: Thu, 5 Sep 2024 15:37:40 +0000 (+0200) Subject: Rozpoczęcie i zakończenie pisania 8 rozdziału, modułu 2, Cisco CCNA. X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=a6a46d6a41ae35880791c9c4630ba7fb4a9f2961;p=mmdev.git Rozpoczęcie i zakończenie pisania 8 rozdziału, modułu 2, Cisco CCNA. --- diff --git a/articles/terminallog/Cisco_-_CCNA.html b/articles/terminallog/Cisco_-_CCNA.html index f47612e..5e8951d 100755 --- a/articles/terminallog/Cisco_-_CCNA.html +++ b/articles/terminallog/Cisco_-_CCNA.html @@ -8101,6 +8101,413 @@ Vlan1 192.168.10.4 YES DHCP up up wykorzystać system Cisco IOS w roli serwera DHCP, przekaźnika oraz na koniec klienta.

+

2.8. SLAAC i DHCPv6

+

+ Podobnie do IPv4, mamy możliwość zarówno statycznej jak i dynamicznej + konfiguracji interfejsów sieciowych dla IPv6. Przy czym, znając budowę + adresów IPv6, nie wiadomo czy ktoś będzie to robić ręcznie. A w + przypadku konfiguracji dynamicznej mamy do wykorzystania trzy metody. +

+ +

+ Omówimy sobie pokolei te metody, a następnie zabierzemy się + do konfigurowania każdej z nich w systemie Cisco IOS. +

+

+ Za nim jednak do tego przjedziemy, krótkie przypomnienie o IPv6. Adres + IPv6 ma długość 128b, składa się z 8 hekstetów po 4 cyfyry + heksadecymalne. Adresy IPv6 dzielą się na dwie grupy + GUA (Global Unicast Address), rozpoczynające + się od prefiksu: 2000::/3 oraz LLA + (Local Link Address), rozpoczynające się od prefiksu + fe80::/10. W przypadku IPv6 do określenia części sieciowej adresu IP + wykorzystuje tzw. prefiks - zarezerwowana liczba + bitów. W przypadku adresów unicast przeważnie adres dzieli się + na pół - prefiks ma długość 64 bitów. Drugie pół adresu IPv6 określa + już sam host generując wartości pseudolosowe (w przypadku większości + systemów operacyjnych) lub korzystając z algorytmu EUI-64. Ta część + adresu nazwana jest identyfikatorem hostan + Adresy GUA służą do komunikacji + w Internecie, natomiast adresy LLA, ograniczają się do jednej domeny + rozgłoszeniowej. Każdy komputer posiada dwa adresy przypisane do + swojego interfejsu. Przez co każdy komputer może być w prosty sposób + osiągalny z poziomu Internetu. Każdy komputer ma również zapisane + adresy typu multicast - ff02::1 - adres wszystkich hostów + obsługujących IPv6 oraz ff02::2 - adres wszystkich routerów z + routingiem IPv6. Te adresy bedą mieć znaczenie przy dynamicznej + adresacji hostów. Dynamiczna adresacja hostów, będzie dotyczyć + wyłącznie adresów GUA. Adresy LLA, są konfigurowane automatycznie na + hostach. +

+

2.8.1. SLAAC

+

+ Protokół IPv6, znacznie bardziej angażuje protokół ICMP w wersji 6 do + pracy niż miało to miejsce w przypadku IPv4 i ICMPv4. Założenie + IPv6 jak i metody konfiguracji SLAAC było takie, że + gdzie w sieci musi być jakiś router. I jednym z jego zadań jest + wysłanie co 200 sek komunikatu protokołu ICMPv6 zawierającego takie + informacje jak: +

+ +

+ Komunikat ten nosi nazwę Router Advertisement, w skrócie + RA. Host po podłączeniu do sieci może wysłać + inny komunikat ICMPv6 - Router Solicitation - + RS, który jest prośbą o wysłanie przez Router + komunikatu RA. Komunikaty RS jako adres docelowy wykorzystują adres + multicast grupy routerów. +

+

+ Flagi przekazywane w komunikacie RA, wskazują hostowi w jaki sposób + będzie odbywać się konfiguracji interfejsu IPv6 w tej sieci. Możemy + wyróżnić takie flagi jak: +

+ +

+ Zatem jeśli host otrzyma komunikat RA z ustawiowymi flagami M=0, O=0 + oraz z flagą A=1, w prefix information - oznacza to, że adres + musi on sobie ustawić sam. Dokonuje tego przy użyciu prefiksu i jego + długości z komunikatu RA oraz przy użyciu samodzielnie wygenerowanego + identyfikatora hosta. Czy użyje metod pseudolosowych czy algorytmu + EUI-64, to już zależy od systemu operacyjnego. Przy czym tak + wygenerowany należy adres, należy sprawdzić. Szanse są nikłe, ale ta + czynność jest wykonywana, rozsyłane są między hostami komunikaty ICMPv6 + NA (Neighbor Advertisement) oraz NS + (Neighbor Solicitation) - co ma być odpowiednikiem protokołu + ARP. Host wysła komunikat NS na swój + wygenerowany adres i jeśli odpowiedź nie nadejdziej oznacza to, że + adres jest operacyjny i może go użyć. W ten sposób działa mechanizm + DAD (Duplicate Address Detection). +

+

+ Ta metoda zapewnia podstawową konfigurację sieciową, pozwalająca na + komunikację z hostem. Jednak jeśli był by to zwykły komputer klasy PC, + z którego ma korzystać człowiek, to brakuje informacji takich jak + adresy serwerów DNS, aby móc korzystać zasobów sieci firmy czy + Internetu. +

+

2.8.2. Metoda bezstanowego serwera DHCPv6

+

+ Metoda ta działa na zasadzie uzupełnienia konfiguracji interfesów + sieciowych IPv6, wstępnie skonfigurowanych przez metodę SLAAC. Dlatego + też możemy spotkać się określeniem SLAAC+DHCPv6. Działanie tej metody + zakłada, że w sieci znajduje się serwer DHCPv6, mimo to host dalej + będą korzystać informacji zawartych w RA, następnie po proszą serwer + DHCPv6 o uzupełnienie informacji dodatkowych. +

+

+ W przypadku metody bezstanowego serwera DHCPv6, host odbiera RA z + ustawioną flagą M=0, O=1 i A=1. Ustawia on swoje podstawowe parametry + sieciowe, na podstawie informacji zawartych komunikacie (poprzez użycie + SLAAC) następnie host wysła DHCPv6 SOLICIT w celu + odnalezienia serwera DHCP (coś w rodzaju, DHCPDISCOVER) w odpowiedzi + otrzymuje DHCPv6 ADVERTISE, z informacją że jest + serwera taki, a taki i obsługuje on protokoł DHCPv6. To wówczas + host wysła komunikat DHCPv6 INFORMATION-REQUEST już + na adres serwera uzyskany z poprzeniego pakietu. W odpowiedzi uzyska + komunikat DHCPv6 REPLY o treści odpowiedniej dla + DHCPv6 INFORMATION-REQUEST. +

+

2.8.3. Metoda stanowego serwera DHCPv6

+

+ Mimo, że SLAAC+DHCPv6, rozwiązuje problemy z niepełną konfiguracją z + komunikatów RA, wykorzystywanych przez SLAAC, to w sieciach firmowych + chcielibyśmy mieć kontrolę, chociażby nad tym, kto się podłacza do + naszej sieci. Dlatego też wprowadzono metodę: stanowego serwera + DHCPv6, którego działanie jest podobne do serwera DHCPv4. +

+

+ Host wysła komunikat RS, lub udaje mu się odebrać komunikat RA. W nim + flagi są ustawione: M=1, O=0, A=0. Możemy się czasami spotkać z + twierdzeniem, że flagi O, nie ma w ogóle, ale jest to raczej błąd. Tak + ustawione flagi mówią hostowi, że ma korzystać z serwera DHCPv6. To + host rozpoczyna wymianę pakietów, podobną do metody bezstanowowej, a + różniącej się tym, że nie korzysta on z informacji zawartych w RA + (wszystkich), tylko rozpoczyna poszukiwanie serwera DHCPv6. Główną + różnicą między tymi metodami jest użycie komunikatu + DHCPv6 REQUEST, zamiast INFORMATION-REQUEST. + Inna również będzie treść wiadomości DHCPv6 REPLY. +

+

+ Ważną informacją obejmującą wszystkie metody dynamicznej konfiguracji + IPv6 jest to, że hosty będą korzystać z adresu link-local + routera (adresu źródłowego komunikatu RA) jako bramy domyślnej. + Nie będą korzystać ani z info zawartego w RA ani w odpowiedzi od + DHCP. +

+

2.8.4. Konfiguracja DHCPv6 na Cisco IOS

+

+ System operacyjny Cisco IOS, jest wstanie świadczyć usługę DHCP + również dla IPv6. Przeprowadzimy następujące konfigurację: +

+ +

+ W przypadku bezstanowego serwera DHCP, na routerze w pierwszej + kolejności włączamy routing IPv6. Zawsze jest on domyślnie włączony. +

+
+Srv-DHCPv6(config)#ipv6 unicast-routing 
+
+

+ Następnie definiujemy nowa pulę adresów. +

+
+Srv-DHCPv6(config)#ipv6 dhcp pool IPV6-STATELESS
+
+

+ Konfigurujemy pule, dodając te opcje, które chcemy aby klienci naszej + sieci otrzymywali z serwera DHCPv6. +

+
+Srv-DHCPv6(config-dhcpv6)#dns-server 2001:db8:acad:1::254
+Srv-DHCPv6(config-dhcpv6)#domain-name example.com
+
+

+ Teraz musimy przypisać pulę do interfejsu, ale także zmodyfikować + flagę w komunikatach RA. Dokonujemy tego za pomocą poniższych + poleceń. +

+
+Srv-DHCPv6(config-if)#ipv6 nd other-config-flag
+Srv-DHCPv6(config-if)#ipv6 dhcp server IPV6-STATELESS
+
+

+ Pierwsze polecenie: + ipv6 nd other-config-flag ustawia + flagę O w komunikach RA. Natomiast drugie polecenie: + ipv6 dhcp server IPV6-STATELESS + przypisuje pulę interfejsu. Teraz możemy skonfigurować klieckiego + PC-ta, aby pobrał konfigurację IPv6 z naszej infrastruktury. +

+
+Cisco Packet Tracer PC Command Line 1.0
+C:\>ipconfig /all
+
+FastEthernet0 Connection:(default port)
+
+   Connection-specific DNS Suffix..: example.com 
+   Physical Address................: 0060.4784.E138
+   Link-local IPv6 Address.........: FE80::260:47FF:FE84:E138
+   IPv6 Address....................: 2001:DB8:ACAD:1:260:47FF:FE84:E138
+   IPv4 Address....................: 0.0.0.0
+   Subnet Mask.....................: 0.0.0.0
+   Default Gateway.................: FE80::1
+                                     0.0.0.0
+   DHCP Servers....................: 0.0.0.0
+   DHCPv6 IAID.....................: 1699464132
+   DHCPv6 Client DUID..............: 00-01-00-01-61-90-B4-E8-00-60-47-84-E1-38
+   DNS Servers.....................: 2001:DB8:ACAD:1::254
+                                     0.0.0.0
+
+

+ Konfiguracja PC-ta, jest banalna wystarczy kliknąć jedną opcje. A co + w przypadku systemu Cisco IOS? Spróbujmy to zrobić, wykorzystując do + tego drugi router. Po przejściu do konfiguracji globalnej, włączamy + routing IPv6. +

+
+Cli-DHCPv6(config)#ipv6 unicast-routing
+
+

+ Następnie włączamy IPv6 na interfejsie sieciowym i ustawiamy aby + pobrał on konfigurację z DHCP. Na koniec podnosimy interfejs. +

+
+Cli-DHCPv6(config)#ipv6 unicast-routing
+Cli-DHCPv6(config)#int gig0/0/1
+Cli-DHCPv6(config-if)#ipv6 enable
+Cli-DHCPv6(config-if)#ipv6 address autoconfig
+Cli-DHCPv6(config-if)#no shut
+Cli-DHCPv6(config-if)#end
+Cli-DHCPv6#sh ipv6 int br
+GigabitEthernet0/0/0       [administratively down/down]
+    unassigned
+GigabitEthernet0/0/1       [up/up]
+    FE80::201:64FF:FE98:9802
+    2001:DB8:ACAD:1:201:64FF:FE98:9802
+GigabitEthernet0/0/2       [administratively down/down]
+    unassigned
+Vlan1                      [administratively down/down]
+    unassigned
+Cli-DHCPv6#sh ipv6 dhcp interface
+GigabitEthernet0/0/1 is in client mode
+  State is INFORMATION-REQUEST(0)
+  Rapid-Commit: disabled
+
+

+ Ostatnie dwa polecenia: + sh ipv6 int br + (show ipv6 interface brief) oraz + sh ipv6 dhcp interface mogą nam + posłużyć do sprawdzenia konfiguracji IPv6 interfejsów oraz konfiguracji + DHCPv6 interfejsu. W tym przypadku na podstawie wyjścia drugie + polecenia, może stwiedzić, że działa on w trybie bezstanowego serwera + DHCPv6. +

+

+ Kolejny rodzajem konfiguracji jaki możemym przeprowadzić jest stanowy + serwer DHCPv6 oraz stanowy klient. Konfiguracja dla serwera wygląda + w następujący sposób: +

+
+Srv2-DHCPv6(config)#ipv6 unicast-routing
+Srv2-DHCPv6(config)#ipv6 dhcp pool IPV6-STATEFUL
+Srv2-DHCPv6(config-dhcpv6)#address prefix 2001:db8:acad:1::/64
+Srv2-DHCPv6(config-dhcpv6)#dns-server 2001:4860:4860::8888
+Srv2-DHCPv6(config-dhcpv6)#domain-name example.com
+Srv2-DHCPv6(config-dhcpv6)#exit
+Srv2-DHCPv6(config)#int gig0/0/1
+Srv2-DHCPv6(config-if)#ipv6 addr 2001:db8:acad:1::1/64
+Srv2-DHCPv6(config-if)#ipv6 addr fe80::1 link-local
+Srv2-DHCPv6(config-if)#ipv6 nd managed-config-flag
+Srv2-DHCPv6(config-if)#ipv6 dhcp server IPV6-STATEFUL
+Srv2-DHCPv6(config-if)#no shutdown
+
+

+ Konfigurując IOS jako serwer stanowy DHCPv6, musimy w definicji puli + wpisać prefiks naszej sieci. Następnie w konfiguracji interfejsu + ustawiamy flagę M i przypisujemy odpowiednią do + interfejsu pulę DHCPv6. Reszta konfiguracji pozostaje bez zmian. +

+

+ W materiałach występuje jeszcze jedno polecenie: + ipv6 nd prefix default no-autoconfig + jednak może być ono niedostępne w wersjach oprogramowania IOS + dostarczany wraz z Packet Tracer-em. +

+

+ Natomast konfiguracja stanowego klienta wygląda w opisany poniżej + sposób. +

+
+Cli2-DHCPv6(config)#ipv6 unicast-routing
+Cli2-DHCPv6(config)#int gig0/0/1
+Cli2-DHCPv6(config-if)#ipv6 enable
+Cli2-DHCPv6(config-if)#ipv6 address dhcp
+Cli2-DHCPv6(config-if)#no shutdown
+Cli2-DHCPv6#sh ipv6 int br
+GigabitEthernet0/0/0       [administratively down/down]
+    unassigned
+GigabitEthernet0/0/1       [up/up]
+    FE80::201:96FF:FEB3:8A02
+    2001:DB8:ACAD:1:D0CF:E066:3BF5:2825
+GigabitEthernet0/0/2       [administratively down/down]
+    unassigned
+Vlan1                      [administratively down/down]
+    unassigned
+Cli2-DHCPv6#sh ipv6 dhcp interface
+GigabitEthernet0/0/1 is in client mode
+  State is OPEN
+  Renew will be sent in 0d0h
+  List of known servers:
+    Reachable via address: FE80::1
+    DUID: 0003000100062ACD7E01
+    Preference: 0
+    Configuration parameters:
+      IA PD: IA ID 226950255, T1 0, T2 0
+      Address: 2001:DB8:ACAD:1:D0CF:E066:3BF5:2825/64
+              preferred lifetime 86400, valid lifetime 172800
+              expires at September 7 2024 3:47:3 pm (172800 seconds)
+      DNS server: 2001:4860:4860::8888
+      Domain name: example.com 
+      Information refresh time: 0
+  Prefix name: 
+  Rapid-Commit: disabled
+
+

+ W taki sposób wygląda to od strony serwera: +

+
+Srv2-DHCPv6#show ipv6 dhcp interface 
+GigabitEthernet0/0/1 is in server mode
+  Using pool: IPV6-STATEFUL
+  Preference value: 0
+  Hint from client: ignored
+  Rapid-Commit: disabled
+Srv2-DHCPv6#show ipv6 dhcp binding 
+Client: FE80::201:96FF:FEB3:8A02
+  DUID: 00030001000196B38A01
+  IA NA: IA ID 226950255, T1 0, T2 0
+    Address: 2001:DB8:ACAD:1:D0CF:E066:3BF5:2825
+            preferred lifetime 86400, valid lifetime 172800
+            expires at September 7 2024 3:50:18 pm (172800 seconds)
+Srv2-DHCPv6#show ipv6 dhcp pool 
+DHCPv6 pool: IPV6-STATEFUL
+  Address allocation prefix: 2001:db8:acad:1::/64 valid 172800 preferred 86400 (2 in use, 0 conflicts)
+  DNS server: 2001:4860:4860::8888
+  Domain name: example.com
+  Active clients: 1
+
+

+ binding, przedstawia listę klientów + serwera DHCPv6. Natomiast pool, + pokazuje nam statystyki na temat przydzielonej do interfejsu puli. +

+

+ Ostatnią konfiguracją będzie konfiguracja agenta przekazującego. + Nie mniej jednak na Packet Tracerze, nie będziemy w stanie tego zrobić. + Dlatego można potraktować to jako suchą wiedzę. Na interfejsie + nasłuchującym w sieci, z którego normalnie powinniśmy otrzymać adres IP + wpisujemy poniższe polecenie. +

+
+ Rly-DHCPv6(config)#int gig0/1
+Rly-DHCPv6(config-if)#ipv6 dhcp ?
+  client  Act as an IPv6 DHCP client
+  server  Act as an IPv6 DHCP server
+Rly-DHCPv6(config-if)#ipv6 dhcp relay destination 2001:db8:acad:1::2 gig0/0
+                                ^
+% Invalid input detected at '^' marker.
+	
+Rly-DHCPv6(config-if)#exit
+
+

+ W poleceniu relay destination + podajemy adres serwera. Dodatkowo, jeśli adresem serwera DHCP będzie + LLA, musimy podać wyjściowy interfejs taki jak na przykładzie + (gig0/0). +

+

Podsumowanie

+

+ W tym rozdziale dowiedzieliśmy się jak wyglądają metody dynamicznej + adresacji hostów dla protokołu IPv6. Poznaliśmy w jaki sposób te + metody działają oraz jakie komunikaty klient oraz serwer (w zależności + od metody) ze sobą wymieniają aby finalnie skonfigurować adres IPv6 dla + interfejsu. Na koniec poznaliśmy jakie w tym zakresie możliwości ma + system Cisco IOS oraz jakim crapem są materiały, w których + funkcjonuje jedno zagadnienie, a nie jest ono możliwe do zrealizowania + w środowisku symulacyjnym jakim jest Packet Tracer. Nie prościej było + to usunąć lub poprawić tego Packet Tracer-a. Czy to tak wiele dla tak + dużej firmy? +