Interkoneksi IPv6 dan IPv4 dengan Mekanisme Automatic Tunneling pada Linux


Pendahuluan

Dengan perkembangan teknologi internet yang semakin pesat menyebabkan user internet semakin bertambah banyak.Tetapi pertambahan user internet tidak diimbangi dengan jumlah alamat IPv4 yang ada.Sehingga IETF mengeluarkan standart protocol IP baru yang disebut IPng ( Internet Protokol Next Generations ) atau disebut juga IPv6.

IPv6 mempunyai format alamat dan header yang berbeda dengan IPv4.Sehingga secara langsung IPv4 tidak bisa interkoneksi dengan IPv6.Hal ini tentunya akan menimbulkan masalah pada implementasi IPv6 pada jaringan internet IPv4 yang telah ada.Sebagai solusi masalah implementasi IPv6 ini diperlukan suatu mekanisme Transisi IPv6.Tujuan pembuatan mekanisme transisi ini adalah supaya paket IPv6 dapat dilewatkan pada jaringan IPv4 yang telah ada ataupun sebaliknya.Pada tutorial ini akan dibahas cara implementasi mekanisme Automatic Tunneling untuk interkoneksi IPv6 dan IPv4 , terutama pada operating system Linux.

Automatic Tunneling

Mekanisme Automatic Tunneling berfungsi melewatkan paket IPv6 melalui jaringan IPv4 yang telah ada, tanpa merubah infrastruktur jaringan IPv4. Mekanisme Automatic Tunneling mempunyai prinsip kerja mengenkapsulasi paket IPv6 dengan header IPv4, kemudian paket tersebut langsung dikirimkan ke jaringan IPv4

Fungsi dari enkapsulasi paket IPv6 dengan header IPv4 adalah agar paket dapat diroutingkan oleh router IPv4.Namun dengan penambahan header IPv4 ini tentunya paket akan bertambah besar sesuai panjang header IPv4 yaitu 20 byte.Pertambahan panjang paket ini akan berakibat bertambah pula waktu delay pengiriman paket.Masalah utama dari implementasi mekanisme Transisi IPv6 adalah pertambahan waktu delay proses yang diakibatkan pertambahan panjang paket , adanya proses enkapsulasi dan adanya proses dekapsulasi.

Mekanisme Transisi Automatic Tunneling mempunyai keuntungan sebagai berikut :
1. Lebih mudah dalam implementasi
Dalam implementasi tidak memerlukan banyak computer ,cukup menggunakan computer yang sudah ada .Khusus untuk gateway tunnel,operating system perlu diupgrade menjadi operating system yang dualstack mendukung IPv6 dan IPv4.
2. Lebih mudah dalam hal konfigurasi pada system operasi
Dalam konfigurasi tidak diperlukan script – script konfigurasi yang rumit , cukup dengan konfigurasi interface tunnel dan konfigurasi table routingnya saja.
3. Tidak memerlukan server yang melayani transisi
Dalam implementasi tidak memerlukan server khusus yang melayani mekanisme transisinya , enkapsulasi dan dekapsulasi di lakukan antar gateway tunnel secara point– to– point.

Kelemahan Mekanisme Transisi Automatic Tunneling :
1. Tidak bisa diimplementasikan jika client transisi berada di dalam router NAT
2. Akan menyebabkan pertambahan delay ( waktu proses )
3. Rentan terhadap serangan DDOS.

Implementasi Mekanisme Automatic Tunneling

Untuk mempermudah pemahaman tentang konfigurasi dan implementasi mekanisme automatic tunneling maka akan dibuat contoh kasus konfigurasi sebagai berikut .

| pinguin1 |—-| CNC 1 |———|Router/Internet IPv4|——| CNC 2 | —– |pinguin2|

Misalkan dengan konfigurasi seperti gambar diatas dengan kondisi sebagai berikut :
– CNC 1 adalah PC Router dualstack dengan alokasi IPv4 adalah 202.120.120.1
Alokasi prefix IPv6 adalah : 2002:ca78:7801::/48
Alokasi alamat IPv6 adalah : 2002:ca78:7801::1/48
– Pinguin1 adalah host IPv6 dengan alokasi IPv6 2002:ca78:7801::2/48
– CNC 2 adalah PC Router dualstack dengan alokasi IPv4 adalah 202.81.81.2
Alokasi prefix IPv6 adalah : 2002:ca51:5102::/48
Alokasi alamat IPv6 adalah : 2002:ca51:5102::1/48
– Pinguin2 adalah host IPv6 dengan alokasi alamat IPv6 2002:ca51:5102::2/48

Untuk membangun sebuah sistem mekanisme transisi Automatic Tunneling diperlukan beberapa langkah -langkah yang harus dilakukan diantaranya :
1. Desain arsitektur sistem Automatic Tunneling
2. Implementasi 2 Automatic Tunelling gateway (Dual Stack )( dalam kasus diatas adalah PC CNC 1 dan CNC 2 )
3. Pengaturan Routing IPv6 pada gateway dan client Tunnel
4. Pengujian mekanisme Automatic Tunnell.

Perancangan arsitektur Sistem Automatic Tunelling.

Komponen peyusun sistem Automatic Tunneling terdiri dari: Tunnel Client IPv6 , dan 2 Router dualstack untuk gateway tunnel .Arsitektur sistem Automatic Tunneling adalah sebagai berikut :

Implementasi Gateway Tunneling pada CNC 1 (Dual Stack)

Tunneling Gateway pada buku ini akan diambil contoh dengan menggunakan sistem operasi Linux Redhat 9.0.

Untuk host CNC 1 harus dialokasikan dengan menggunakan alamat IPv6 global supaya dapat di routekan pada jaringan IPv6 dan Internet.Format alamat IPv6 untuk gateway tunnel dalah sebagai berikut :

2002 = prefix global
ca78:7801 = Alamat IPv4 dalam hexa ( 202.120.120.1 = ca78:7801 )

Supaya operating system kita mendukung IPv6 kita perlu instalasi modul IPv6 adapun perintah untuk aktivasi modulnya adalah:

# insmod ipv6

Misalkan yang terhubung ke jaringan IPv4 adalah interface eth0 dan yang terhubung ke clinet tunnel adalah eth1 .Setelah itu kita perlu konfigurasi alamat IPv4 yaitu dengan printah :

# ifconfig eth0 202.120.120.1 netmask 255.255.255.0 up

untuk pengecekan interface kita gunakan perintah :
# ifconfig eth0

Langkah selanjutnya adalah mengaktifkan interface untuk tunneling yang digunakan untuk membangun jembatan menembus jaringan IPv4.Aktivasinya dengan menggunkan perintah :

# ifconfig sit0 up

Dan konfigurasi address tunnelingnya adalah dengan format sebagai berikut :
:: address IPv4 host /prefix
Dalam implementasi gateway tunnel address IPv4 pada eth0 yang digunakan adalah 202.10.120.1 maka format address yang dimuncul pada interface sit0 pada CNC 1 adalah ::202.120.120.1 dengan prefix 96 .Biasanya alamat ini akan terkonfigurasi secara otomatic saat kita aktvasi sit0 .Untuk mengkonfigurasinya dapat dilakukan dengan perintah :

#ifconfig sit0 add ::202.120.120.1/96 up atau untuk menghapusnya digunakan
#ifconfig sit0 del ::202.120.120.1/96

untuk pengecekan interface sit0 kita gunakan perintah :

# ifconfig sit0

sit0 Link encap:IPv6-in-IPv4
inet6 addr: ::127.0.0.1/96 Scope:Unknown
inet6 addr: ::202.120.120.1/96 Scope:Compat
UP RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0)

Sehingga akan muncul tampilan diatas .Alamat ::202.120.120.1 adalah merupakan alamat IPv6 kompatibel IPv4.Yang biasanya alamat IPv6 compatibel IPv4 ini digunakan untuk interface – interface tunnel 6over4.

Selanjutnya kita konfigurasi alamat IPv6 pada interface eth1.Alamat IPv6 untuk eth1 harus menggunakan prefik yang tadi telah kita hitung yaitu : 2002:ca78:7801::1/48 .Perintah yang digunakan :

#ifconfig eth1 add 2002:ca78:7801::1/48 up

Untuk mengecek konfigurasinya kita gunakan :

# ifconfig eth1
Langkah yang terakhir untuk konfigurai gateway tunell CNC 1 ini adalah dengan mengkonfigurasi entri tabel routingnya ,inti table routingnya yaitu semua alamat yang bertujuan ke CNC 2 atau dengan prefix 2002:ca51:5102::/48 di lewatkan ke interface tunnel sit0 , yaitu dengan perintah:

#route –A inet6 add 2002:ca51:5102::/48 gw ::202.120.120.1 dev sit0

supaya gateway dapat memforward paket IPv6 maupun IPv4 maka perlu kita lakukan aktivasi IP forward pada system linux kita dengan perintah :

# echo “1” > /proc/sys/net/ipv4/conf/all/forwarding
# echo “1” > /proc/sys/net/ipv6/conf/all/forwarding

Untuk menghindari supaya tabel routingnya tidak berubah saat di reboot atau di matikan maka kita bisa meletakan beberapa script pada file /etc/rc.local.

/sbin/insmod ipv6
/sbin/ ifconfig eth0 add 2002:ca78:7801::1/48 up
/sbin/ifconfig sit0 up
/sbin/route –A inet6 add 2002:ca51:5102::/48 gw ::202.120.120.1 dev sit0
echo “1” > /proc/sys/net/ipv4/conf/all/forwarding
echo “1” > /proc/sys/net/ipv6/conf/all/forwarding

kemudian anda save .

Implementasi Gateway Tunneling CNC 2

Sama halnya dengan implementasi gateway tunnel CNC 1 .Gateway Tunnel CNC 2 mempunyai prinsip konfigurasi yang sama. Untuk alamat IPv6 yang dipakai

2002 : prefix global
ca51:5102 : Alamat IPv4 CNC 2 dalam hexa (202.81.81.2 = ca51:5102 )
Supaya operating system kita mendukung IPv6 kita perlu instalasi modul IPv6 adapun perintah untuk aktivasi modulnya adalah:

# insmod ipv6

Misalkan yang terhubung ke jaringan IPv4 adalah interface eth0 dan yang terhubung ke clinet tunnel adalah eth1 .Setelah itu kita perlu konfigurasi alamat IPv4 yaitu dengan printah :

# ifconfig eth0 202.81.81.2 netnmask 255.255.255.0 up

Seperti halnya konfigurasi pada gateway tunnel CNC 1 maka kita perlu aktivasi interface tunnel sit0 .

#ifconfig sit0 up

Dan kemudia kita lihat konfigurasi sit0

#ifconfig sit0

sit0 Link encap:IPv6-in-IPv4
inet6 addr: ::127.0.0.1/96 Scope:Unknown
inet6 addr: ::202.81.81.2/96 Scope:Compat
UP RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0)

Apabila inet6 address sudah terkonfigurasi alamat IPv6 compatibel IPv4 maka kita tidak perlu melakukan penambahan alamat pada interface sit0.

Setelah itu kita perlu konfigurasi untuk interface yang terhubung ke jaringan IPv6 client tunell yaitu interface eth1.Sesuai dengan perhitungan format address tunneling maka kita akan memasukan / mengkonfigurasi eth1 dengan alamat IPv6 2002:ca51.5102::1/48 .Adapun perintah yang digunakan :

#ifconfig eth1 add 2002:ca51.5102::1/48 up

Jangan lupa untuk konfigurasi gateway tunnel ini kita mengatur dan menambah entry table routing IPv6 . Agar paket yang bertujuan ke CNC 1 yaitu dengan prefix 2002:ca78:7801::/48 di lewatkan ke interface tunell.

#route –A inet6 add 2002:ca78:7801::/48 gw ::202.81.81.2 dev sit0
# echo “1” > /proc/sys/net/ipv4/conf/all/forwarding
# echo “1” > /proc/sys/net/ipv6/conf/all/forwarding

Untuk menghindari supaya tabel routingnya tidak berubah maka kita perlu meletakan beberapa script pada file /etc/rc.local.

/sbin/insmod ipv6
#ifconfig eth1 add 2002:ca51.5102::1/48 up
#route –A inet6 add 2002:ca78:7801::/48 gw ::202.81.81.2 dev sit0
# echo “1” > /proc/sys/net/ipv4/conf/all/forwarding
# echo “1” > /proc/sys/net/ipv6/conf/all/forwarding

Jangan lupa anda save .File yang ada pada /etc/rc.local akan di eksekusi setelah system linux selesai melakukan booting.

Implementasi Client tunnel Pinguin 1

Client tunnel Pinguin 1 berada dibawah layanan gateway tunnel CNC 1 , maka kita harus membuat alamat prefix dari Pinguin 1 ini sama dengan alamat prefix dari gateway tunnel CNC 1 . Yaitu 2002:ca78:7801::/48 , maka kita dapat mengalokasikan alamat untuk client tunnel Pinguin1 yaitu : 2002:ca78:7801::2/48 .Jangan lupa untuk mengatur routing IPv6 pada client tunnel ini .Semua paket yang bertujuan ke prefix CNC 2 kita lewatkan ke gateway tunnel.Kita dapat konfigurasi dengan perintah sebagai berikut :

#ifconfig eth0 add 2002:ca78:7801::2/48 up
#route –A inet6 add 2002:ca51:5102::/48 gw 2002:ca78:7801::1 dev eth0

Implementasi Client tunnel Pinguin 2

Client tunnel Pinguin 2 berada dibawah layanan gateway tunnel CNC 2 , maka kita harus membuat alamat prefix dari Pinguin 2 ini sama dengan alamat prefix dari gateway tunnel CNC 2 . Yaitu 2002:ca51:5102::/48 , maka kita dapat mengalokasikan alamat untuk client tunnel Pinguin2 yaitu : 2002:ca51:5102::2/48 .Jangan lupa untuk mengatur routing IPv6 pada client tunnel ini .Semua paket yang bertujuan ke prefix CNC 1 kita lewatkan ke gateway tunnel CNC 2.Kita dapat konfigurasi dengan perintah sebagai berikut :

#ifconfig eth0 add 2002:ca51:5101::2/48 up
#route –A inet6 add 2002:ca78:7801::/48 gw 2002:ca51:5102::1 dev eth0

Tahap pengujian konektivitas mekanisme Autmatic Tunnel

Untuk pengujian konektivitas kita bisa lakukan dengan program traceroute6 atau pun ping6.Pengecekan konektifitas sebaiknya dilakukan antar gateway tunnel dulu.

Misal dari Host CNC 1 , lakukan :
#ping6 :: 202.81.81.2
#ping6 2002:ca51.5102::1
#ping6 2002:ca51.5102::2

Dari host pinguin 1
#ping6 2002:ca51.5102::1
#ping6 2002:ca51.5102::2

Apabila semua sudah replay insyaallah konfigurasi tunneling kita sudah berjalan.Apabila kita tertarik menangkap dan menganalisa paket hasil enkapsulasi kita dapat melakukan snifer pada interface terluar dari gateway tunnel dalam hal ini eth0 pada host CNC 1 dan CNC 2.

penulis:

Wahidi Somad. biasa dipanggil Wahid ,Lahir di Klaten, 2 Mei 1981. Sekarang masih terdaftar sebagai mahasiswa tingkat akhir STT Telkom Bandung.Aktif dalam melakukan riset bersama SM dan Asisten Laboratorium Computer & Communications STT Telkom Bandung.Menjadi system administrator server pinguin.stttelkom.ac.id . Bidang kesukaan adalah Komunikasi data , networking , Linux , FreeBSD , IPv6 ,WLAN , Security Network dan VOIP (baru belajar). Kegiatan saat ini adalah menjadi asisten Lab.C&C Stttelkom , Asisten Dosen matakuliah Komunikasi Data ,Perangkat Keras & LAN , Jaringan Komunikasi Data dosen Gunawan Adi Sulistyo ,ST ( Boz Goen) dan menjadi tenaga Freeland pada CV.Technia Karya Abadi sebagai IT Engineer.

Informasi lebih lanjut tentang penulis ini bisa didapat melalui:
URL: http://wah.id.gg
URL: http://pinguin.stttelkom.ac.id
Email:ste99120[at]stttelkom.ac.id

Sumber blog : http://arqomalifh.multiply.com/journal/item/30

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: