Showing posts with label gns3. Show all posts
Showing posts with label gns3. Show all posts

Ahhh ACL, Access Control List

ACL atau Access Control List adalah sekumpulan aturan . Tujuannya untuk meningkatkan keamanan jaringan 
Pada keluarga *NIX/Linux dikenal dengan nama packet filtering / netfilter dengan software-nya yang populer, iptables.

Cara kerja ACL pada Cisco IOS
  1. Paket data yang masuk atau keluar akan dibandingkan dengan statement pertama dari access-list
  2. Jika paket data cocok, aksi akan dilakukan (permit atau deny). Proses berakhir untuk paket data.
  3. Jika tidak cocok, ulangi langkah 1 dan 2 dengan statement berikutnya (top - down processing)
  4. Jika paket data tidak cocok dibandingkan dengan seluruh baris accessl-list, paket akan di deny.

ACL dapat di kelompokkan menjadi 2 tipe
  • Standard ACL
  • Extended ACL
Pada gambar dibawah ini kita dapat melihat jenis ACL yang didukung oleh Cisco IOS versi 12.4. 
Cisco's Access Control List

Standard Access Control List 

Standar ACL akan menyaring paket data hanya berdasarkan Source IP Address atau subnet, pada dasarnya hanya membolehkan permit atau deny untuk seluruh paket data. Untuk ACL yang lebih fleksibel dapat menggunakan Extended ACL yang menyaring paket data berdasarkan source dan destination IP Address, source dan destination port, dan protokol TCP/IP seperti ICMP, UDP dan TCP, lebih jelasnya lihat disini.


Pada Cisco IOS, untuk membuat ACL yang kita lakukan adalah:
  1. Definisikan rule menggunakan perintah access-list.
  2. Langkah berikutnya, menerapkan rule -yang telah didefinisikan sebelumnya- pada interface menggunakan perintah access-group, dengan arah inbound atau outbound.

Sintaks ACL

access-list accesss-list number [permit | deny] [ip address | any] [wildcard mask(opt)]

access-list number 
Standard ACL nomor 1 sampai 99 dan 1300 - 1999
Extended ACL nomor 100 - 199  dan 2000-2099                             
wildcard mask  lihat disini

contoh:
access-list 1 permit 192.168.1.1 0.0.0.0
router(config)#interface fa0/0
router(config-int)#ip access-group 1 in

tergantung interface dan direction, jika acl diatas diterapkan pada interface fa0/0 dengan perintah "ip access-group 1 in " maka hanya traffic dari 192.168.1.1 yang diteruskan ke interface fa0/0 , jika menggunakan "ip access-group 1 out" maka hanya traffic dari 192.168.1.1 yang boleh keluar dari interface fa0/0.


Pedoman untuk membuat Access List

Design dan implementasi jaringan yang baik dapat menambah keamanan. Berikut beberapa hal yang perlu diperhatikan dalam mengkonfigurasi ACL
  • Pilih jenis ACL apakah standar atau extended berdasarkan kondisi 
  • ACL akan di eksekusi dari baris pertama sampai baris terakhir (top-down), sehingga jika baris pertama cocok, baris berikutnya tidak akan diproses. Buatlah sedemikian rupa sehingga aturannya dari spesifik ke general.
  • Hanya boleh satu ACL per interface, per protocol, per direction yang diijinkan.
  • Tempatkan Standard ACL sedekat mungkin dengan destination traffic , dan Extended ACL source sedekat mungkin dengan source traffic.
  • Ada statement deny all pada setiap acl yang kita buat, sehingga setiap acl setidaknya harus mempunyai satu statement permit, jika tidak semua traffic akan di deny / drop.

Monitoring Access Control List pada Cisco IOS

Perintah berikut ini berguna untuk memeriksa konfigurasi ACL
  • show access-list
  • show access-list access-list number
  • show ip access-list
  • show ip interface
  • show running-config 

Konfigurasi RIP dengan otentikasi

Ada beberapa cara untuk mengamankan jaringan komputer, menggunakan Access Control List, menggunakan password untuk otentikasi, tunnelling dll. Salah satu cara adalah mengamankan pertukaran informasi antara router, sehingga kita dapat memastikan bahwa informasi yang dimasukkan ke tabel routing valid. RIP versi 2 telah mendukung otentikasi.   Ada dua pilihan otentikasi plain-text atau md5. Pada cisco defaultnya adalah plain-text.
topologi jaringan
Router R1 dan R2 terkoneksi langsung melalui interface serial-nya. Menggunakan routing protocol RIP, kita ingin agar paket update yang dikirim dan diterima oleh router tersebut terotentikasi.
Konfigurasi interfase serial, agar kedua router terkoneksi

 Konfigurasi dasar Router R1

Konfigurasi dasar Router R2
Tes koneksi antar router

Konfigurasi RIP versi 2

Ok... sebelum melanjutkan pada konfigurasi otentikasi, kita kembali ke basic. Kita aktifkan RIP pada kedua router.
konfiurasi RIPv2 pada Router R1

konfiurasi RIPv2 pada Router R2

Verifikasi RIP

Pastikan bahwa kedua router telah saling bertukar informasi,
verify RIPv2 pada R1
verify RIPv2 pada R2


Setelah kita memastikan bahwa kedua router dapat mengirim dan menerima paket update, kita akan membuat key chain, key dan key string, yang akan digunakan untuk otentikasi.

Konfigurasi parameter otentikasi
konfigurasi key chain, key dan key string pada R1
konfigurasi key chain, key dan key string pada R2


catatan :
  • key chain "kunci" tidak perlu sama pada kedua router
  • nomor identifikasi "key 1" tidak perlu sama KECUALI menggunakan otentikasi md5
  • "key string p4ssw0rd " adalah password sebenarnya, harus sama pada kedua router

 

Konfigurasi plain-text otentikasi

konfigurasi plain-text pada R1
konfigurasi plain-text pada R2

 

Verifikasi plain-text otentikasi

debug ip rip
seperti kita lihat diatas, hasil dari perintah debug ip rip, passwordnya terlihat jelas. Pilihan labih baik adalah menggunakan otentikasi md5.

 

Konfigurasi dan verifikasi otentikasi md5

Mari kita setting otentikasi md5 pada Router R1, mengaktifkan debug pada Router R2 untuk melihat apa yang terjadi,

konfigurasi md5 pada R1

Pada Router R2, 
konfigurasi md5 pada R2

Pada hasil perintah "debug ip rip " , kita dapat melihat R2 mengabaikan paket update yang diterima dari Router R1 dengan informasi "(invalid authentication)". Kemudian kita setting otentikasi md5 pada Router R2, informasi paket update dapat saling diterima oleh kedua router seperti yang terlihat pada hasil "debug ip rip" di Router R1

Otentikasi md5 pada cisco router sangat mudah untuk dikonfigurasikan, seperti yang terlihat dari tutorial diatas.

Konfigurasi Dasar Routing Information Protocol (RIP)

Routing Information Protocol atau RIP adalah salah satu routing protokol yang tertua, yang menggunakan hop count sebagai routing metric-nya 

Karakter RIP  

  • Merupakan Distance Vector routing protocol murni
  • Hop Count sebagai metric untuk memilih rute terbaik 
  • Maksimum hop count adalah 15, hop ke 16 dianggap unreachable 
  • Mengirimkan update lengkap tabel routingnya pada semua interface yang aktif setiap 30 detik

Versi RIP


Terdapat tiga versi dari routing protocol RIP:
1. RIP Version 1
  • Clasfull routing protocol
2. RIP Version 2
    Sama sperti RIP v1 tetapi dengan tambahan fitur
  • Autentikasi MD5 
  • Support Classless IP Address
  • Menggunakan ip multicast 224.0.0.9 untuk update tabel routing-nya
3. RIPng  
  • Autentikasi menggunakan IPSec
  • Support IPv6
  • compatible RIPv2 tetapi tidak dengan RIPv1
  • menggunakan ip multicast FF02::9 untuk update


Konfigurasi Dasar

Konfigurasi RIP pada router Cisco sangat mudah dilakukan, hanya membutuhkan dua atau tiga perintah saja. Kita akan mencobanya menggunakan gns3. Gambar topologinya, topologi RIP
 ios: c2600-ipbase.bin

Router R1
R1(config)# router rip
R1(config-router)# ver 2
R1(config-router)# network 192.168.0.0
R1(config-router)# network 192.168.1.0
R1(config-router)# network 192.168.2.0
R1(config-router)#  passive-interface fa0/1
R1(config-router)# ^Z

Router R2  
R2(config)# router rip
R2(config-router)# ver 2
R2(config-router)# network 192.168.0.0
R2(config-router)# network 192.168.1.0
R2(config-router)# network 192.168.2.0
R2(config-router)# ^Z

Router R3
R3(config)# router rip
R3(config-router)# ver 2
R3(config-router)# network 192.168.0.0
R3(config-router)# network 192.168.1.0
R3(config-router)# network 192.168.2.0
R3(config-router)#  passive-interface fa0/1
R3(config-router)# ^Z  

passive-interface


Pada topologi diatas, R1 dan R3 dapat di kategorikan sebagai stub network, network yang hanya mempunyai satu jalur masuk / keluar. Apakah perlu untuk update paket RIP pada interface fa0/1 di R1 dan R3 ? Tentu tidak, karena percuma.
Untuk mencegah RIP mengirim paket update,  kita dapat menggunakan beberapa cara, salah satunya dengan menggunakan perintah passive-interface. Perintah ini akan membuat RIP menerima paket update, tapi tidak akan mengirim paket update. 

Konfigurasi telah selesai, kita akan mencoba ping dari host C1 ke host C2,
hasil ping

ping berhasil, yang menunjukkan ada koneksi antara C1 dan C2. Perintah - perintah berikut berguna jika terjadi error dalam RIP
  • show ip route
  • show ip protocol
  • debug ip rip

Wildcard Masking...

Pada Cisco IOS, Wildcard masking sering digunakan untuk beberapa keperluan, diantaranya access-list. Access-list tidak menggunakan subnet mask, begitu juga beberapa routing protokol seperti EIGRP, OSPF. Jadi bagaimana kita menggunakan wildcard masking?
Untuk memahami cara kerja dan bagaimana kita menggunakannya, ada aturan dasarnya :
  • bit 0 -- nilai cocok  
  • bit 1 -- nilai diabaikan  
Kita akan bermain subnet mask 255.255.255.0 dan bilangan binari
Ini adalah oktet pertama dari subnet 255.255.255.0 dalam bentuk bilangan binari, seperti yang kita lihat semua bit bernilai 1 yang akan membuat bilangan 255.
subnet 255




Ini juga oktet pertama dari subnet mask 255.255.255.0, tetapi sekarang menggunakan bit wildcard
wildcard_subnet_255




Jadi, jika kita harus menggunakan wildcard, kita balikkan saja bitnya, dari "on" ke "off" atau dari 0 ke 1 begitu pula sebaliknya dari "off" ke "on" atau dari 1 ke 0. 

Sudah jelas?
OK kita coba lagi dengan subnet mask 255.255.255.128, apa wildcardnya?
Saya hanya akan menunjukkan oktet ke 4 saja dalam bentuk binari.
128 = 10000000 
Ini adalah oktet ke-empat (128) dalam bentuk bit, kita balikkan bitnya
??? = 01111111
nilai 01111111 sama dengan 127 dalam bentuk desimal.
Jadi subnet mask 255.255.255.128 akan menjadi 0.0.0.127 dalam bentuk wildcard.

OK kita telah tahu bagaimana mencari wildcard masking, lalu  bagaimana menggunakannya?
Wildcard masking digunakan untuk :

1. Menentukan single host
Untuk menentukan single host, berarti setiap bit harus cocok dengan ip address. Bit yang mempunyai arti nilai cocok adalah bit 0. Sehingga wildcard mask untuk single host adalah 0.0.0.0

2. Menentukan subnet
Untuk subnet kita akan perlu untuk mencocokkan setiap bit pada bagian NETWORK
contoh aja biar jelas, misalkan ip 192.168.1.125/25. Notasi CIDR /25 = 255.255.255.128 sehingga wildcard masknya adalah 192.168.1.125 0.0.0.127

3. Jarak ip address / block size
Aturan yang sama berlaku 0-nilai cocok, 1-abaikan. Jika kita punya ip address 172.16.0.1 sampai 172.16.1.255, bagaimana menentukan wildcard masknya?
Kita pecah oktet ketiga
172.16.0.x  ------- binari 00000000
172.16.1.x  ------- binari 00000001
Kita ingin mencocokkkan bit yang ke-23. Subnet untuk /23 adalah 255.255.254.0 maka wildcard masknya adalah 0.0.1.255

Keren kan?

Setting DHCP pada Router Cisco

Jika kita membuat jaringan LAN dengan 10 - 20 komputer, kita akan dengan mudah memberi ip address pada setiap komputer. Bayangkan jika jumlah komputernya ratusan atau ribuan ? Tentu akan melelahkan mengerjakan pekerjaan yang sama berulang - ulang , dan akan menghabiskan banyak waktu hanya untuk memberi ip address pada setiap komputer. Ada cara yang lebih mudah dan efisien, yaitu menggunakan DHCP.

Apa itu DHCP ?


DHCP atau Dynamic Host Configuration Protocol adalah protokol yang digunakan untuk memudahkan pemberian ip address dalam satu jaringan. Penjelasan detail lihat disini

OK, cukup penjelasannya. Langsung saja praktek menggunakan gns3 dengan topologi jaringan seperti gambar dibawah ini...
topologi jaringan menggunakan DHCP
Langsung saja buka gns3, buat topologi seperti gambar diatas. Untuk PC menggunakan emulator vpcs. Ios c3640-jk9s-mz.124-16.bin

Konfigurasi pada router R1

R1(config)#service dhcp
R1(config)#ip dhcp excluded-address 192.168.0.1
R1(config)#ip dhcp excluded-address 172.16.0.254
R1(config)#ip dhcp pool 0
R1(dhcp-config)#network 192.168.0.0 /24
R1(dhcp-config)#default-router 192.168.0.1
R1(dhcp-config)#exit
R1(config)#ip dhcp pool 1
R1(dhcp-config)#network 172.16.0.0 /24
R1(dhcp-config)#default-router 172.16.0.254
R1(dhcp-config)#exit
R1(config)#


catatan :
service dhcp: mengaktifkan fitur dhcp pada router
ip dhcp excluded-address (ip-address): ip yang tidak dialokasikan untuk client dhcp
ip dhcp pool (name): nama unik untuk DHCP server
network: ip addres yang dialokasikan untuk client dhcp

Selanjutnya kita akan menguji apakah server DHCP sudah berfungsi dengan benar atau tidak. Jalankan vpcs dan ketikkan dhcp pada prompt vpcs. Untuk lebih jelas perhatikan gambar - gambar dibawah ini.

setting dhcp di vpcs

Komputer belum mempunyai ip address
perintah dhcp di vpcs

Pada prompt vpcs, beri perintah dhcp,
dhcp works

Semua komputer telah mendapatkan ip address.

Konfigurasi Static Routing dengan GNS3

Pada tutorial ini, kita akan menghubungkan dua -atau lebih- router dengan static route menggunakan GNS3.

Static route vs Dynamic route


Statis route adalah metode dimana network administrator memberitahu router kemana untuk mengirimkan lalu lintas paket data. Route statis sering digunakan jika hanya terdapat sedikit perangkat router atau hanya ada satu rute dari sumber ke tujuan. 
Sedangkan Dynamic route, menggunakan routing protokol (OSPF, EIGRP, BGP) untuk menentukan jalur terbaik dari sumber ke tujuan. Router  berkomunikasi dengan router lain menggunakan routing protocol. 

Sintaks untuk routing statis adalah :
ip route [destination-network] [mask] [next-hop-address | exit-interface]

ip route,  perintah untuk membuat stitis route
destination-network,  network yang akan kita masukkan dalam tabel routing
mask, subnet yang digunakan oleh destination-network
next-hop-address,  IP address dari router yang terhubung langsung (directly connected)
exit-interface,  interface router dimana paket akan keluar

Sekarang kita akan menggunakan contoh dalam konfigurasi routing statis. Misalkan perusahaan kita mempunyai 3 cabang yang terletak di lokasi yang berbeda. Sebagai seorang admin network tugas kalian menghubungkan 3 jaringan tersebut, sehingga karyawan dalam 3 LAN yang berbeda dapat saling berkomunikasi satu sama lain. Setelah pertimbangan matang, kalian memutuskan untuk menghubungkan mereka menggunakan routing statis.

Jalankan GNS3, tempatkan 3 router seperti pada gambar dibawah ini, disini menggunakan IOS c3640-jk9s-mz.124-16.bin. Kita menggunakan 3 Host yang mewakili LAN 
gambar Konfigurasi route statis dengan GNS3
network diagram


Konfigurasi awal pada ROUTER_1:

ROUTER_1(config)# no ip routing
ROUTER_1(config)# ip routing
ROUTER_1(config)# interface s1/0
ROUTER_1(config-if)# description Koneksi ke ROUTER_2
ROUTER_1(config-if)# ip address 172.16.0.1 255.255.255.252
ROUTER_1(config-if)# no shut
ROUTER_1(config-if)# interface fa0/0
ROUTER_1(config-if)# desc Koneksi ke LAN A
ROUTER_1(config-if)# ip add 192.168.0.1 255.255.255.0
ROUTER_1(config-if)# no shut
ROUTER_1(config-if)# exit

Konfigurasi pada ROUTER_2:

ROUTER_2(config)# no ip routing
ROUTER_2(config)# ip routing
ROUTER_2(config)# interface s1/0
ROUTER_2(config-if)# description Koneksi ke ROUTER_1
ROUTER_2(config-if)# ip address 172.16.0.2 255.255.255.252
ROUTER_2(config-if)# no shut
ROUTER_2(config-f)# interfaces s1/1
ROUTER_2(config-if)# desc Koneksi ke ROUTER_3
ROUTER_2(config-if)# ip address 172.16.1.1 255.255.255.252
ROUTER_2(config-if)# no shut   
ROUTER_2(config-if)# interface fa0/0
ROUTER_2(config-if)# desc Koneksi ke LAN B
ROUTER_2(config-if)# ip add 10.10.10.1 255.255.255.0
ROUTER_2(config-if)# no shut
ROUTER_2(config-if)# exit

Konfigurasi pada ROUTER_3:

ROUTER_3(config)# no ip routing
ROUTER_3(config)# ip routing
ROUTER_3(config)# interface s1/0
ROUTER_3(config-if)# description Koneksi ke ROUTER_2
ROUTER_3(config-if)# ip address 172.16.1.2 255.255.255.252
ROUTER_3(config-if)# no shut
ROUTER_3(config-if)# interface fa0/0
ROUTER_3(config-if)# desc Koneksi ke LAN C
ROUTER_3(config-if)# ip add 192.168.10.1 255.255.255.0
ROUTER_3(config-if)# no shut
ROUTER_3(config-if)# exit

Perhatikan perintah no ip routing, perintah ini berfungsi untuk membersihkan tabel routing, sedangkan perintah ip routing mengaktifkan kembali fungsi routing pada router. 
Sekarang kita cek tabel routing pada ROUTER_1, ROUTER_2 dan ROUTER_3 menggunakan perintah show ip route
Pada Router_1
ROUTER_1# show ip route
gambar show ip route ROUTER_1
Huruf C berarti "connected" atau "directly connected", terdapat 2 network yang terhubung langsung pada ROUTER_1 yaitu 172.16.0.0/30 dan 192.168.0.0/24.

Pada ROUTER_2
gambar show ip route ROUTER_2
 
 Pada ROUTER_3
gambar show ip route ROUTER_3

Pada ROUTER_1
ROUTER_1(config)#ip route 10.10.10.0 255.255.255.0 172.16.0.2
ROUTER_1(config)#ip route  192.168.10.0 .255.255.255.0 172.16.0.2
ROUTER_1(config)#ip route 172.16.1.0 255.255.255.252 172.16.0.2

Pada ROUTER_2
ROUTER_2(config)# ip route 192.168.0.0 255.255.255.0 172.16.0.1
ROUTER_2(config)# ip route 192.168.10.0 255.255.255.0 S1/1

Pada ROUTER_3
ROUTER_3(config)#ip route 10.10.10.0 255.255.255.0 172.16.1.1
ROUTER_3(config)#ip route 192.168.0.0 255.255.255.0 172.16.1.1 
ROUTER_3(config)#ip route 172.16.0.1 255.255.255.252 172.16.1.1

Sekarang kita akan mencoba tes koneksi menggunakan perintah ping
gambar hasil ping ROUTER_1
Pada ROUTER_2

gambar Hasil Ping ROUTER_2
Perhatikan pada ROUTER_2, setelah menambahkan perintah
ROUTER_2(config)# ip route 192.168.0.0 255.255.255.0 172.16.0.1
ROUTER_2(config)# ip route 192.168.10.0 255.255.255.0 S1/1

tabel router berisi
S 192.168.10.0/24 is directly connected, Serial1/1
S 192.168.0.0/24  [1/0] via 172.16.0.1

Huruf "S" memberitahukan kita, ini adalah statis route, network 192.168.10.0 dan 192.168.0.0 adalah tujuan kemana paket diteruskan, khusus network 192.168.0.0 router akan mengirim paket ke 172.16.0.1, sedangkan [1/0] 1 adalah administrative distance (AD) dan 0 adalah metric.
Router akan memperlakukan  route statis yang menunjuk ke interface, sama dengan directly connected, sehingga mempunyai AD 0,  yang tidak ditampilkan pada tabel routing.
Download file konfigurasi gns3 disini dan disini

Konfigurasi gns3 di Slackware 13.37

Konfigurasi Dynamips
Sebelum mengkonfigurasi gns3, kita buat dulu direktori untuk IOS Image dan project. 

$mkdir GNS
$cd GNS
$mkdir Images
$mkdir Project

Direktori Images untuk menyimpan Cisco IOS , sedangkan direktori Project untuk menyimpan hasil kerja kita.
Double-klik icon gns3 atau ketik "gns3" pada terminal. Jika ini kali pertama kalian menggunakan gns3, akan muncul jendela "Setup wizard" pilih tombol 1

gns3 setup wizard window's

Masukkan path direktori Project dan Images yang telah kita buat sebelumnya, seperti yang ditunjukkan pada kotak merah gambar dibawah ini


gns3 preference window's

Kemudian pada menu tab sebelah kiri pilih tab Dynamips. Pada kolom "Working directory"
pilih direktori Project yang telah dibuat sebelumnya . Klik tombol "Apply" dan klik tombol "Test" untuk mengetes konfigurasi dynamips. Jika muncul respon berwarna hijau bertuliskan "Dynamips succesfully started", berarti konfigurasi berhasil sesuai yang diharapkan. Jika gagal ulangi step - step diatas dan perhatikan path-nya.


gns3 dynamips

 


Menambah IOS Image

Sekarang pilih tombol ke 2 di jendela "Setup Wizard". Jika tidak muncul kita dapat mengaksesnya lewat Menu --> Edit --> IOS Images and hypervisor atau tekan tombol "Ctrl+Shift+I"
Akan muncul jendela IOS images and hypervisor seperti gambar dibawah ini.



IOS Image and hipervisor setting



Dibawah menu Setting, pilih tombol Image file disebelah kanan dan masukkan IOS image yang kita punya. Pada kasus saya c3725-adventerprisek9-mz.124.15.T5.image. Klik tombol Save. Pilih IOS Image lainnya jika punya dan ulangi step diatas. Jika telah selesai tekan tombol Close.


Konfigurasi nilai Idle-PC

Untuk memonitor CPU utilization kita dapat menggunakan program top yang ada di linux. Buka terminal ketikan top -d 1 
Drag router yang kita  telah kita assosiasikan, pada kasus saya c3725. Drag router pada area workspace. Pada tahap ini tidak disarankan untuk menekan tombol segitiga berwarna hijau,  karena dapat mengakibatkan CPU utilization mencapai 100% dan komputer mungkin crash/hang. Klik kanan pada router pilih "start" . Klik kanan lagi dan pilih "console" untuk mendapatkan "console". 
Klik kanan  lagi dan pilih idle PC


setting idle-pc gns3
 














Kita harus menunggu sebentar agar nilai Idle-PC dihitung, akan muncul logo gns3 sementara nilai ini dihitung.
Jika selesai dihitung akan muncul jendela dengan nilai idle-PC,pilih lah nilai idle-pc dengan tanda * (asteriks). Lihat http://forum.gns3.net/ untuk informasi lengkap tentang idle-pc.

Selesai sudah kita mengkonfigurasi dynamips, dan kita dapat belajar dengan lab cisco tanpa harus memiliki perangkatnya.


Happy studying and have fun !