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:

[email protected] # cd /home/lia
[email protected] # tar -xvzf kame-20041206-freebsd410-snap.tgz
[email protected] # cd kame/

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

[email protected] # make TARGET=freebsd4 prepare

Masuk ke direktori freebsd4 yang telah dipersiapkan.

[email protected] # cd freebsd4

Ada baiknya jika Anda membuat salinan kernel (optional):

[email protected] # cp /kernel /kernel.prev
[email protected] # cd /usr
[email protected] # mkdir include.clean
[email protected] # cd include.clean
[email protected] # (cd ../include; tar Bpcf - . ) | tar Bpxf -

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

[email protected] # cd /home/lia
[email protected] # cd kame/freebsd4/sys/i386/conf
[email protected] # cp GENERIC.KAME KERNELKAME
[email protected] # 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.

[email protected] # config ./KERNELKAME

Buat kernel barunya.

[email protected] # cd ../../compile/KERNELKAME
[email protected] # make depend && make

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

[email protected] # make install

Setelah selesai, lanjutkan dengan instalasi userland tools.

[email protected] # cd /home/lia/
[email protected] # cd kame/freebsd4/
[email protected] # make includes
[email protected] # make install-includes
[email protected] # make
[email protected] # make install

Oke, semuanya beres, restart komputer.

[email protected] # fastboot

Setelah restart, periksa kernelnya:

[email protected] # uname -a

Contoh output-nya:

FreeBSD agnesia 4.10-RELEASE FreeBSD 4.10-RELEASE #0: Sat Jan 13 19:56:03 WIT 2001 [email protected]:/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.

[email protected] # natptconfig -f /etc/natpt.conf

Sementara untuk melihat aturan NAT-PT:

[email protected] # natptconfig show rules

dan untuk melihat translasi yang sedang berlangsung:

[email protected] # 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):

[email protected] ~ # 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

[email protected] ~ # ip -6 route add 3ffe:ffff:ffff::/64 via 2001::200:166

Untuk mencoba koneksi, Anda bisa test dengan ping6:

[email protected] ~ # ping6 3ffe:ffff:ffff::10.14.200.166.

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