NAT64 – komunikacja IPv6 z IPv4 w świecie migracji do IPv6
Migracja z IPv4 do IPv6 nie odbywa się jednocześnie na całym świecie. Przez wiele lat organizacje będą funkcjonować w środowisku mieszanym:
- część urządzeń będzie działać tylko z IPv4,
- część tylko z IPv6,
- część będzie obsługiwać oba protokoły (Dual Stack).
Jednym z największych problemów jest sytuacja:
Klient posiada tylko IPv6, ale musi połączyć się z serwerem działającym wyłącznie na IPv4.
Rozwiązaniem jest NAT64.
Czym jest NAT64?
NAT64 (Network Address Translation 64) to technologia umożliwiająca komunikację pomiędzy sieciami IPv6 i IPv4.
Pozwala urządzeniom IPv6-only korzystać z usług dostępnych wyłącznie przez IPv4.
Schemat:
id="nat64001"
IPv6 Client
2001:db8::10
|
|
NAT64 Gateway
|
|
IPv4 Server
192.0.2.10
Problem, który rozwiązuje NAT64
Bez NAT64:
id="nat64002"
IPv6 Only Client
X
IPv4 Only Server
IPv6 i IPv4 są osobnymi protokołami.
Pakiet IPv6 nie może być bezpośrednio wysłany do IPv4.
Jak działa NAT64?
NAT64 wykonuje translację:
IPv6 → IPv4
oraz:
IPv4 → IPv6
Proces:
id="nat64003"
Client IPv6
↓
IPv6 Packet
↓
NAT64
↓
IPv4 Packet
↓
IPv4 Server
DNS64 – partner NAT64
Sam NAT64 nie rozwiązuje problemu nazw DNS.
Przykład:
Użytkownik wpisuje:
id="nat64004"
www.example.com
Serwer DNS zwraca:
A Record:
192.0.2.50
Ale klient IPv6 potrzebuje adresu IPv6.
Tutaj działa:
DNS64
Jak działa DNS64?
DNS64 pobiera rekord IPv4:
id="nat64005"
example.com
A:
192.0.2.50
i tworzy sztuczny rekord AAAA:
id="nat64006"
AAAA:
64:ff9b::c000:0232
Klient IPv6 myśli:
„łączę się z IPv6”
ale NAT64 wie:
„to tak naprawdę IPv4”.
Architektura DNS64 + NAT64
id="nat64007"
IPv6 Client
|
|
DNS64 Server
|
|
Synthesized AAAA
|
|
NAT64 Gateway
|
|
IPv4 Internet
Prefix NAT64
Standardowy prefix używany przez NAT64:
64:ff9b::/96
Przykład:
IPv4:
192.0.2.33
zamienia się na:
64:ff9b::c000:221
NAT64 a klasyczny NAT
| Cecha | NAT44 | NAT64 |
|---|---|---|
| IPv4 → IPv4 | ✅ | ❌ |
| IPv6 → IPv4 | ❌ | ✅ |
| Translacja protokołu | nie | tak |
| Migracja IPv6 | ❌ | ✅ |
NAT64 vs Dual Stack
Dual Stack
Urządzenie posiada:
id="nat64008"
IPv4 Address
+
IPv6 Address
Przykład:
192.168.1.10
+
2001:db8::10
NAT64
Urządzenie posiada:
id="nat64009"
Tylko IPv6
a NAT64 zapewnia dostęp do IPv4.
Porównanie:
| Dual Stack | NAT64 | |
|---|---|---|
| Prostota | wysoka | średnia |
| IPv4 potrzebne na kliencie | tak | nie |
| Migracja IPv6-only | słaba | bardzo dobra |
| Przyszłościowe | średnio | tak |
Zastosowanie NAT64
1. Operatorzy komórkowi
Jedno z największych zastosowań.
Sieci LTE/5G często działają:
id="nat64010"
Mobile Network
IPv6 Only
|
NAT64
|
IPv4 Internet
2. IoT
Ogromna liczba urządzeń wymaga IPv6.
Przykład:
- czujniki,
- urządzenia przemysłowe,
- smart city.
3. Duże przedsiębiorstwa
Organizacja może wdrożyć:
id="nat64011"
Internal Network
IPv6 Only
|
NAT64
|
Legacy IPv4 Systems
NAT64 w chmurze
Dostawcy chmurowi oferują NAT64 dla środowisk IPv6-only.
Przykład:
id="nat64012"
IPv6 VM
|
NAT64 Gateway
|
IPv4 Service
NAT64 a bezpieczeństwo
NAT64 jest punktem kontroli ruchu.
Można stosować:
- firewall,
- IDS/IPS,
- monitoring,
- filtrowanie.
Jednak:
❌ NAT64 nie jest zabezpieczeniem samym w sobie.
Nie zastępuje:
- firewalla,
- segmentacji,
- kontroli dostępu.
Zagrożenia NAT64
1. Ominięcie kontroli IPv4
Przykład:
id="nat64013"
IPv6 Client
↓
NAT64
↓
IPv4 Destination
Jeżeli firewall nie analizuje IPv6:
problem.

2. Problemy z logowaniem
Administrator musi rejestrować:
- IPv6 klienta,
- przetłumaczony IPv4,
- porty,
- czas.
Przykład:
id="nat64014"
2001:db8::10
↓
192.0.2.100:4567
3. Problemy aplikacyjne
Niektóre aplikacje zakładają obecność IPv4.
Problemy mogą dotyczyć:
- starszych protokołów,
- hardcoded IPv4,
- VoIP.
NAT64 i firewall
Poprawna architektura:
id="nat64015"
IPv6 Users
|
|
IPv6 Firewall
|
|
NAT64 Gateway
|
|
IPv4 Network
NAT64 w systemach Linux
Popularne rozwiązania:
- Jool,
- Tayga,
- nftables.
Jool
Jeden z najpopularniejszych implementatorów NAT64 dla Linux.
Przykład:
modprobe jool_siit
Sprawdzenie:
jool pool4 display
NAT64 i nftables
Nowoczesne Linuxy mogą wykorzystywać:
nftables
do kontroli ruchu.
Przykład:
id="nat64016"
IPv6 Packet
↓
nftables
↓
NAT64
↓
IPv4
NAT64 i Kubernetes
W środowiskach Kubernetes:
- IPv6-only Pods,
- IPv4 Services,
- migracja aplikacji.
Schemat:
id="nat64017"
IPv6 Pod
|
CNI Network
|
NAT64
|
IPv4 Service
NAT64 vs 464XLAT
W sieciach mobilnych często stosuje się:
464XLAT
Jest połączeniem:
- NAT64,
- stateless translation.
Architektura:
id="nat64018"
IPv6 Device
|
CLAT
|
IPv6 Network
|
PLAT
|
IPv4 Internet
NAT64 vs NAT66
| NAT64 | NAT66 | |
|---|---|---|
| IPv6 → IPv4 | ✅ | ❌ |
| IPv6 → IPv6 | ❌ | ✅ |
| Migracja | tak | nie |
| Zalecane | tak | ograniczone |
Diagnostyka NAT64
Sprawdzanie DNS:
dig AAAA example.com
Test IPv6:
ping6 64:ff9b::192.0.2.1
Analiza pakietów:
tcpdump -i eth0 ip6
Najlepsze praktyki NAT64
✅ używaj DNS64 razem z NAT64
✅ loguj translacje
✅ monitoruj wykorzystanie adresów
✅ stosuj firewall IPv6
✅ testuj aplikacje
✅ planuj migrację IPv6
Architektura migracji IPv4 → IPv6
id="nat64019"
Internet
+---------------------+
| |
IPv6 IPv4
| |
| |
IPv6 Users Legacy Apps
| |
+---------+-----------+
|
NAT64
|
DNS64
Podsumowanie
NAT64 jest jednym z najważniejszych mechanizmów przejściowych pomiędzy światem IPv4 i IPv6. Pozwala wdrażać sieci IPv6-only bez utraty dostępu do starszych usług IPv4.
Najważniejsze elementy:
- NAT64 – translacja IPv6 ↔ IPv4,
- DNS64 – tworzenie sztucznych rekordów AAAA,
- 64:ff9b::/96 – standardowy prefix translacji,
- 464XLAT – rozszerzenie dla sieci mobilnych.
Najczęstsze zastosowania:
- operatorzy 5G,
- IoT,
- chmura,
- duże przedsiębiorstwa.
Najważniejsza zasada:
NAT64 nie jest końcowym rozwiązaniem problemu IPv4 – jest mostem migracyjnym, który pozwala światu IPv6 komunikować się ze starszą infrastrukturą IPv4.






