Salah satu metode transisi IPv6/IPv4 adalah dengan menggunakan teknik NAT-PT, Network Address Translation - Protocol Translator. Mirip dengan NAT yang biasa digunakan untuk membagi IP publik, hanya saja private network-nya adalah IPv6, sementara public network-nya (WAN Side?) IPv4.

Peringatan:
Tulisan ini sangat serius dan panjang. Ditujukan bagi kalangan opensource dan praktisi jaringan komputer tingkat lanjut. Bagi yang ingin sekedar blogwalking, dapat mengabaikan tulisan ini, karena dapat menjadi sangat memuakkan

Walaupun beberapa fungsi dari KAME Project sudah diimplementasikan ke dalam kernel FreeBSD Release, namun fungsi NAT-PT ini belum. Sehingga kita masih harus menambah perluasan (extension) KAME ini secara manual ke dalam kernelnya.

Dalam tutorial ini, saya menggunakan FreeBSD 4.10 i386 Release dan KAME extension snapshot tanggal 6 Desember 2004. Sebelumnya saya telah mencoba FreeBSD 5.4 Release dengan KAME extension snapshot 1 September 2007, namun selalu gagal saat meng-compile kernelnya.

Tahap Instalasi

Setelah mendapatkan snap-kit KAME, ekstrak file tersebut. Misalnya, saya meletakkan file tersebut di /home/lia:

root@agnesia # cd /home/lia
root@agnesia # tar -xvzf kame-20041206-freebsd410-snap.tgz
root@agnesia # cd kame/

Lakukan persiapan sesuai dengan jenis dan versi sistem operasi. Di sini menggunakan FreeBSD 4.10

root@agnesia # make TARGET=freebsd4 prepare

Masuk ke direktori freebsd4 yang telah dipersiapkan.

root@agnesia # cd freebsd4

Ada baiknya jika Anda membuat salinan kernel (optional):

root@agnesia # cp /kernel /kernel.prev
root@agnesia # cd /usr
root@agnesia # mkdir include.clean
root@agnesia # cd include.clean
root@agnesia # (cd ../include; tar Bpcf - . ) | tar Bpxf -

Kita mulai pembuatan kernel baru, sebelumnya kita sesuaikan konfigurasi kernel, untuk mengaktifkan fungsi NAT-PT:

root@agnesia # cd /home/lia
root@agnesia # cd kame/freebsd4/sys/i386/conf
root@agnesia # cp GENERIC.KAME KERNELKAME
root@agnesia # ee KERNELKAME

Cari baris #options NATPT, lalu hapus # di depannya. Simpan file tersebut dan tutup aplikasi ee. Bagi yang tidak terbiasa menggunakan ee, boleh menggunakan editor lain, seperti vi misalnya.

Lanjutkan dengan membuat konfigurasi kernel.

root@agnesia # config ./KERNELKAME

Buat kernel barunya.

root@agnesia # cd ../../compile/KERNELKAME
root@agnesia # make depend && make

Jika proses kompilasi berjalan lancar dan sukses, install kernel baru tersebut.

root@agnesia # make install

Setelah selesai, lanjutkan dengan instalasi userland tools.

root@agnesia # cd /home/lia/
root@agnesia # cd kame/freebsd4/
root@agnesia # make includes
root@agnesia # make install-includes
root@agnesia # make
root@agnesia # make install

Oke, semuanya beres, restart komputer.

root@agnesia # fastboot

Setelah restart, periksa kernelnya:

root@agnesia # uname -a

Contoh output-nya:

FreeBSD agnesia 4.10-RELEASE FreeBSD 4.10-RELEASE #0: Sat Jan 13 19:56:03 WIT 2001 riojaya@agnesia:/usr/home/lia/kame/freebsd4/sys/compile/KERNELKAME i386

Aplikasi tambahan (userland) berada di /usr/local/v6/sbin/ dan /usr/local/v6/bin/. Tambahkan ke variabel PATH untuk memudahkan pekerjaan.

Tahap Konfigurasi

Sekarang mari kita konfigurasikan gateway kita. Pertama, konfigurasikan interface jaringan terlebih dahulu. Untuk sisi IPv4, saya di sini menggunakan rl0 dengan alamat IPv4 10.14.200.166/24. Berikut potongan /etc/rc.conf :

hostname="agnesia"
ifconfig_rl0="10.14.200.166 netmask 255.255.255.0"

Lalu konfigurasikan untuk sisi IPv6, saya menggunakan interface sis0 dengan alamat IPv6 2001::200:166/64. Berikut potongan /etc/rc.conf :

ipv6_enable="YES"
ipv6_network_interfaces="sis0"
ipv6_gateway_enable="YES"
ipv6_ifconfig_sis0="2001::200:166 prefixlen 64"

untuk mempermudah, aktifkan mode ipv4-address-mapped-ipv6. Sebenarnya tidak perlu dikonfigurasikan, karena secara otomatis fungsi ini akan aktif sendiri. Berikut potongan /etc/rc.conf :

ipv6_ipv4mapping="YES"

Konfigurasikan NAT-PT dengan membuat file /etc/natpt.conf. Contoh konfigurasi juga disertakan di /home/lia/kame/kame/kame/natptconfig/natpt.conf. Berikut contoh konfigurasinya:

prefix 3ffe:ffff:ffff::
map from any6 to 10.14.200.166 port 28672 - 32767
map enable

Baris prefix 3ffe:ffff:ffff:: adalah untuk menentukan prefix alamat IPv4 yang akan dipetakan ke alamat IPv6. Baris map from any6 to 10.14.200.166 port 28672 - 32767 untuk menkonfigurasikan NAT-PT untuk akses dari jaringan IPv6 ke jaringan IPv4 dengan menggunakan alamat 10.14.200.166. Sedangkan baris map enable adalah untuk mengaktifkan translasi.

Setelah dikonfigurasikan, jalankan NAT-PT menggunakan natptconfig.

root@agnesia # natptconfig -f /etc/natpt.conf

Sementara untuk melihat aturan NAT-PT:

root@agnesia # natptconfig show rules

dan untuk melihat translasi yang sedang berlangsung:

root@agnesia # natptconfig show xlate

Tahap konfigurasi klien IPv6

Jika klien berada di jaringan yang sama dengan gateway NAT-PT, konfigurasikan alamat IPv6-nya agar sama alamat jaringannya (network address/ID). Misalnya dengan interface ed0, sistem operasi FreeBSD, di /etc/rc.conf:

ipv6_enable="YES"
ipv6_network_interfaces="sis0"
ipv6_ifconfig_ed0="2001::200:ff prefixlen 64"

Atau dengan menggunakan ifconfig (untuk linux misalnya):

root@anastasya ~ # ifconfig ed0 add 2001::200:ff/64

Lalu atur routing table-nya agar alamat dengan prefix 3ffe:ffff:ffff:: dikirimkan melalui gateway NATPT (2001::200:166). Berikut potongan /etc/rc.conf

ipv6_static_routes="natpt"
ipv6_route_natpt="3ffe:ffff:ffff:: -prefixlen 64 2001::200:166"

atau linux dengan menggunakan iproute

root@anastasya ~ # ip -6 route add 3ffe:ffff:ffff::/64 via 2001::200:166

Untuk mencoba koneksi, Anda bisa test dengan ping6:

root@anastasya ~ # ping6 3ffe:ffff:ffff::10.14.200.166.

PS:
Untuk translasi dengan menggunakan metode TCP relay, silakan lihat artikel IPv6/IPv4 Translator dengan FAITH.