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.