02 May 2008

Zebra Quagga



Oleh : Shoim
Demi kemajuan bersama dan rasa terimakasih kepada penulis beri komentar setelah anda membaca/ mendownload tutorial penulis, cantumkan alamat website (http://linto.jmn.net.id ) penulis jika anda menyadur/mencopy artikel penulis. Mari kita majukan IT Indonesia. Semangat…
tidak dipungkiri statik routing sudah tidak mengatasi routing untuk yang kompleks. maka untuk routing jaringan network yang besar diperluk routing dynamic. biasanya applikasi routing untuk network besar/isp. salah satu software aplikasi yang sering digunakan adalah bernama quagga menyediakan feature untuk merouting berbagai protokol routing bgp,ospf,rip. kelebihannya adalah gratis karena berjalan di linux base
berikut konfigurasinya:
#untuk instalasi di gentoo
emerge quagga
#copykan semua dari /etc/quagga/sample ke /etc/quagga
localhost / # ls -l /etc/quagga/
total 16
-rw-r–r– 1 root root 570 Dec 3 22:14 bgpd.conf
-rw-r–r– 1 root root 182 Dec 3 22:15 ospfd.conf
-rw-r–r– 1 root root 410 Dec 3 21:30 ripd.conf
drwxr-xr-x 2 root root 352 Dec 3 21:31 samples
-rw-r–r– 1 root root 373 Dec 3 21:31 zebra.conf
#jalankan service
localhost / # /etc/init.d/zebra start
* Cleaning up stale zebra routes… …
Nothing to flush. [ ok ]
* Starting zebra … [ ok ]
localhost / #
#remote zebra/qugga anda(zebra adalah daemon quagga),user=zebra,password=zebra
localhost / # telnet localhost 2601
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
Hello, this is Quagga (version 0.98.6).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
Router> ena
Router> enable
Password:
Router#
#melihat config yang sedang berjalan
Router# show running-config
Current configuration:
!
hostname Router
password zebra
enable password zebra
!
interface eth0
ipv6 nd suppress-ra
!
interface lo
!
interface ra0
ipv6 nd suppress-ra
!
interface sit0
ipv6 nd suppress-ra
!
!
line vty
!
end
Router#
#ketikkan ? untuk melihat help perintah
Router#
configure Configuration from vty interface
copy Copy configuration
debug Debugging functions (see also ‘undebug’)
disable Turn off privileged mode command
echo Echo a message back to the vty
end End current mode and change to enable mode.
exit Exit current mode and down to previous mode
help Description of the interactive help system
list Print command list
logmsg Send a message to enabled logging destinations
no Negate a command or set its defaults
quit Exit current mode and down to previous mode
show Show running system information
terminal Set terminal line parameters
who Display who is on vty
write Write running configuration to memory, network, or terminal
Router#
#untuk melakukan konfigurasi masuk configure terminal
Router# configure terminal
Router(config)# se
Router(config)# ho
Router(config)# hostname Router-Linto
Router-Linto(config)#
#melihat routing
Router-Linto# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
K>* 0.0.0.0/0 via 192.168.1.1, eth0
K * 127.0.0.0/8 is directly connected, lo
C>* 127.0.0.0/8 is directly connected, lo
K * 192.168.1.0/24 is directly connected, eth0
C>* 192.168.1.0/24 is directly connected, eth0
Router-Linto#
#melihat interface
Router-Linto# show interface
Interface eth0 is up, line protocol detection is disabled
index 3 metric 1 mtu 1500
HWaddr: 00:40:d0:90:d5:42
inet 192.168.1.162/24 broadcast 192.168.1.255
inet6 fe80::240:d0ff:fe90:d542/64
input packets 36075, bytes 26396036, dropped 0, multicast packets 0
input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
output packets 20558, bytes 2108338, dropped 0
output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
collisions 0
Interface lo is up, line protocol detection is disabled
index 1 metric 1 mtu 16436
inet 127.0.0.1/8
inet6 ::1/128
input packets 4640, bytes 220476, dropped 0, multicast packets 0
input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
output packets 4640, bytes 220476, dropped 0
output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
collisions 0
Interface ra0 is down
index 4 metric 1 mtu 1500
HWaddr: 00:10:60:65:7e:31
input packets 0, bytes 0, dropped 0, multicast packets 0
input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
output packets 0, bytes 0, dropped 0
output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
collisions 0
Interface sit0 is down
index 2 metric 1 mtu 1480
input packets 0, bytes 0, dropped 0, multicast packets 0
input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
output packets 0, bytes 0, dropped 0
output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
collisions 0
Router-Linto#
#

Perbedaan Hub dan Switch

Di bidang jaringan komputer seringkali kita mendengar kata hub dan switch, bentuknya mirip dan fungsinya dasarnya juga sama yaitu untuk transfer data dari dan ke komputer-komputer dalam suatu jaringan.
Dari tampak luar, sebuah hub atau switch terlihat sama, keduanya memiliki jack RJ-45 untuk berhubungan dengan suatu device. Sebelum berbicara mengenai mengenai perbedaan antara keduanya maka ada baiknya kita lihat sejenak mengenai keterbatasan suatu (non switched) ethernet, yaitu hanya satu device yang dapat mentransmit data ke suatu segment pada suatu waktu tertentu. Jika lebih dari satu device berusaha mentransmit data pada waktu yang bersamaan maka akan terjadilah collision. Setelah collision terjadi maka setiap device tadi harus melakukan proses pengiriman data kembali (re-transmit). Dapat dibayangkan jika jumlah segment dalam jaringan semakin bertambah maka otomatis kemungkinan akan terjadinya collision akan semakin besar, dan karena akibat collision ini semua device akan melakukan proses re-transmit maka otomatis traffic jaringan akan menjadi relatif lebih lambat.
Sebelum ditemukannya teknologi switch, suatu jaringan dapat dibagi-bagi ke dalam beberapa segment dengan suatu device yang dinamakan bridge. Bridge memiliki dua buah port ethernet. Jika ada traffic ke dalam jaringan maka secara otomatis bridge akan mengamati device-device yang terlibat di dalamnya dari kedua sisi (melihat berdasarkan MAC address-nya). Bridge kemudian akan mampu membuat keputusan untuk mem-forward atau tidak mem-forward setiap paket data menuju ke device tujuan.

Kenapa Switch Lebih Baik?
Di dalam hub tidak ada proses apa-apa dalam menangani traffic jaringan. Hub hanya mengulang sinyal yang masuk ke seluruh port yang ada pada hub tersebut. Ini akan sangat berbeda dengan switch, di dalam switch setiap port berfungsi juga sebagai suatu bridge. Jika suatu port terhubung dengan suatu device maka secara prinsipal setiap device akan bersifat independen terhadap device lainnya.
Perbedaan lainnya lagi adalah bahwa 10/100 ethernet hub hanya bekerja secara half-duplex, ini artinya adalah sebuah device hanya dapat mengirim atau menerima data pada suatu waktu tertentu. Switch mampu bekerja secara full-duplex yang artinya mampu menerima dan mengirimkan data pada saat yang bersamaan.

Sebagai contoh misalnya ada suatu switch yang pada port-nya terpasang beberapa device berikut ini:
- Computer 1
- Computer 2
- Computer 3
- Printer
- File Server
- Uplink ke internet

Pada kasus ini, Computer 1 dapat melakukan proses print (cetak) dokumen, sementara itu Computer 2 bisa mengakses file server, dan sementara itu pula Computer 3 dapat melakukan akses ke Internet. Ini semua bisa dilakukan karena switch dapat secara pintar melakukan forward traffic paket data khusus hanya kepada device-device yang terlibat saja. Ini juga yang disebut dengan hubungan antar device yang simultan dan bersifat independen. Jadi kesimpulannya di dalam switch terdapat suatu mekanisme filtering dan forwarding terhadap traffic jaringan yang melewatinya.

ZEBRA

Routing....., mungkin orang awam seperti saya belom mengerti apa itu routing, tetapi bagi seorang admin jaringan pasti sudah sangat mengenal kata routing tsb.
Routing selalu berhubungan dengan Router dan Router bagi banyak orang akan identik dengan Cisco, 3Com, DLink dan banyak lagi yang ada dipasaran. Dan tentunya dengan harga yang sangat mahal ukuran saya yang hanya ada di dompet duit recehan melulu :)
Tapi nggak usah takut ada Zebra yang siap sebagai dewa penolong. Sebelum terlalu jauh ada baiknya kita ulas sedikit apa itu zebra
Zebra adalah sebuah applikasi yang dipasangakan pada sistem operasi unix, linux atau bsd yang dapat menangani tugas routing.
Zebra mensupport banyak protokol routing RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, and BGP-4+, Zebra juga mendukung BGP Route Reflector dan Route Server baik yang berjalan pada IPv4 routing protocols maupun IPv6 routing protocols disamping itu Zebra juga mendukung SNMP.

Mengapa Zebra dikatakan sebagai dewa penolong :)
Zebra berada di bawah lisensi GNU (free)
Zebra dapat mengurangi biaya pembelian router :)

OK, sekarang kita akan coba install applikasi zebra di mesin linux, saya gunakan linux Redhat 9.0
Dalam installasi Zebra ada 7 tahap yang harus kita lakukan
1. D/L source zebra dari sitenya www.zebra.org/download, ambil versi stabel terakhir.
2. Bongkar arsip paket zebra
3. Configure zebra
4. Build zebra
5. install zebra


misal paket zebra ada di dir /home/belog
tar xzpf zebra-0.94.tar.gz

asumsi masih ada di dir /home/belog
langkah ini akan membentuk sebuah dir baru dengan nama zebra -0.94
cd zebra-0.94
./configure --sysconfdir=/etc/zebra --prefix=/usr/local/zebra \
--disable-ipv6 \
--enable-tcp-zebra

untuk option able dan disable ini silahkan baca manualnya zebra disitenya.

langkah 6
Pastikan langkah 5 tidak ada pesan kesalahan, setelah itu lakukan building applikasi zebra dengan perintah :
make

langkah 7
Pastikan langkah 6 tidak ada pesan error, setelah itu kita akan menginstall appikasi zebra dengan perintah
make install

jika isntallasi sukses maka di dir /etc/zebra akan ada file
zebra.conf.sample
ripd.conf.sample
osfpd.conf.sample
bgpd.conf.sample

lalu rubah file tersebut menjadi :
mv zebra.conf.sample zebra.conf
mv ripd.conf.sample ripd.conf
mv osfpd.conf.sample ospfd.conf
mv bgpd.conf.sample bgpd.conf

karena saya menggunakan redhat, maka saya harus mengcopy beberapa file init agar zebra dapat up begitu pc saya restart
cp /home/zebra-0.94/init/redhat/zebra.init /etc/rc.d/init.d/zebra
cp /home/zebra-0.94/init/redhat/ripd.init /etc/rc.d/init.d/ripd
cp /home/zebra-0.94/init/redhat/ospfd.init /etc/rc.d/init.d/ospfd
cp /home/zebra-0.94/init/redhat/bgpd.init /etc/rc.d/init.d/bgpd
chmod 755 /etc/rc.d/init.d/*

langkah diatas juga berlaku buat yang menggunakan distro suse dan mandrake
untuk distro lain, tinggal tambahkan di file /etc/rc.d/rc.local

disamping itu kita juga harus mengedit file /etc/services
vi /etc/services

tambahkan baris berikut

zebrasrv 2600/tcp
zebra 2601/tcp
ripd 2602/tcp
ripng 2603/tcp
ospfd 2604/tcp
bgpd 2605/tcp
ospf6d 2606/tcp

sampai disini, sepertinya zebra sudah siap
sekarang tinggal menjalankan applikasi zebra

jika sudah jalan coba lakukan perintah
netstat -ptan
maka hasilnya spt ini
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:2600 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2601 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2602 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:520 0.0.0.0:*

zebra udah jalan mas :) tinggal di konfigurasi
file configurasinya ada di /etc/zebra/zebra.conf

kira kira isinya spt ini :
!
! Zebra configuration file
!
hostname Router
password zebra
enable password zebra
!
log stdout
!
!


untuk perintah perintah zebra, tdk berbeda dengan perintah IOS Cisco, saya saya saran untuk detailnya silahkan kunjungi sitenya zebra atau cisco.

dibawah ini saya sertakan konfigurasi dinamik routing dengan menggunakan RIP ver 2

interface Loopback0
ip address 10.10.10.1 255.255.255.0
!
interface Ethernet0
ip address 192.168.1.1 255.255.255.0
!
router rip
version 2
network 10.0.0.0
network 192.168.1.0
no auto-summary