Friday, 27 January 2017

Lab. 18 Superlab Mikrotik

Assalamualaikum,

Pada kali ini saya akan melanjutkan materi routing yang sebelumnya saya telah memposting materi mengenai routing juga yaitu pada Lab. 17 Superlab Mikrotik. Oke langsung saja, berikut topologi yang akan saya gunakan.


Dan materi yang akan dibahas pada lab ini adalah sebagai berikut.
  1. BGP Confederation 
  2. BGP Nexthop Self
  3. BGP Multihop 
  4. BGP Multihoming
  5. BGP Path Selection ( Weight, Prepend, Local Preference )
Konfigurasi

Pertama tama, tambahkan ip address pada setiap interface yang ada pada router. 
[admin@R5] > /ip address
add address=1.1.5.2/30 disabled=no interface=ether1 network=1.1.5.0
[admin@R6] > /ip address
add address=1.1.6.2/30 disabled=no interface=ether1 network=1.1.6.0
[admin@R7] > /ip address
add address=1.1.5.1/30 disabled=no interface=ether4 network=1.1.5.0
add address=1.1.6.1/30 disabled=no interface=ether3 network=1.1.6.0
add address=1.1.7.2/30 disabled=no interface=ether1 network=1.1.7.0
add address=2.2.7.2/30 disabled=no interface=ether2 network=2.2.7.0
[admin@R9] > /ip address
add address=1.1.9.2/30 disabled=no interface=ether1 network=1.1.9.0
[admin@R10] > /ip address
add address=1.1.10.2/30 disabled=no interface=ether1 network=1.1.10.0
[admin@R8] > /ip address
add address=1.1.8.2/30 disabled=no interface=ether1 network=1.1.8.0
add address=2.2.8.2/30 disabled=no interface=ether2 network=2.2.8.0
add address=1.1.9.1/30 disabled=no interface=ether3 network=1.1.9.0
add address=1.1.10.1/30 disabled=no interface=ether4 network=1.1.10.0
[admin@R1] > /ip address
add address=1.1.7.1/30 disabled=no interface=ether1 network=1.1.7.0
add address=1.1.2.1/30 disabled=no interface=ether2 network=1.1.2.0
[admin@R2] > /ip address
add address=1.1.2.2/30 disabled=no interface=ether1 network=1.1.2.0
add address=1.1.8.1/30 disabled=no interface=ether2 network=1.1.8.0
[admin@R3] > /ip address
add address=2.2.7.1/30 disabled=no interface=ether1 network=2.2.7.0
add address=2.2.4.1/30 disabled=no interface=ether2 network=2.2.4.0
[admin@R4] > /ip address
add address=2.2.4.2/30 disabled=no interface=ether1 network=2.2.4.0
add address=2.2.8.1/30 disabled=no interface=ether2 network=2.2.8.0
Setelah itu, konfigurasi BGP Instance pada router yang berada pada AS100 dan AS200.
[admin@R1] > /routing bgp instance
set default as=100 client-to-client-reflection=yes router-id=0.0.0.1
[admin@R2] > /routing bgp instance
set default as=100 client-to-client-reflection=yes router-id=0.0.0.2
[admin@R3] > /routing bgp instance
set default as=200 client-to-client-reflection=yes router-id=0.0.0.3 
[admin@R4] > /routing bgp instance
set default as=200 client-to-client-reflection=yes router-id=0.0.0.4
Selanjutnya baru lakukan konfigurasi pada router yang berada pada blok sebelah kanan dan kiri.
[admin@R5] > /routing bgp instance
set default as=5 client-to-client-reflection=yes confederation=7 confederation-peers=7 router-id=0.0.0.5
[admin@R6] > /routing bgp instance
set default as=6 client-to-client-reflection=yes confederation=7 confederation-peers=7 router-id=0.0.0.6
[admin@R7] > /routing bgp instance
set default as=7 client-to-client-reflection=yes confederation=7 confederation-peers=5-6 router-id=0.0.0.7
[admin@R9] > /routing bgp instance
set default as=9 client-to-client-reflection=yes confederation=8 confederation-peers=8 router-id=0.0.0.9
[admin@R10] > /routing bgp instance
set default as=10 client-to-client-reflection=yes confederation=8 confederation-peers=8 router-id=0.0.0.10
[admin@R8] > /routing bgp instance
set default as=8 client-to-client-reflection=yes confederation=8 confederation-peers=9-10 router-id=0.0.0.8
Ada beberapa yang berbeda pada saat konfigurasi AS100, AS200 dan Router blok kanan dan kiri. Pada saat konfigurasi router blok kanan dan kiri, ada konfigurasi confederation. BGP Confederation merupakan sebuah skema scalability routing dimana beberapa router yang semulanya berada dalam beberapa AS, dibagi bagi seolah olah menjadi beberapa AS namun semuanya itu tetap berada pada AS yang sama. Pada bagian blok kiri, router akan menggunakan confederation 7 dan pada bagian blok kanan, router akan menggunakan confederation 8.

Selanjutnya, konfigurasi peering antar router.
[admin@R5] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=remote-address=1.1.5.1 remote-as=7
[admin@R6] > /routing bgp peer
add name=peer1 remote-address=1.1.6.1 remote-as=7
[admin@R7] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=force-self remote-address=1.1.7.1 remote-as=100
add multihop=yes name=peer2 nexthop-choice=force-self remote-address=2.2.7.1 remote-as=200
add multihop=yes name=peer3 nexthop-choice=force-self remote-address=1.1.5.2 remote-as=5 route-reflect=yes
add multihop=yes name=peer4 nexthop-choice=force-self remote-address=1.1.6.2 remote-as=6 route-reflect=yes
[admin@R9] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=force-self remote-address=1.1.9.1 remote-as=8
[admin@R10] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=force-self remote-address=1.1.10.1 remote-as=8
[admin@R8] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=force-self remote-address=1.1.8.1 remote-as=100
add multihop=yes name=peer2 nexthop-choice=force-self remote-address=2.2.8.1 remote-as=200
add multihop=yes name=peer3 nexthop-choice=force-self remote-address=1.1.9.2 remote-as=9
add multihop=yes name=peer4 nexthop-choice=force-self remote-address=1.1.10.2 remote-as=10
[admin@R1] > /routing bgp peer
add  name=peer1 nexthop-choice=force-self remote-address=1.1.2.2 remote-as=100
add multihop=yes name=peer2 nexthop-choice=force-self remote-address=1.1.7.2 remote-as=7
[admin@R2] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=force-self remote-address=1.1.2.1 remote-as=100
add multihop=yes name=peer2 nexthop-choice=force-self remote-address=1.1.8.2 remote-as=8
[admin@R3] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=force-self remote-address=2.2.7.2 remote-as=7
add multihop=yes name=peer2 nexthop-choice=force-self remote-address=2.2.4.2 remote-as=200
[admin@R4] > /routing bgp peer
add multihop=yes name=peer1 nexthop-choice=force-self remote-address=2.2.4.1 remote-as=200
add multihop=yes name=peer2 nexthop-choice=force-self remote-address=2.2.8.2 remote-as=8
Jika sudah melakukan konfigurasi, pastikan semuanya saling dapat berkomunikasi. Lalu lakukan verifikasi bahwa confederation sudah berhasil. Setelah itu, lakukan traceroute dari R6 ke R9 dan lihat jalur mana saja yang digunakan.
[admin@R6] > tool traceroute 1.1.9.2
 # ADDRESS                                 RT1   RT2   RT3   STATUS
 1 1.1.6.1                                       1ms   1ms   1ms
 2 1.1.7.1                                       7ms   1ms   1ms
 3 1.1.2.2                                       1ms   1ms   2ms
 4 1.1.8.2                                       2ms   2ms   1ms
 5 1.1.9.2                                       2ms   2ms   2ms
Terlihat pada hasil traceroute diatas, bahwa untuk mengirim packet menuju R9 maka jalan yang dilewati adalah AS100. Kali ini kita akan merubah jalur yang semulanya melewati AS100, kali ini akan melewati AS200. Kita akan mindah jalur menggunakan attribute AS_PATH.
[admin@R7] > /routing filter
add action=accept chain=bgp-out disabled=no invert-match=no set-bgp-prepend=1 set-bgp-prepend-path=10,20,30
[admin@R7] > /routing bgp peer
set peer1 in-filter=bgp-in
Terlihat pada konfigurasi diatas, BGP Prepend akan menentukan berapa kali AS yang dilewati akan diulang. Misalkan kita harus melewati AS100 untuk menuju R9, maka ketika BGP Prepend di set dengan value 1, maka AS100 hanya akan muncul 1 kali pada routing table, dan jika BGP Prepend di set dengan value 2, maka akan terlihat AS100 yang akan dilewati menjadi 2. Sedangkan BGP Prepend path, itu ibarat AS palsu yang dibuat oleh router, dan nantinya ketika akan menuju R9, maka AS palsu tersebut akan muncul pada bgp as path, namun dalam kenyataannya, AS tersebut tidak ada. Lakukan verifikasi routing table.
[admin@R7] > ip route print detail where dst-address=1.1.7.0/30
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
 6 ADC  dst-address=1.1.7.0/30 pref-src=1.1.7.2 gateway=ether1 gateway-status=ether1 reachable distance=0 scope=10

 7  Db  dst-address=1.1.7.0/30 gateway=1.1.7.1 gateway-status=1.1.7.1 reachable via  ether1 distance=20 scope=40 target-scope=30 bgp-as-path="7,10,20,30,100" bgp-origin=igp received-from=peer1
Maka akan terlihat AS AS palsu yang sebelumya sudah kita buat. Oh iya, coba lihat pada status dari routing table yang sudah kita verifikasi tadi. Terlihat BGP Routing dengan AS100 tidak aktif. Coba lakukan verifikasi traceroute.
[admin@R6] > tool traceroute 1.1.9.2
 # ADDRESS                                 RT1   RT2   RT3   STATUS
 1 1.1.6.1                                       2ms   1ms   1ms
 2 2.2.7.1                                      5ms   2ms   2ms
 3 2.2.4.2                                     2ms   2ms   2ms
 4 1.1.8.2                                       4ms   6ms   0ms
 5 1.1.9.2                                       3ms   5ms   3ms 
Dan terlihat pada hasil verifikasi diatas bahwa jalur yang digunakan telah dirubah dan melewati AS200. Selanjutnya kita akan merubah distance pada AS200.
[admin@R7] > /routing filter
add action=accept chain=bgp-inAS200 disabled=no invert-match=no set-distance=200
[admin@R7] > /routing bgp peer
set peer2 in-filter=bgp-inAS200
Lalu lakukan verifikasi routing table.
[admin@R7] > ip route print detail where dst-address=2.2.7.0/30
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
16 ADC  dst-address=2.2.7.0/30 pref-src=2.2.7.2 gateway=ether2 gateway-status=ether2 reachable distance=0 scope=10

17  Db  dst-address=2.2.7.0/30 gateway=2.2.7.1 gateway-status=2.2.7.1 reachable via  ether2 distance=200 scope=40 target-scope=30 bgp-as-path="200" bgp-origin=igp
        received-from=peer2
Coba lakukan traceroute dari R6 ke R9.
[admin@R6] > tool traceroute 1.1.9.2
 # ADDRESS                                 RT1   RT2   RT3   STATUS
 1 1.1.6.1                                 1ms   1ms   0ms
 2 2.2.7.1                                 2ms   2ms   2ms
 3 2.2.4.2                                 3ms   2ms   3ms 
 4 1.1.8.2                                 3ms   3ms   5ms
 5 1.1.9.2                                 4ms   3ms   7ms 
Ternyata walaupun distance di rubah dan AS200 merupakan jalur utama yang digunakan. Selanjutnya coba konfigurasi rubah weight.
[admin@R7] > /routing filter
add action=accept chain=bgp-in disabled=no invert-match=no  set-bgp-weight=100
Lalu lakukan verifikasi routing table.
[admin@R7] > ip route print detail where dst-address=1.1.7.0/30
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
 6 ADC  dst-address=1.1.7.0/30 pref-src=1.1.7.2 gateway=ether1 gateway-status=ether1 reachable distance=0 scope=10

 7  Db  dst-address=1.1.7.0/30 gateway=1.1.7.1 gateway-status=1.1.7.1 reachable via  ether1 distance=20 scope=40 target-scope=30 bgp-as-path="7,10,20,30,100"
        bgp-origin=igp received-from=peer1
Namun ternyata jalur AS100 tetap juga tidak aktif juga. Mengapa begitu? Dikarenakan BGP merupakan routing yang memilih jalur berdasarkan AS yang dilewatinya. Jadi apabila ada banyak AS yang harus dilewati, maka jalur tersebut tidak akan dipilih.

Share this