Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
sk2:ipv6 [2022/01/17 22:04] jkonczak [Współistnienie IPv4 i IPv6 [ekstra]] |
sk2:ipv6 [2024/01/18 13:04] (aktualna) jkonczak [Dodatkowe materiały] |
||
---|---|---|---|
Linia 3: | Linia 3: | ||
=== Wyczerpanie się adresów IPv4 === | === Wyczerpanie się adresów IPv4 === | ||
Adresy IPv4 zostały [[https://www.icann.org/en/announcements/details/remaining-ipv4-addresses-to-be-redistributed-to-regional-internet-registries--address-redistribution-signals-that-ipv4-is-nearing-total-exhaustion-20-5-2014-en|podzielone do końca]] między RIRy w 2014 roku. \\ | Adresy IPv4 zostały [[https://www.icann.org/en/announcements/details/remaining-ipv4-addresses-to-be-redistributed-to-regional-internet-registries--address-redistribution-signals-that-ipv4-is-nearing-total-exhaustion-20-5-2014-en|podzielone do końca]] między RIRy w 2014 roku. \\ | ||
- | W 2015 roku [[https://www.arin.net/vault/announcements/2015/20150924.html|skończyły się adresy IPv4 w Ameryce Północnej]]. **W 2019 roku w naszym regionie (Europa, bliski wschód i część Azji) [[https://www.ripe.net/publications/news/about-ripe-ncc-and-ripe/the-ripe-ncc-has-run-out-of-ipv4-addresses|przydzielono ostatni wolny blok IPv4]]**. | + | W 2015 roku [[https://www.arin.net/vault/announcements/2015/20150924.html|skończyły się adresy IPv4 w Ameryce Północnej]]. **W 2019 roku w naszym regionie (Europa, bliski wschód i część Azji) [[https://www.ripe.net/publications/news/about-ripe-ncc-and-ripe/the-ripe-ncc-has-run-out-of-ipv4-addresses|przydzielono ostatni wolny blok IPv4]]**. \\ |
- | W tej chwili w naszym regionie tylko firmy/organizacje którzy nigdy wcześniej nie dostały adresów IPv4 [[https://www.ripe.net/manage-ips-and-asns/ipv4/how-waiting-list-works|mogą liczyć na 256 adresów IPv4]] "odzyskanych" po zakończeniu działalności firmy/organizacji której przydzielono blok adresów (wersja oficjalna). | + | W tej chwili w naszym regionie tylko firmy/organizacje którzy nigdy wcześniej nie dostały adresów IPv4 [[https://www.ripe.net/manage-ips-and-asns/ipv4/how-waiting-list-works|mogą liczyć na 256 adresów IPv4]] "odzyskanych" po zakończeniu działalności firmy/organizacji której przydzielono blok adresów (wersja oficjalna).\\ |
+ | Na określonych warunkach można wykonywać transfery już przydzielonych adresów ([[ | ||
+ | https://www.ripe.net/manage-ips-and-asns/resource-transfers-and-mergers/transfer-of-ip-addresses-and-as-numbers|transfer w RIPE]]). | ||
<html></small></html> | <html></small></html> | ||
Linia 37: | Linia 39: | ||
* Interface ID można stworzyć na podstawie adresu MAC (48-bitowego) zmieniając flagę unikalności adresu MAC na 1 i wstawiając ''0xfffe'' między pierwszą a drugą połowę MAC [[https://datatracker.ietf.org/doc/html/rfc4291#page-20|RFC 4291, appendix A]] | * Interface ID można stworzyć na podstawie adresu MAC (48-bitowego) zmieniając flagę unikalności adresu MAC na 1 i wstawiając ''0xfffe'' między pierwszą a drugą połowę MAC [[https://datatracker.ietf.org/doc/html/rfc4291#page-20|RFC 4291, appendix A]] | ||
* Interface ID można ustawić losowy (dla prywatności, [[https://tools.ietf.org/html/rfc4941|RFC 4941]]) | * Interface ID można ustawić losowy (dla prywatności, [[https://tools.ietf.org/html/rfc4941|RFC 4941]]) | ||
+ | * Interface ID można generować powtarzalnie dla danej sieci((generowany używając m. inn. prefiksu sieci i wcześniej wylosowanego (i pamiętanego) sekretu)) [[https://www.rfc-editor.org/rfc/rfc7217|RFC 7217]] [[https://www.rfc-editor.org/rfc/rfc8064|RFC 8064]] | ||
* Interface ID można też ustawić ręcznie | * Interface ID można też ustawić ręcznie | ||
* do 64-bitów na prefix wystarczy | * do 64-bitów na prefix wystarczy | ||
* Adresy anycastowe – dowolny adres unicastowy można używać jako anycast, przy konfiguracji trzeba explicite dodać adres jako anycast. | * Adresy anycastowe – dowolny adres unicastowy można używać jako anycast, przy konfiguracji trzeba explicite dodać adres jako anycast. | ||
* W tej chwili wszystkie globalne adresy unicastowe są z sieci 2000::/3 | * W tej chwili wszystkie globalne adresy unicastowe są z sieci 2000::/3 | ||
- | * Multicast: adresy zaczynające się od ff, po których następują 4 bity flag i 4 bity zasięgu: \\ <html><small></html>Czyli: ''ff⚐Z::/112'', gdzie ''⚐'' to miejsce flag, ''Z'' - zasięgu; np. ''ff15:1234::6789:abcd''<html></small></html> | + | * Multicast: adresy zaczynające się od ''ff'', po których następują 4 bity flag i 4 bity zasięgu: \\ <html><small></html>Czyli: ''ff⚐Z::/112'', gdzie ''⚐'' to miejsce flag, ''Z'' - zasięgu; np. ''ff15:1234::6789:abcd''<html></small></html> |
* Flagi: ''0b00PT'' \\ ''T==0'' oznacza że adres jest przydzielony przez "the global internet numbering authority"[[https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml|[1]]] \\ ''P==1'' oznacza że adres został utworzony z wykorzystaniem prefixu adresów unicastowych | * Flagi: ''0b00PT'' \\ ''T==0'' oznacza że adres jest przydzielony przez "the global internet numbering authority"[[https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml|[1]]] \\ ''P==1'' oznacza że adres został utworzony z wykorzystaniem prefixu adresów unicastowych | ||
* Zasięg: [[https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml#ipv6-scope|[2]]] \\ ''0x1'' - interface-local, ''0x2'' - link-local, ''0x5'' - site local, ''0x8'' - organization-local, ''0xe'' - global | * Zasięg: [[https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml#ipv6-scope|[2]]] \\ ''0x1'' - interface-local, ''0x2'' - link-local, ''0x5'' - site local, ''0x8'' - organization-local, ''0xe'' - global | ||
Linia 93: | Linia 96: | ||
Testowanie: | Testowanie: | ||
- | * ''ping6'' <html><small></html>(oraz nowsze implementacje zwykłego ''ping'')<html></small></html> | + | * ''ping6'' oraz nowsze implementacje zwykłego ''ping'' |
* ''traceroute -6'', ''tracepath6'' (w lab. dodatkowo jest potrzebny przełącznik ''-T'', np. ''traceroute -T -6'') | * ''traceroute -6'', ''tracepath6'' (w lab. dodatkowo jest potrzebny przełącznik ''-T'', np. ''traceroute -T -6'') | ||
* ''nc -6'' | * ''nc -6'' | ||
Linia 99: | Linia 102: | ||
| | ||
Wyświetlanie połączeń (domyślnie listuje zarówno IPv4 i IPv6): | Wyświetlanie połączeń (domyślnie listuje zarówno IPv4 i IPv6): | ||
- | * ''netstat -6 -a'' | + | * ''netstat -6 -a [--wide]'' |
* ''ss -6 -a'' | * ''ss -6 -a'' | ||
Linia 112: | Linia 115: | ||
====== Automatyczna konfiguracja i ICMPv6 ====== | ====== Automatyczna konfiguracja i ICMPv6 ====== | ||
- | ICMPv6 (następca ICMP dla IPv6), ponad funkcje poprzednika, implementuje protokół NDP (pozwalający na automatyczna konfigurację i zastępujący ARP) i przejmuje zadania IGMP | + | ICMPv6 (następca ICMP dla IPv6), ponad funkcje poprzednika, implementuje protokół NDP (pozwalający na automatyczną konfigurację i zastępujący ARP) i przejmuje zadania IGMP |
[[https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol|Neighbor Discovery Protocol]] i Stateless Adress Autoconfiguration (SLAAC) [[https://tools.ietf.org/html/rfc4861|RFC4861]] \\ | [[https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol|Neighbor Discovery Protocol]] i Stateless Adress Autoconfiguration (SLAAC) [[https://tools.ietf.org/html/rfc4861|RFC4861]] \\ | ||
Linia 120: | Linia 123: | ||
* Stacja przydziela sobie wybrany adres | * Stacja przydziela sobie wybrany adres | ||
* Stacja wysyła pytanie o routery (na adres multicastowy wszystkie-routery) | * Stacja wysyła pytanie o routery (na adres multicastowy wszystkie-routery) | ||
- | * Routery odpowiadają wiadomością o dostępnych prefiksach (i DNS'ach, [[https://tools.ietf.org/html/rfc6106|RFC6106]]) | + | * Routery odpowiadają wiadomością o dostępnych prefiksach (i DNS'ach, [[https://tools.ietf.org/html/rfc8106|RFC8106]]) |
* Stacja wybiera po jednym adresie z każdego dostępnego prefiksu | * Stacja wybiera po jednym adresie z każdego dostępnego prefiksu | ||
Linia 130: | Linia 133: | ||
Polecenie diagnostyczne z radvd do //pasywnego// zbierania Router Advertisment: | Polecenie diagnostyczne z radvd do //pasywnego// zbierania Router Advertisment: | ||
- | * ''radvdump'' \\ włącza program nasłuchujący na RA | + | * ''radvdump'' \\ włącza program nasłuchujący na RA \\ <html><small></html>Instalacja w OpenSuse: ''zypper install radvd'' <html></small></html> |
Pakiet narzędzi diagnostycznych [[https://www.remlab.net/ndisc6/|ndisc6]]: | Pakiet narzędzi diagnostycznych [[https://www.remlab.net/ndisc6/|ndisc6]]: | ||
- | * Instalacja w OpenSuse: <code>zypper ar https://download.opensuse.org/repositories/network:/utilities/openSUSE_Leap_15.3/network:utilities.repo | + | <html><!-- * Instalacja w OpenSuse: <code>zypper ar https://download.opensuse.org/repositories/network:/utilities/openSUSE_Leap_15.3/network:utilities.repo |
zypper ref | zypper ref | ||
- | zypper in -y ndisc6</code> | + | zypper in -y ndisc6</code>--></html> |
* ''rdisc6 //br0//'' \\ wysyła Router Solicit na interfejsie ''//br0//'' i czeka na RA | * ''rdisc6 //br0//'' \\ wysyła Router Solicit na interfejsie ''//br0//'' i czeka na RA | ||
* ''ndisc6 //fe80::20c:42ff:feb6:9452// //br0//'' \\ wysyła Neighbour Solicit o adres fe80:… na interfejsie ''//br0//'' i czeka na Neighbour Advertisment | * ''ndisc6 //fe80::20c:42ff:feb6:9452// //br0//'' \\ wysyła Neighbour Solicit o adres fe80:… na interfejsie ''//br0//'' i czeka na Neighbour Advertisment | ||
Linia 149: | Linia 152: | ||
<html><small></html> | <html><small></html> | ||
\\ Możesz sprawdzić działanie Path MTU discovery przez: | \\ Możesz sprawdzić działanie Path MTU discovery przez: | ||
+ | ip -6 route flush cache | ||
ip route get 2001:470:647b::1 | ip route get 2001:470:647b::1 | ||
ping -s 1500 2001:470:647b::1 | ping -s 1500 2001:470:647b::1 | ||
Linia 155: | Linia 159: | ||
====== Współistnienie IPv4 i IPv6 ====== | ====== Współistnienie IPv4 i IPv6 ====== | ||
+ | [[https://en.wikipedia.org/wiki/IPv6#Dual-stack_IP_implementation|Dual-stack]] – urządzenie ma jednocześnie adres z sieci IPv4 i IPv6 oraz bezpośrednią łączność do sieci IPv4 i IPv6. | ||
Tunele: | Tunele: | ||
Linia 161: | Linia 166: | ||
Skąd brać tunele? Przykłady: | Skąd brać tunele? Przykłady: | ||
* https://www.tunnelbroker.net | * https://www.tunnelbroker.net | ||
- | * https://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers | + | * <del>https://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers</del> [[https://tunnelbroker.services]] |
* <html><small></html><del>[[https://www.sixxs.net/sunset/|https://www.sixxs.net]]</del><html></small></html> | * <html><small></html><del>[[https://www.sixxs.net/sunset/|https://www.sixxs.net]]</del><html></small></html> | ||
Linia 185: | Linia 190: | ||
* https://www.ripe.net/support/training/material/basic-ipv6-training-course/BasicIPv6-Slides.pdf | * https://www.ripe.net/support/training/material/basic-ipv6-training-course/BasicIPv6-Slides.pdf | ||
* https://www.ripe.net/support/training/material/ripe-ncc-training-material#IPV6 | * https://www.ripe.net/support/training/material/ripe-ncc-training-material#IPV6 | ||
- | * https://www.ripe.net/support/training/videos/ipv6/transition-mechanisms) | + | * **https://www.ripe.net/support/training/videos/ipv6/transition-mechanisms** |
* Materiały przygotowane w ramach finansowanego przez EU [[https://cordis.europa.eu/project/id/015926|projektu ]] [[http://6diss.6deploy.eu/tutorials/|IPv6 dissemination and exploitation]]: | * Materiały przygotowane w ramach finansowanego przez EU [[https://cordis.europa.eu/project/id/015926|projektu ]] [[http://6diss.6deploy.eu/tutorials/|IPv6 dissemination and exploitation]]: | ||
* http://6diss.6deploy.eu/tutorials/addressing.pdf | * http://6diss.6deploy.eu/tutorials/addressing.pdf |