Showing posts with label MPLS. Show all posts
Showing posts with label MPLS. Show all posts

Friday, 13 March 2015

IPsec Over MPLS VPN Howto

Pertama kali denger IPsec over MPLS VPN itu kaget, iya karena sebelumnya belum pernah sama sekali tau tentang IPsec, dan besoknya harus udah implementasi di costumer. untuk MPLS VPN ga masalah karena kita di sisi user kan tinggal konfig Static aja, tapi untuk IPsec ini ga kebayang rumitnya kaya gimana. googling sana sini dan ga ketemu dokumentasi yang memuaskan, kebanyakan malah bahas teori padahal saya harus udah bikin test Lab nya malem itu. 
Bersyukur banget dikasih workbook CCIE Security nya Micronics dari Mas Momon, Nah disitu baru ngeh ternyata IPsec itu "Simple", cuma verifikasi nya aja yang harus di perhatiin.

Nah disini kita akan menggabungkan MPLS VPN dengan IPsec, IPsec itu digunakan untuk memproteksi trafik pada VPN yang dilewatkan melalui jaringan public dalam hal ini jaringan provider MPLS, biasanya untuk melindungi trafik yang sensitif misalkan transaksi perbankan.

teruss kenapa kita perlu IPsec? bagaimana IPsec melindungi traffik yang dikirimkan?  

Oke berikut ini 4 proteksi yang mampu di lakukan oleh IPsec : 

Integrity, IPsec menjamin data yang diterima tidak mengalami perubahan saat pengiriman. caranya dengan menandai setiap paket yang dikirimkan dengan chryptographic checksum, yang kemudian akan diverifikasi oleh penemerima.

Confidentiallity, IPsec menjamin data hanya bisa dibaca oleh penerima yang semestinya, caranya dengan melakukan enkripsi pada data sebelum dikirimkan. 

Authentication, kalau yang ini digunakan untuk menjamin data yang diterima berasal dari perangkat yang sah. caranya dengan mencocokkan message auntentication pada kedua IPsec Peers. 

Anti-Replay, menjamin ke unik -an setiap packet. hal ini untuk menghindari packet di intercept kemudian digunakan kembali untuk mendapatkan akses ke resource oleh pihak lain.


Oke sekarang mari kita lanjut ke Lab, Topologi berikut ini menggambarkan Koneksi antara kantor pusat SAP Corp. dengan cabang SAP Corp. melalui MPLS VPN. Misal providernya kita pakai Telkom, jadi nanti IPsec kita konfigurasikan setelah MPLS VPN dari telkom aktif. Untuk konfigurasi yang kita lakukan adalah Konfigurasi kedua Router CE agar server di Branch bisa Ping ke Server HQ. Konfigurasi IPsec untuk memproteksi trafik dari 192.168.100.10 ke 192.168.50.10 - 14. 


Konfigurasi yang kita gunakan disini adalah Basic Site To Site IPsec Main Mode, nah mungkin ada yang bertanya gini "Kenapa ga pake tunnel GRE?", karena keperluan kita cuma koneksi antar server aja, dan disini menggunakan Static routing. sedangkan GRE tunnel dibutuhkan apabila trafik yang akan di proteksi IPsec berupa multicast atau broadcast misal kita pakai IGP seperti EIGRP atau OSPF. 
   
Untuk router yang digunakan biasanya 1900 ISR series. Berikut ini langkah setup IPsec yang kita lakukan :

Step 1: VPN Connection
Konfigurasi Router CE untuk koneksi VPN menggunakan static routing agar kedua network di kantor cabang dan pusat saling terhubung.
SAP_BRANCH(config)#ip route 192.168.0.5 255.255.255.255 192.168.0.2
SAP_BRANCH(config)#ip route 192.168.50.10 255.255.255.255 192.168.0.2
SAP_BRANCH(config)#ip route 192.168.50.11 255.255.255.255 192.168.0.2
SAP_BRANCH(config)#ip route 192.168.50.12 255.255.255.255 192.168.0.2
SAP_BRANCH(config)#ip route 192.168.50.13 255.255.255.255 192.168.0.2
SAP_BRANCH(config)#ip route 192.168.50.14 255.255.255.255 192.168.0.2

Step 2: IPsec Configuration
IPsec bisa disebut tunnel inside tunnel, karena di IPsec terdapat dua Phase, IKE phase 1 atau disebut ISAKMP yang digunakan untuk memproteksi negosiasi tunnel IKE phase 2 didalamnya, dan IKE phase 2 ini lah yang memproteksi trafik data.

Beberapa hal yang perlu diperhatikan ketika konfigurasi IPSec adalah Parameter dan Interesting trafik nya. Berikut ini contoh parameter IPsec yang akan dikonfigurasikan, parameter ini harus sama di kedua sisi.

ISAKMP                                                              
IPSec                                                                    
Authentication : Pre Shared
Encryption : ESP-3DES
Encryption : 3DES
Hash : MD5
Hash : MD5
Proxy ID : 192.168.0.1 – 192.168.0.5
DH Group : 2

PSK : ciscosap123


Trafik yang akan dimasukan ke tunnel IPSec atau disebut "Interesting Traffic"

192.168.100.10 - 192.168.50.10 s/d 192.168.50.14 ( Server )
192.168.0.1 - 192.168.0.5  ( Pengetesan )

SAP_BRANCH(config)#crypto isakmp policy 1
SAP_BRANCH(config-isakmp)#encr 3des
SAP_BRANCH(config-isakmp)#hash md5
SAP_BRANCH(config-isakmp)#authentication pre-share
SAP_BRANCH(config-isakmp)#group 2 
SAP_BRANCH(config-isakmp)#crypto isakmp key ciscosap123 address 192.168.0.5 
SAP_BRANCH(config)#crypto ipsec transform-set 3desmd5 esp-3des esp-md5-hmac 
SAP_BRANCH(cfg-crypto-trans)#crypto map VPN 1 ipsec-isakmp
SAP_BRANCH(config-crypto-map)#set peer 192.168.0.5
SAP_BRANCH(config-crypto-map)#set transform-set 3desmd5
SAP_BRANCH(config-crypto-map)#match address sapcorp 
SAP_BRANCH(config-crypto-map)#interface eth0/1
SAP_BRANCH(config-if)#crypto map VPN 
SAP_BRANCH(config-if)#ip access-list extended sapcorp
SAP_BRANCH(config-ext-nacl)#remark * sap branch to hQ *
SAP_BRANCH(config-ext-nacl)#permit ip host 192.168.100.10 host 192.168.50.10
SAP_BRANCH(config-ext-nacl)#permit ip host 192.168.100.10 host 192.168.50.11
SAP_BRANCH(config-ext-nacl)#permit ip host 192.168.100.10 host 192.168.50.12
SAP_BRANCH(config-ext-nacl)#permit ip host 192.168.100.10 host 192.168.50.13
SAP_BRANCH(config-ext-nacl)#permit ip host 192.168.100.10 host 192.168.50.14
SAP_BRANCH(config-ext-nacl)#remark * IPSec Test *
SAP_BRANCH(config-ext-nacl)#permit icmp host 192.168.0.1 host 192.168.0.5

Step 3: Verifikasi IPSec
Setelah Tunnel IPSec kita konfigurasikan, bisa kita lakukan verifikasi dengan menggunakan command berikut .
SAP_BRANCH#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst                    src                   state                     conn-id      status
192.168.0.5     192.168.0.1     QM_IDLE           1001          ACTIVE
IPv6 Crypto ISAKMP SA
terlihat status dari tunnel, QM_IDLE menunjukan Quick Mode (Phase 2) berhasil. Untuk melihat lebih detail proses negosiasi IPSec Phase 1 dan Phase 2 bisa dengan melakukan debug "debug crypto isakmp" dan "debug crypto ipsec".

SAP_BRANCH#show crypto ipsec sa
interface: Ethernet0/1
  Crypto map tag: VPN, local addr 192.168.0.1
protected vrf: (none)
local  ident (addr/mask/prot/port): (192.168.0.1/255.255.255.255/1/0)
remote ident (addr/mask/prot/port): (192.168.0.5/255.255.255.255/1/0)
current_peer 192.168.0.5 port 500
   PERMIT, flags={origin_is_acl,}
  #pkts encaps: 14, #pkts encrypt: 14, #pkts digest: 14
  #pkts decaps: 14, #pkts decrypt: 14, #pkts verify: 14
  #pkts compressed: 0, #pkts decompressed: 0
--More--
berikutnya kita bisa melihat lebih detail source dan destination dari interesting traffic. Output command ini cukup panjang karena setiap prefix yang dimasukan tunnel IPSec dijelaskan dengan detail. 
SAP_BRANCH#show crypto sessionCrypto session current status
Interface: Ethernet0/1
Session status: UP-ACTIVE
Peer: 192.168.0.5 port 500
  Session ID: 0
  IKEv1 SA: local 192.168.0.1/500 remote 192.168.0.5/500 Active
  IPSEC FLOW: permit 1 host 192.168.0.1 host 192.168.0.5
        Active SAs: 2, origin: crypto map
  IPSEC FLOW: permit ip host 192.168.100.10 host 192.168.50.12
        Active SAs: 0, origin: crypto map
  IPSEC FLOW: permit ip host 192.168.100.10 host 192.168.50.13
        Active SAs: 0, origin: crypto map
  IPSEC FLOW: permit ip host 192.168.100.10 host 192.168.50.14
        Active SAs: 0, origin: crypto map
  IPSEC FLOW: permit ip host 192.168.100.10 host 192.168.50.10
        Active SAs: 2, origin: crypto map
  IPSEC FLOW: permit ip host 192.168.100.10 host 192.168.50.11
        Active SAs: 0, origin: crypto map
yang terahir ini paling sering saya gunakan, karena outputnya cukup mudah untuk dilihat dan informasi yang ditampilkan jelas.

saya sarankan temen-temen untuk nyoba njalanin debug nya biar kita tau proses tunnel IPSec, ada IKE Phase 1 message 1 sampai dengan 6, kemudian IKE Phase 2 message 1 sampai 3. apabila ada masalah nanti kelihatan disitu.

Oke pembahasan IPsec kita cukupkan sampai disini ya, ilmu newbie cuma di kulitnya jadi cuma bisa nulis segini doang. lagian kebanyaken teori nanti malah jadi bingung. terimakasih semua, Keep Sharing ya ^.^ 



Wednesday, 8 May 2013

MPLS VPN

Mempelajari Konfigurasi Jaringan MPLS VPN

Adapun konfigurasinya dilakukan pada router PE dan router CE. berikut tahapan konfigurasi pada router PE :
1 Membuat VRF
2 Konfig IP address & VRF pada PE yang menuju CE
3 Mengaktifkan MP-BGP
4 Menambahkan routing PE-CE

Pada router CE :
1 Konfigurasi ip address CE
2 Konfigurasi Default Route


1. Membuat VRF
VRF (Virtual router forwarding), diperlukan untuk setiap costumer. dengan Virtual router ini seolah olah custumer memiliki router sendiri yang mengatur trafik mereka melalui MPLS. masing-masing VRF memiliki identitas sendiri-sendiri untuk tiap costumernya. karena VRF Inilah costumer yang berbeda dapat memiliki IP address yang sama dan dapat diakomodir menggunakan jaringan MPLS.
PE1(config)#ip vrf BRI.KIRI
PE1(config-vrf)#rd 65000:1
PE1(config-vrf)#route-target export 65000:1
PE1(config-vrf)#route-target import 65000:1
PE1(config-vrf)#ip vrf BCA.KIRI
PE1(config-vrf)#rd 65000:2
PE1(config-vrf)#route-target export 65000:2
PE1(config-vrf)#route-target import 65000:2
pada Router PE1 terdapat 2 costumer BRI.KIRI dan BCA.KIRI, maka kitqa harus membuat dua VRF.
VRF memiliki 2 komponen utama :
  • RD (Route Disthinguiser)
RD adalah identitas sebuah VRF, format penulisan RD dapat menggunakan 16-bit AS number (65000:1) atau 32-bit ip address (192.168.0.1:1)1
  •  RT (Route Target)
RT menentukan route yang mana yang akan diimport ke dalam VRF dan route yang mana yang di export. Sifatnya seperti routing Policy. Format penulisanya seperti RD
PE2(config)#ip vrf BRI.KANAN
PE2(config-vrf)#rd 65000:1
PE2(config-vrf)#route-target 65000:1
PE2(config-vrf)#no route-target 65000:1
PE2(config-vrf)#route-target export 65000:1
PE2(config-vrf)#route-target import 65000:1
PE2(config-vrf)#ip vrf BCA.KANAN
PE2(config-vrf)#rd 65000:2
PE2(config-vrf)#route-target export 65000:2
PE2(config-vrf)#route-target import 65000:2

2. konfig ip address dan vrf pada interface yang menuju CE
Setelah dikonfigurasikan VRF kita dapat menggunakan ip address yang sama pada interface router.
PE1(config)#int fa0/0
PE1(config-if)#description ###link ke BRI###
PE1(config-if)#ip vrf forwarding BRI.KIRI
PE1(config-if)#ip add 192.168.0.1 255.255.255.252
PE1(config-if)#no shut

PE1(config-if)#int f0/1
PE1(config-if)#description ###link ke BCA###
PE1(config-if)#ip vrf forwarding BCA.KIRI
PE1(config-if)#ip add 192.168.0.1 255.255.255.252
PE1(config-if)#no shut
PE2(config)#int f0/0
PE2(config-if)#description ###link ke BRI###
PE2(config-if)#ip vrf forwarding BRI.KANAN
PE2(config-if)#ip add 192.168.0.5 255.255.255.252
PE2(config-if)#no shut

PE2(config-if)#int fa0/1
PE2(config-if)#description ###link ke BCA###
PE2(config-if)#ip vrf forwarding BCA.KANAN
PE2(config-if)#ip add 192.168.0.5 255.255.255.252
PE2(config-if)#no shut

verifikasi
Router PE1 & PE2
#show ip vrf
#show ip vrf interface

3. Mengaktifkan MP-BGP
Multi protokol BGP digunakan untuk membawa informasi routing, ipv4 prefixes, VPN costumer dll menuju PE router lainya. syaratnya BGP sudah dikonfigurasi terlebih dahulu.
PE1(config)#router bgp 65000
PE1(config-router)#address-family vpnv4
PE1(config-router-af)#neigh 10.10.10.2 activate
PE2(config)#router bgp 65000
PE2(config-router)#address-family vpnv4
PE2(config-router-af)#neigh 10.10.10.1 activate
4. Konfigurasi routing PE CE
routing protokol yang digunakan pada koneksi PE CE ada beberapa  yang bisa digunakan :

1. Static
2. RIPv2
3. EIGRP
4. OSPF
5. BGP

akan dilanjut di lab berikutnya untuk konfigurasi routing protokol menggunakan beberapa routing protokol diatas

MPLS Backbone

MPLS pada dasarnya terdiri dari 3 jenis router,
 1. Router P (Provider)

         Router yang terdapat pada MPLS domain, dan terhubung dengan router-router lain yang dimiliki oleh service provider. Pada jaringan MPLS yang tidak terlalu besar terkadang tidak terdapat P router didalamnya untuk menghemat biaya.

  2. Router PE (Provider Edge)

         Router yang terhubung langsung dengan router costumer sekaligus router provider. bertindak menjembatani network berbasis IP dengan network berbasis MPLS. Memberikan pelabelan pada paket IP yang masuk ke dalam MPLS domain dan melepas pelabelan pada paket yang akan keluar dari MPLS domain. PE router harus ada pada setiap jaringan MPLS.

 3. Router CE (Costumer Edge)

         Router yang ada pada sisi costumer, dengan konfigurasi routing biasa, static maupun dynamic, di router ini tidak terdapat konfigurasi MPLS apapun.

karena pada MPLS backbone hanya ada router P dan PE maka model jaringan MPLS sederhana dapat berbentuk seperti berikut :




Kita akan Lab kan topologi diatas, adapun tahapan konfigurasinya adalah sebagai berikut :
1 Konfigurasikan ip address pada semua interface rotuer
2 Mengaktifkan Dynamic Routing
3 Mengaktifkan BGP
4 Mengaktifkan MPLS

1. konfigurasi IP address

PE1(config)#int lo0
PE1(config-if)#ip add 10.10.10.1 255.255.255.255
PE1(config-if)#int s0/0
PE1(config-if)#ip add 192.168.10.1 255.255.255.252
PE1(config-if)#description ###link ke P router###
PE1(config-if)#no shut
P(config)#int lo0
P(config-if)#ip add 10.10.10.10 255.255.255.255
P(config-if)#int s0/0
P(config-if)#ip add 192.168.10.2 255.255.255.252
P(config-if)#description ###link ke PE1 router###
P(config-if)#no shut
P(config)#int s0/1
P(config-if)#ip add 192.168.20.1 255.255.255.252
P(config-if)#description ###link ke PE2 router###
P(config-if)#no shut
PE2(config)#int lo0
PE2(config-if)#ip add      
PE2(config-if)#ip add 10.10.10.2 255.255.255.255
PE2(config-if)#int s0/0
PE2(config-if)#ip add 192.168.20.2 255.255.255.252
PE2(config-if)#description ###link ke p router###
PE2(config-if)#no shut

setelah semua interface dikonfigurasikan lakukan tes ping ke masing-masing IP point-to-pointnya
PE1#ping 192.168.10.2
P#ping 192.168.10.1
P#ping 192.168.20.2
PE2#ping 192.168.20.1
2. Mengaktifkan Dynamic routing (OSPF)
Agar semua router dalam MPLS domain dapat berkomunikasi satu sama lain, maka diperlukan Dynamic routing IGP.
PE1(config)#router ospf 1
PE1(config-router)#network 192.168.10.1 0.0.0.0 area 0
PE1(config-router)#network 10.10.10.1 0.0.0.0 area 0
P(config)#router ospf 1
P(config-router)#network 192.168.10.2 0.0.0.0 area 0
P(config-router)#network 192.168.20.1 0.0.0.0 area 0
P(config-router)#network 10.10.10.10 0.0.0.0 area 0
PE2(config)#router ospf 1
PE2(config-router)#network 192.168.20.2 0.0.0.0 area 0
PE2(config-router)#network 10.10.10.2 0.0.0.0 area 0
pengetesan lakukan test ping seperti berikut

Router PE1,P&PE2
ping 10.10.10.1
ping 10.10.10.2
ping 10.10.10.2

3. Mengaktifkan BGP
BGP perlu dikonfigurasikan karena nanti kita akan mengkonfigurasikan MP-BGP yang membutuhkan konfigurasi BGP pada PE route saja.

PE1(config)#router bgp 65000
PE1(config-router)#neig 10.10.10.2 remot 65000
PE1(config-router)#neig 10.10.10.2 up lo0
PE2(config)#router bgp 65000
PE2(config-router)#neigh 10.10.10.1 remot 65000
PE2(config-router)#neigh 10.10.10.1 up lo0
Router PE1&PE2
show ip bgp summary

4. Mengaktifkan MPLS
dikonfigurasikan pada semua router baik P maupun PE

PE1(config)#mpls ip
PE1(config)#int s0/0
PE1(config-if)#mpls ip
P(config)#mpls ip
P(config)#int s0/0
P(config-if)#mpls ip
P(config-if)#int s0/1
P(config-if)#mpls ip
PE2(config)#mpls ip
PE2(config)#int s0/0
PE2(config-if)#mpls ip
lakukan verifikasi MPLS sudah aktif dan berjalan dengan baik, dengan perintah berikut

Router PE1,P&PE2
#show mpls forwarding-table




Mengenal MPLS

Sedikit yang dapat saya catat dari pemberian materi oleh Mas Dedi,

Fitur MPLS (Multiprotocol Label Switching)
  • Pada MPLS ip sama tidak menjadi masalah
  • Any transport over MPLS, MPLS bisa melewatkan berbagai macam protokol baik L2 maupun L3.
  • Mengirim berdasarkan label, jadi lebih cepat dalam menentukan jalur. Pada Routing protokol ada routing look-up dimana ketika sebuah router menerima paket maka dia akan membandingkan isi dari tabel routing yang dimiliki, Sedangkan L2 memiliki yang namanya mac-address table yang didalamnya terdapat address untuk tiap host jadi ketika frame sampai dia langsung melewatkanya ke tujuan. Pada MPLS ini dia memiliki tabel label.

3 Jenis Perangkat pada MPLS
     1. Router P (Provider)
         Router yang terdapat pada MPLS domain, dan terhubung dengan router-router lain yang dimiliki oleh service provider. Pada jaringan MPLS yang tidak terlalu besar terkadang tidak terdapat P router didalamnya untuk menghemat biaya.
     2. Router PE (Provider Edge)
         Router yang terhubung langsung dengan router costumer sekaligus router provider. bertindak menjembatani network berbasis IP dengan network berbasis MPLS. Memberikan pelabelan pada paket IP yang masuk ke dalam MPLS domain dan melepas pelabelan pada paket yang akan keluar dari MPLS domain. PE router harus ada pada setiap jaringan MPLS.
     3. Router CE (Costumer Edge)
         Router yang ada pada sisi costumer, dengan konfigurasi routing biasa, static maupun dynamic, di router ini tidak terdapat konfigurasi MPLS apapun.


Tahapan konfig MPLS di SP
  • Konfig interface dan IP address
  • IGP (interior gateway protokol) agar semua router dalam MPLS domain dapat berkomunikasi
  • BGP, BGP biasa tidak bisa pakenya Multi Protocol BGP. BGP hanya dikonfig di masing-masing PE router saja.
  • Konfig MPLS, bukan merupakan masalah karena konfigurasi MPLS cukup mudah. Konfig pada semua router baik PE maupun P router.
  • VRF (Virtual Router Forwarding)
MP-BGP
untuk melewatkan berbagai protokol, untuk menggunakanya diperlukan konfigurasi BGP antar PE. konfigurasinya :

router bgp 100
address-family vpnv4
neigh ip activate

Konfig ip vrf
  • RD (Route Disthinguiser), pembeda
        Sifatnya lokal hanya di router tersebut, tiap costumer harus memiliki nilai RD yang berbeda.
  • RT (Route target) 
        Diadvertise ke router yang lain, jadi harus memperhatikan nilai rt pada router lainya. di RT ada dua yang dikonfig yaitu import dan export nilainya boleh beda boleh sama, tapi kalau beda akan merepotkan.