IPv4 üzerinden verdiğiniz bir servise yalın IPv6 istemcilerinin de ulaşmasını istiyorsunuz. Bu durumda yapmanız gereken çeviri yöntemlerinden birini kullanmak. NAT64 IP seviyesinde çeviri yapan bir yöntem. Linux işletim sisteminde (2.6.31+ kernel modülü ile) veya OpenBSD üzerinde PF ile kullanabilirsiniz. NAT64 yöntemi iki bileşenden oluşuyor: DNS ALG (Application Layer Gateway) ve IP çevirici. DNS ALG için 3 seçeneğiniz bulunmakta: basit bir perl betiği, Unbound veya Bind uygulamalarının yamalanmış versiyonları. IP çevirici Linux’ta bir çekirdek modülü olarak kullanılıyor, OpenBSD de ise PF ile kullanılıyor.
Ubuntu 10.10 (kernel 2.6.31+ koşulunu sağlamak için) kurulu bir bilgisayar üzerinde yöntemi çalıştırdım. Yöntem için bir IPv6 ön eki belirliyorsunuz, örnek olarak 64:FF9B::/96 öneki kullanılmış. IPv6 istemcisi ulaşmak istediği IPv4 adresine 64:FF9B::IPV4ADDRR formatındaki IPv6 adresini kullanarak ulaşabiliyor. Ulaşmak istediğimiz her sunucunun IPv4 adresini alıp başına öneki ekleyip IPv6 adresini oluşturmak belli bir süre sonra can sıkıcı olmaya başlıyor ve o anda devreye yamalanmış DNS sunucusu veya perl scripti giriyor. Sitede verilen küçük perl scripti çok kullanışlı değil, ancak yamalanmış Bind gayet güzel çalışıyor.
Dipnot: Geçiş yöntemi Ubuntu 10.10 üzerinde, sitesindeki yönlendirmeler ile kolayca kullanılabiliyor, ancak 2 nokta oldu ki sizi de uğraştırması muhtemel:
- Verilen perl scripti aşağıdaki paketleri kurduktan sonra çalıştırılabiliyor.
- libio-socket-inet6-perl
- libnet-dns-perl
- libnetaddr-ip-perl
- Modülü derledikten sonra aşağıdaki komut ile modül listesini güncellemek gerekiyor.
- depmod -a
Görseli aldığım referans: http://sasipra.wordpress.com/implementation-of-gre-ipv6ip-dhcpv6-nat64-5/