Top Banner
Rizal Paresmana Eepis-its [email protected] Implementasi IPv6 pada FreeBSD Pendahuluan Alasan utama untuk mulai beralih ke IPv6 adalah terbatasnya ruang pengalamatan. Pada masa sekarang ini bukan komputer saja yang terhubung ke internet namun peralatan sehari-hari seperti telepon seluler, PDA, home appliances, dan sebagainya juga terhubungkan ke internet, dapatkan anda bayangkan seberapa banyak alamat IP yang dibutuhkan untuk menghubungkan semua itu ke internet. Arsitektur IPv6 Header IPv6 didesain mempunyai lebih sedikit field dibandingkan dengan IPv4, panjang header yang selalu tetap, dan fragmentasi yang terbatas pada paket IPv6 yang terbatas akan membuat router menjadi lebih cepat dalam memproses paket IPv6. Gambar 1. Header IPv6
15

Ipv6 On Free Bsd

May 19, 2015

Download

Technology

Ikhsan Khanifan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ipv6 On Free Bsd

Rizal [email protected]

Implementasi IPv6 pada FreeBSD

Pendahuluan

Alasan utama untuk mulai beralih ke IPv6 adalah terbatasnya ruang pengalamatan. Pada masa sekarang ini bukan komputer saja yang terhubung ke internet namun peralatan sehari-hari seperti telepon seluler, PDA, home appliances, dan sebagainya juga terhubungkan ke internet, dapatkan anda bayangkan seberapa banyak alamat IP yang dibutuhkan untuk menghubungkan semua itu ke internet.

Arsitektur IPv6

Header IPv6 didesain mempunyai lebih sedikit field dibandingkan dengan IPv4, panjang header yang selalu tetap, dan fragmentasi yang terbatas pada paket IPv6 yang terbatas akan membuat router menjadi lebih cepat dalam memproses paket IPv6.

Gambar 1. Header IPv6

Page 2: Ipv6 On Free Bsd

Gambar 2. Header IPv4

Header IPv6 mempunyai panjang yang tetap sebesar 40 bytes. Fields dalam header IPv6 dijelaskan sebagai berikut:

Field Version digunakan untuk menandai versi dari IP yang digunakan. Dalam IPv6 field ini berisi angka 6. Panjang field ini 4 bit.

Field Traffic Class untuk menandai kelas atau prioritas dari paket IPv6. Ukuran field ini 8 bit.

Field Flow Label untuk menandai bahwa paket tersebut dimiliki oleh urutan spesifik tertentu dari paket IPv6 antara asal dan tujuan. Field ini digunakan untuk aplikasi tertentu seperti aplikasi data real-time.

Field Payload Length untuk menandai panjang dari payload. Field Next Header menandai tambahan header pertama jika ada atau jenis

protokol pada lapisan atas PDU (Protokol Data Unit). Field Externsion Header digunakan untuk tambahan fungsionalitas yang

dibutuhkan seperti security dan sebagainya. Field Hop Limit untuk menandai maksimum hop yang dapat digunakan oleh

IPv6 dalam lalu lintas internet. Field Source Address digunakan untuk menyimpan alamat IPv6 dari host

asal. Ukuran field ini 128 bit. Field Destination Adddress digunakan untuk menyimpan alamat IPv6 dari

host tujuan. Ukuran field ini 128 bit.

Mekanisme Transisi

Ada beberapa mekanisme transisi dari IPv4 ke IPv6. Berdasarkan draft IETF draft-ietf-v6ops-mech-v2-00.txt Mekanisme tersebut adalah:

Dual IP layer Tunneling

Dual IP layer adalah sebuah cara dimana host dan router secara lengkap mendukung protokol IPv4 dan IPv6.Tunneling adalah sebuah cara melakukan koneksi point-to-point dimana paket IPv6 ditumpangkan dalam header paket IPv4 melalui infrastruktur routing IPv4.

Page 3: Ipv6 On Free Bsd

Pada praktiknya kedua hal tersebut bisa dilakukan secara bersama atau masing-masing tergantung situasi setempat. Contohnya adalah bisa sebuah universitas belum mempunyai jaringan yang mendukung IPv6 ke internet maka universitas tersebut harus melakukan tunneling dahulu ke penyedia jaringan IPv6, baru kemudian menjalankan teknik Dual IP Layer.

Beberapa teknik yang biasa digunakan untuk tunneling adalah 6over4 dan 6to4.

Gambar 3. Dual IP layer

Gambar 4. Enkapsulasi IPv6 – IPv4

Implementasi pada FreeBSD

Sistem Operasi FreeBSD mendukung dual stack (IPv4 dan IPv6 sekaligus) sehingga ini sangat menguntungkan pada masa-masa transisi. Secara default IPv6 stack telah terinstall pada sistem operasi FreeBSD, baik FreeBSD-4.x maupun FreeBSD-5.x, selain itu aplikasi dasar pada FreeBSD juga sudah mendukung IPv6 seperti: ftp/ftpd, ssh/sshd, telnet/telnetd, sendmail. Sedangkan aplikasi tambahan lainnya juga sudah

Page 4: Ipv6 On Free Bsd

mendukung IPv6 yang dapat diinstall melalui mekanisme ports, seperti httpd-2.0, thttpd, exim, courirer-imap, dan lain lain. Lebih lengkapnya dapat dilihat pada halaman web: http://www.freebsd.org/ports/ipv6.html

Kernel FreeBSD

Meskipun secara default installasi awal FreeBSD-4.x atau FreeBSD-5.x sudah mendukung IPv6, namun ada baiknya pembaca mengetahui options yang digunakan pada konfigurasi kernel FreeBSD. Options yang perlu diperhatikan pada kernel FreeBSD adalah:

OPTIONS INET6 #IPv6 communications protocolsOPTIONS IPSEC #IP Securitydevice gif #IPv6 and IPv4 tunnelingdevice stf #6to4 tunneling

Bagian yang lain mungkin dibutuhkan adalah firewall menggunakan ipfw (8) namunbila tidak dibutuhkan sebaiknya options berikut ini tidak dimasukkan dalam konfigurasi kernel :OPTIONS IPV6FIREWALLOPTIONS IPV6FIREWALL_VERBOSEOPTIONS IPV6FIREWALL_DEFAULT_TO_ACCEP

Kami menambahkan konfigurasi berikut dalam konfigurasi kernel :

ident IPV6 # sesuikan dengan nama kernel

device gif # IPv6 and IPv4 tunnelingdevice stf # 6to4 tunneling

options INET6 # IPV6 communications protocoloptions IPSEC # IP Security

# option FIREWALL IPv6options IPV6FIREWALLoptions IPV6FIREWALL_VERBOSEoptions IPV6FIREWALL_DEFAULT_TO_ACCEPT

# option FIREWALL IPv4options IPFIREWALL

options IPFIREWALL_VERBOSEoptions IPFIREWALL_DEFAULT_TO_ACCEPT

Setelah konfigurasi kernel, perlu untuk mengedit file /etc/rc.conf sebagai berikut:ipv6_enable = “YES”

Tunneling pada FreeBSD

Bila menggunakan 6over4 tunneling pada FreeBSD maka FreeBSD telah menyediakan pseudo-device gif untuk keperluan ini. 6over4 disebut juga sebagai configured tunneling. Disebut configured tunneling karena harus mendefinisikan alamat IPv4 dari sisi client dan sisi ISP, selain itu juga harus mendefinisikan alamat IPv6 dari sisi client dan sisi ISP. Untuk keperluan 6over4 ini penyedia tunnel atau disebut juga tunnel broker antara lain:

Page 5: Ipv6 On Free Bsd

http://www.freenet6.net http://ipv6tb.he.net

Bila menggunakan 6to4 tunneling pada FreeBSD maka FreeBSD telah menyediakanpseudo-device stf untuk keperluan 6to4. 6to4 disebut juga automatic tunneling karenasisi client cukup mengkonfigurasi alamat IPv6 nya sendiri lalu mencari router 6to4publik yang terdapat di internet sebagai gateway. Menurut RFC 3056 alamat IPv6 untuk keperluan 6to4 ini adalah 2002::/16 dan untuk keperluan 6to4 ini alanat IPv4 client disisipkan dalam prefix 2002::/16 tersebut, sehingga notasinya adalah 2002:V4Adress::/48. Sebagai contoh bila alamat IPv4 adalah 167.205.25.15 makaalamat IPv6 untuk keperluan 6to4 adalah: 2002:A7CD:190F::1, ::1 pada bit terakhirdigunakan untuk mempermudah pengalamatan saja pada interface-id. A7CD190F sendiri didapat dari konversi 167.205.25.15 kedalam hexadesimal. Daftar 6to4 router publik dapat dilihat pada halaman web: http://www.kfu.com/~nsayer/6to4/

kami hanya akan mengimplementasikan 6over4 tunneling, untuk itu kita harus mendaftar terlebih dahulu ke penyedia tunnel / tunnelbroker. Kami telah mendaftar di http://ipv6tb.he.net dan mendapat account sebagai berikut :

Account: rizal

Tunnel Information: Server IPv4 address: 64.71.128.83Server IPv6 address: 2001:470:1F01:FFFF::17FE/127Client IPv4 address: 202.154.185.12 Client IPv6 address: 2001:470:1F01:FFFF::17FF/127Assigned /64: 2001:470:1F01:3171::/64 ASN: NoneLast Ping6: none Last Inbound Packet: Tue, Aug 22 9:20 pm PDTRegistration Date: Mon, Aug 21, 2006

Edit /etc/rc.conf

#usbd_enable="YES"sshd_enable="YES"named_enable="YES"network_interfaces="auto"hostname="iwan.fbm.net"ifconfig_lnc0="inet 202.154.185.12 netmask 255.255.255.248"ifconfig_lnc1="inet 192.168.0.254 netmask 255.255.255.0"defaultrouter="202.154.185.9"gateway_inable="YES"#inetd_enable="YES"

firewall_enable="YES"firewall_script="/etc/rc.firewall"

##Options IPv6ipv6_enable="YES"ipv6_nerwork_interfaces="auto"ipv6_defaultrouter="2001:470:1F01:FFFF::17FE"ipv6_router_enable="YES"ipv6_router="/usr/sbin/route6d"ipv6_gateway_enable="YES"

Page 6: Ipv6 On Free Bsd

rtadvd_enable="YES"rtadvd_interfaces="lnc1"ipv6_ifconfig_lnc1="2001:470:1F01:3171::1 prefixlen 64"ipv6_prefix_lnc1="2001:470:1F01:3171"gif_interfaces="gif0 gif1 gif2 gif3"gifconfig_gif0="202.154.185.12 64.71.128.83"ipv6_ifconfig_gif0="2001:470:1F01:FFFF::17FF"

ipv6_firewall_enable="YES"ipv6_firewall_script="/etc/rc.firewall6"

restart komputerlakukan pengetesan di mesin tunnel :

Pengetesan di client windowsXp :

Network konfigurasi

Page 7: Ipv6 On Free Bsd

Install Ipv6 dan test Ipv6 :

Test http lewat browser Firefox :

Page 8: Ipv6 On Free Bsd

Test koneksi client (2001:470:1f01:3171:4d:2d86:c493:2e16)dari luar:

Page 9: Ipv6 On Free Bsd

Perbandingan Hasil traceroute menggunakan Ipv6 dan Ipv4

HOP yang dilalui dengan traceroute6 hanya diperlukan 10 hop, tetapi apabila menggunakan traceroute dari IPv4 memerlukan 17 hop.

Implementasi DNS menngunakan Ipv6.

Konfigurasi /etc/namedb/named.conf

options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats";// listen-on-v6 { 2001:470:1f01:3171::1;}; listen-on-v6 { any;};// listen-on { 127.0.0.1; };/* forwarders { 127.0.0.1; };*/};

zone "." { type hint; file "named.root";};

zone "0.0.127.IN-ADDR.ARPA" { type master; file "master/localhost.rev";};

// RFC 3152

Page 10: Ipv6 On Free Bsd

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" { type master; file "master/localhost-v6.rev";};

// RFC 1886 -- deprecatedzone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" { type master; file "master/localhost-v6.rev";};

zone "168.192.in-addr.arpa" { type master; file "master/fbm.rev";};

zone "ipv6.fbm.net" { type master; file "master/ipv6.fbm.zone";};

zone "1.7.1.3.1.0.f.1.0.7.4.0.1.0.0.2.ip6.int"{ type master; file "master/ipv6.fbm.rev"; allow-transfer{ none; };};

key "rndc-key" { algorithm hmac-md5; secret "a0shZOJU9sXbGK3pEr2+3Q==";};

controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };};# End of named.conf

/etc/namedb/master/ipv6.fbm.zone$TTL 3600

@ IN SOA ipv6.fbm.net. root.ipv6.fbm.net. ( 0609161300 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ipv6.fbm.net. IN MX 10 mail.ipv6.fbm.net.$ORIGIN ipv6.fbm.net.ns IN A 192.168.0.254ns IN AAAA 2001:470:1F01:3171::1

mail IN CNAME nswww IN CNAME ns

Page 11: Ipv6 On Free Bsd

/etc/namedb/master/ipv6.fbm.rev$TTL 3600

@ IN SOA ipv6.fbm.net. root.ipv6.fbm.net. ( 0609161300 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ipv6.fbm.net.$ORIGIN 1.7.1.3.1.0.F.1.0.7.4.0.1.0.0.2.ip6.int.

1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ns.

/etc/namedb/master/fbm.rev$TTL 3600

@ IN SOA ipv6.fbm.net. root.ipv6.fbm.net. ( 0609161300 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ipv6.fbm.net.

254.0 IN PTR ns.

edit file resolve

/etc/resolv.confdomain ipv6.fbm.netnameserver 202.154.185.12nameserver 2001:470:1f01:3171::1

Pengujian DNS server

# /etc/rc.d/named startStarting named.# nslookup> set type=any> nsServer: 202.154.185.12Address: 202.154.185.12#53

Name: ns.ipv6.fbm.netAddress: 192.168.0.254ns.ipv6.fbm.net has AAAA address 2001:470:1f01:3171::1>

Implementasi WEB Server Ipv6 menggunakan Apache2

Ipv6 sudah didukung pada apache2 (www.apache.org ).Installasi

# ./configure --prefix=/www --enable-module=most# make && make install

Page 12: Ipv6 On Free Bsd

Pengujian

Jalankan apache

# /www/bin/apachectl start

Buka www.ipv6.fbm.net dari client ipv6

Periksa access_log

# cd /www/logs/# tail access_log192.168.0.1 - - [15/Sep/2006:12:23:43 +0700] "GET /favicon.ico HTTP/1.1" 404 209192.168.0.1 - - [16/Sep/2006:07:11:49 +0700] "GET / HTTP/1.1" 200 44192.168.0.1 - - [16/Sep/2006:07:11:49 +0700] "GET /favicon.ico HTTP/1.1" 404 209192.168.0.1 - - [16/Sep/2006:07:13:18 +0700] "GET / HTTP/1.1" 200 44192.168.0.1 - - [16/Sep/2006:07:13:18 +0700] "GET /favicon.ico HTTP/1.1" 404 2092001:470:1f01:3171:4d:2d86:c493:2e16 - - [16/Sep/2006:07:18:43 +0700] "GET / HTTP/1.1" 200 442001:470:1f01:3171:4d:2d86:c493:2e16 - - [16/Sep/2006:07:18:43 +0700] "GET /favicon.ico HTTP/1.1" 404 2092001:470:1f01:3171:4d:2d86:c493:2e16 - - [16/Sep/2006:07:19:05 +0700] "GET /favicon.ico HTTP/1.1" 404 2092001:470:1f01:3171:85e6:15ad:f60b:a257 - - [16/Sep/2006:14:51:33 +0700] "GET / HTTP/1.1" 200 442001:470:1f01:3171:85e6:15ad:f60b:a257 - - [16/Sep/2006:14:51:33 +0700] "GET /favicon.ico HTTP/1.1" 404 209#

[ 2001:470:1f01:3171:85e6:15ad:f60b:a257 ] ini adalah ip client yang telah mengakses Web server