NAT64
NAT64 (RFC 6146) — трансляция IPv6-only клиента к IPv4-only серверу. Даёт возможность жить в чистой IPv6-сети и всё ещё ходить в legacy IPv4-интернет.
Как работает
- Клиент делает DNS-запрос к DNS64.
- Если у имени только A-запись (IPv4) — DNS64 синтезирует AAAA с префиксом
64:ff9b::/96. - Клиент шлёт пакет на
64:ff9b::c000:201(=192.0.2.1). - NAT64 gateway ловит, транслирует в IPv4 (source: свой IPv4 pool).
- Ответ обратно — распаковка в IPv6.
Well-known prefix
64:ff9b::/96 — стандартный префикс NAT64 (RFC 6052). Последние 32 бита = IPv4-адрес.
64:ff9b::192.0.2.33 = 64:ff9b::c000:0221
Где используется
- T-Mobile US — IPv6-only мобильная сеть с NAT64/DNS64
- Apple с 2016 — требуют чтобы iOS-приложения работали через NAT64
- Крупные датацентры (Facebook внутри) — IPv6-only с NAT64 в edge
464XLAT (RFC 6877)
Расширение: клиент делает CLAT (IPv4→IPv6) сам, потом NAT64 на gw. Спасает приложения которые не понимают IPv6 (Skype, Java, VPN-клиенты).
Проблемы
- DNSSEC не работает — DNS64 подделывает AAAA
- IPv4-литералы (
connect("1.2.3.4")) не транслируются без CLAT - ALG нужен для FTP, SIP, IPsec
Реализации
- Jool — Linux kernel модуль
- Tayga — user-space Linux
- Cisco/Juniper — hardware