From: xf0r3m
+ 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. +
++ 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. +
++ 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. +
++ 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. +
++ 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).
+
+ 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? +