Lab 139 – Inter-AS MPLS VPN – Option B (VPNv4 Between ASBR)

Pada postingan sebelumnya kita telah membahas Inter-AS MPLS VPN – Option A. Selanjutnya pada lab ini kita akan membahas Inter-AS MPLS VPN – Option B.

Jika pada Option A, kita tidak menjalankan MPLS antar service provider. Namun jika menggunakan Option B, maka kita juga akan menjalankan MPLS antar service provider.

Nantinya antar R4 dan R5 juga akan dikonfigurasikan MPLS.

Diasumsikan kita telah mengkonfigurasi seperti pada postingan selanjutnya ya.. jika belum, silahkan menuju postingan sebelumnya terlebih dahulu.

Pada lab ini kita akan melanjutkan konfigurasi dari lab selanjutnya. Pertama kita hapus dulu koneksi antar R4 dan R5.

R4(config)#no ip vrf A
R4(config)#no int e0/1.45
R5(config)#no ip vrf B
R5(config)#no int e0/0.45

Sekarang kita konfigurasikan addressing antar R4 dan R5. kali ini kita perlu membuat vrf ya

R4(config)#int e0/1
R4(config-if)#no sh
R4(config-if)#ip add 45.45.45.4 255.255.255.0
R5(config)#int e0/0
R5(config-if)#no sh
R5(config-if)#ip add 45.45.45.5 255.255.255.0

Selanjutnya kita konfigurasikan VPNv4 antar R4 dan R5

R4(config-if)#router bgp 100
R4(config-router)#nei 45.45.45.5 remote-as 200

R4(config-router)#address-family vpnv4
R4(config-router-af)#nei 45.45.45.5 activate
R5(config)#router bgp 200
R5(config-router)#nei 45.45.45.4 remote-as 100

R5(config-router)#address-family vpnv4
R5(config-router-af)#nei 45.45.45.4 activate

Pada lab ini kita akan menggunakan BGP untuk memforward MPLS label (kita tidak menggunakan LDP), untuk itu kita harus mengaktifkan mpls bgp forwarding seperti berikut

R4(config-router-af)#int e0/1
R4(config-if)#mpls bgp forwarding
R5(config-router)#int e0/0
R5(config-if)#mpls bgp forwarding

Sekarang kita coba tabel routing BGP di R4 dan R5

R4(config)#do sh ip bgp vpnv4 all
R4(config)#
R5(config)#do sh ip bgp vpnv4 all
R5(config)#

Perhatikan bahwa saat ini R4 dan R5 tidak memiliki tabel routing sama sekali. Kenapa bisa seperti ini? karena kita tidak membuat vrf pada R4 dan R5.

Untuk mengatasi masalah ini, kita bisa menggunakan 2 cara. cara pertama yaitu dengan membuat vrf dan mengimport seluruh VRF. berarti R4 harus mengimport 100:10 dan juga 200:20, begitu juga dengan R5 juga harus mengimport 100:10 dan 200:200.. tentu saja cara ini akan sangat panjang jika kita memiliki banyak vrf.

Solusi kedua adalah dengan menggunakan perintah no bgp default route-target filter seperti berikut

R4(config)#router bgp 100
R4(config-router)#no bgp default route-target filter
R5(config)#router bgp 200
R5(config-router)#no bgp default route-target filter

Sekarang coba kita cek lagi tabel routing BGP di R4 dan R5

R4(config-router)#do sh ip bgp vpnv4 all
BGP table version is 16, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
*>i 1.1.1.1/32 2.2.2.2 0 100 0 10 i
Route Distinguisher: 200:20
*> 8.8.8.8/32 45.45.45.5 0 200 20 i
R5(config-router)#do sh ip bgp vpnv4 all
BGP table version is 15, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
*> 1.1.1.1/32 45.45.45.4 0 100 10 i
Route Distinguisher: 200:20
*>i 8.8.8.8/32 7.7.7.7 0 100 0 20 i

Perhatikan bahwa saat ini R4 dan R5 sudah memiliki tabel routing BGP tentang customer A dan customer B.

Sekarang kita coba cek di masing-masing PE,

R2(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i

Perhatikan bahwa PE di Service Provider 1 (R2) masih belum memiliki route menuju customer B. kita coba lihat PE di Service Provider 2

R7(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 200:20 (default for vrf B)
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Perhatikan bahwa PE di service provider 2 (R7) juga masih belum punya route menuju customer A.

Kenapa demikian? Hal ini dikarenakan PE di Service Provider 1 mengexport route-target 100:10, sedangkan PE di Service Provider 2 belum mengimport route-target tersebut. Begitu juga dengan PE di Service Provider 2 yang mengexport route-target 200:20 dan PE di service provider 1 belum mengimport route-target tersebut.

Oke kita lakukan konfigurasi berikut

R2(config)#ip vrf A
R2(config-vrf)#route-target import 200:20

Konfigurasi diatas digunakan oleh PE Service Provider 1 untuk mengimport route dari customer B. kita lihat hasilnya

R2(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i
* i 8.8.8.8/32 45.45.45.5 0 100 0 200 20 i
Route Distinguisher: 200:20
* i 8.8.8.8/32 45.45.45.5 0 100 0 200 20 i

Perhatikan bahwa hasilnya sudah ada, selanjutnya kita lakukan di PE Service Provider 2.

R7(config)#ip vrf B
R7(config-vrf)#route-target import 100:10

Kita lihat hasilnya

R7(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
* i 1.1.1.1/32 45.45.45.4 0 100 0 100 10 i
Route Distinguisher: 200:20 (default for vrf B)
* i 1.1.1.1/32 45.45.45.4 0 100 0 100 10 i
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Perhatikan bahwa saat ini masing-masing PE sudah memiliki tabel routing BGP yang lengkap.

Tapi tunggu dulu, R2 memang sudah mengenai 8.8.8.8, tapi route nya masih belum best. perhatikan bahwa tidak ada symbol > pada route tersebut. Untuk mengatasi hal tersebut kita bisa mengkonfigurasikan next-hop-self di ASBR seperti berikut

R4(config)#router bgp 100
R4(config-router)#address-family vpnv4
R4(config-router-af)#nei 2.2.2.2 next-hop-self

Kita coba lihat lagi di PE

R2(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 11, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i
*>i 8.8.8.8/32 4.4.4.4 0 100 0 200 20 i
Route Distinguisher: 200:20
*>i 8.8.8.8/32 4.4.4.4 0 100 0 200 20 i

Perhatikan bahwa saat ini route-nya sudah best. selanjutnya kita lakukan di R5

R5(config)#router bgp 200
R5(config-router)#address-family vpnv4
R5(config-router-af)#nei 7.7.7.7 next-hop-self

Kita coba lihat hasilnya di R7

R7(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 11, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
*>i 1.1.1.1/32 5.5.5.5 0 100 0 100 10 i
Route Distinguisher: 200:20 (default for vrf B)
*>i 1.1.1.1/32 5.5.5.5 0 100 0 100 10 i
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Perhatikan bahwa saat ini jalurnya sudah best. Terahir kita coba lihat di sisi customer

R1#sh ip rou
...
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
8.0.0.0/32 is subnetted, 1 subnets
B 8.8.8.8 [20/0] via 12.12.12.2, 00:02:25
12.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 12.12.12.0/24 is directly connected, Ethernet0/0
L 12.12.12.1/32 is directly connected, Ethernet0/0
R8#sh ip route
...
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
B 1.1.1.1 [20/0] via 78.78.78.7, 00:01:52
8.0.0.0/32 is subnetted, 1 subnets
C 8.8.8.8 is directly connected, Loopback0
78.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 78.78.78.0/24 is directly connected, Ethernet0/0
L 78.78.78.8/32 is directly connected, Ethernet0/0

Perhatikan bahwa saat ini customer 1 sudah punya tabel routing tentang customer 2, begitu juga dengan customer 2 juga sudah punya tabel routing tentang customer 1.

Kita coba lakukan ping

R1#ping 8.8.8.8 sou lo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms

Oke hasilnya sukses!!.. coba kita lakukan traceroute

R1#trace 8.8.8.8 sou lo0
Type escape sequence to abort.
Tracing the route to 8.8.8.8
VRF info: (vrf in name/id, vrf out name/id)
1 12.12.12.2 1 msec 0 msec 0 msec
2 23.23.23.3 [MPLS: Labels 18/22 Exp 0] 2 msec 1 msec 2 msec
3 34.34.34.4 [MPLS: Label 22 Exp 0] 1 msec 1 msec 1 msec
4 45.45.45.5 [MPLS: Label 18 Exp 0] 2 msec 2 msec 1 msec
5 56.56.56.6 [MPLS: Labels 16/20 Exp 0] 1 msec 2 msec 1 msec
6 78.78.78.7 [MPLS: Label 20 Exp 0] 2 msec 1 msec 1 msec
7 78.78.78.8 1 msec 1 msec 2 msec

Perhatikan bahwa saat ini paket nya sudah berlabel. Jika Anda ingat, pada Option A, saat paket melewati 45.45.45.5, paket tersebut tidak berlabel. perhatikan hasil trace route saat menggunakan option A berikut

R1#trace 8.8.8.8 sou lo0
Type escape sequence to abort.
Tracing the route to 8.8.8.8
VRF info: (vrf in name/id, vrf out name/id)
1 12.12.12.2 1 msec 5 msec 1 msec
2 23.23.23.3 [MPLS: Labels 18/16 Exp 0] 1 msec 1 msec 0 msec
3 45.45.45.4 [MPLS: Label 16 Exp 0] 0 msec 0 msec 1 msec
4 45.45.45.5 1 msec 1 msec 1 msec
5 56.56.56.6 [MPLS: Labels 16/20 Exp 0] 2 msec 1 msec 2 msec
6 78.78.78.7 [MPLS: Label 20 Exp 0] 1 msec 2 msec 1 msec
7 78.78.78.8 2 msec 1 msec 2 msec

Oke.. sudah tau bedanya kan?

Perhatikan ilustrasi berikut

R4(config-router-af)#do sh ip bgp vpnv4 all 8.8.8.8
BGP routing table entry for 200:20:8.8.8.8/32, version 15
Paths: (1 available, best #1, no table)
Advertised to update-groups:
6
Refresh Epoch 4
200 20
45.45.45.5 from 45.45.45.5 (5.5.5.5)
Origin IGP, localpref 100, valid, external, best
Extended Community: RT:200:20
mpls labels in/
out 22/18

Perhatikan bahwa saat paket keluar dari ASBR, paket tersebut akan diberikan label kembali. bandingkan dengan hasil show pada Option A berikut

R4(config)#do sh ip bgp vpnv4 all 8.8.8.8
BGP routing table entry for 100:10:8.8.8.8/32, version 8
Paths: (1 available, best #1, table A)
Advertised to update-groups:
3
Refresh Epoch 1
200 20
45.45.45.5 from 45.45.45.5 (5.5.5.5)
Origin IGP, localpref 100, valid, external, best
Extended Community: RT:100:10
mpls labels in/
out 16/nolabel

Oke.. sudah tau bedanya kan? sampai disini dulu yaa.. semoga bermanfaat.. semoga segera ada kesempatan untuk nulis lagi ya.. hehe

Lab 139 – Inter-AS MPLS VPN – Option B (VPNv4 Between ASBR)

Pada postingan sebelumnya kita telah membahas Inter-AS MPLS VPN – Option A. Selanjutnya pada lab ini kita akan membahas Inter-AS MPLS VPN – Option B.

Jika pada Option A, kita tidak menjalankan MPLS antar service provider. Namun jika menggunakan Option B, maka kita juga akan menjalankan MPLS antar service provider.

Nantinya antar R4 dan R5 juga akan dikonfigurasikan MPLS.

Diasumsikan kita telah mengkonfigurasi seperti pada postingan selanjutnya ya.. jika belum, silahkan menuju postingan sebelumnya terlebih dahulu.

Pada lab ini kita akan melanjutkan konfigurasi dari lab selanjutnya. Pertama kita hapus dulu koneksi antar R4 dan R5.

R4(config)#no ip vrf A
R4(config)#no int e0/1.45
R5(config)#no ip vrf B
R5(config)#no int e0/0.45

Sekarang kita konfigurasikan addressing antar R4 dan R5. kali ini kita perlu membuat vrf ya

R4(config)#int e0/1
R4(config-if)#no sh
R4(config-if)#ip add 45.45.45.4 255.255.255.0
R5(config)#int e0/0
R5(config-if)#no sh
R5(config-if)#ip add 45.45.45.5 255.255.255.0

Selanjutnya kita konfigurasikan VPNv4 antar R4 dan R5

R4(config-if)#router bgp 100
R4(config-router)#nei 45.45.45.5 remote-as 200

R4(config-router)#address-family vpnv4
R4(config-router-af)#nei 45.45.45.5 activate
R5(config)#router bgp 200
R5(config-router)#nei 45.45.45.4 remote-as 100

R5(config-router)#address-family vpnv4
R5(config-router-af)#nei 45.45.45.4 activate

Pada lab ini kita akan menggunakan BGP untuk memforward MPLS label (kita tidak menggunakan LDP), untuk itu kita harus mengaktifkan mpls bgp forwarding seperti berikut

R4(config-router-af)#int e0/1
R4(config-if)#mpls bgp forwarding
R5(config-router)#int e0/0
R5(config-if)#mpls bgp forwarding

Sekarang kita coba tabel routing BGP di R4 dan R5

R4(config)#do sh ip bgp vpnv4 all
R4(config)#
R5(config)#do sh ip bgp vpnv4 all
R5(config)#

Perhatikan bahwa saat ini R4 dan R5 tidak memiliki tabel routing sama sekali. Kenapa bisa seperti ini? karena kita tidak membuat vrf pada R4 dan R5.

Untuk mengatasi masalah ini, kita bisa menggunakan 2 cara. cara pertama yaitu dengan membuat vrf dan mengimport seluruh VRF. berarti R4 harus mengimport 100:10 dan juga 200:20, begitu juga dengan R5 juga harus mengimport 100:10 dan 200:200.. tentu saja cara ini akan sangat panjang jika kita memiliki banyak vrf.

Solusi kedua adalah dengan menggunakan perintah no bgp default route-target filter seperti berikut

R4(config)#router bgp 100
R4(config-router)#no bgp default route-target filter
R5(config)#router bgp 200
R5(config-router)#no bgp default route-target filter

Sekarang coba kita cek lagi tabel routing BGP di R4 dan R5

R4(config-router)#do sh ip bgp vpnv4 all
BGP table version is 16, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
*>i 1.1.1.1/32 2.2.2.2 0 100 0 10 i
Route Distinguisher: 200:20
*> 8.8.8.8/32 45.45.45.5 0 200 20 i
R5(config-router)#do sh ip bgp vpnv4 all
BGP table version is 15, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
*> 1.1.1.1/32 45.45.45.4 0 100 10 i
Route Distinguisher: 200:20
*>i 8.8.8.8/32 7.7.7.7 0 100 0 20 i

Perhatikan bahwa saat ini R4 dan R5 sudah memiliki tabel routing BGP tentang customer A dan customer B.

Sekarang kita coba cek di masing-masing PE,

R2(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i

Perhatikan bahwa PE di Service Provider 1 (R2) masih belum memiliki route menuju customer B. kita coba lihat PE di Service Provider 2

R7(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 200:20 (default for vrf B)
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Perhatikan bahwa PE di service provider 2 (R7) juga masih belum punya route menuju customer A.

Kenapa demikian? Hal ini dikarenakan PE di Service Provider 1 mengexport route-target 100:10, sedangkan PE di Service Provider 2 belum mengimport route-target tersebut. Begitu juga dengan PE di Service Provider 2 yang mengexport route-target 200:20 dan PE di service provider 1 belum mengimport route-target tersebut.

Oke kita lakukan konfigurasi berikut

R2(config)#ip vrf A
R2(config-vrf)#route-target import 200:20

Konfigurasi diatas digunakan oleh PE Service Provider 1 untuk mengimport route dari customer B. kita lihat hasilnya

R2(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i
* i 8.8.8.8/32 45.45.45.5 0 100 0 200 20 i
Route Distinguisher: 200:20
* i 8.8.8.8/32 45.45.45.5 0 100 0 200 20 i

Perhatikan bahwa hasilnya sudah ada, selanjutnya kita lakukan di PE Service Provider 2.

R7(config)#ip vrf B
R7(config-vrf)#route-target import 100:10

Kita lihat hasilnya

R7(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 9, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
* i 1.1.1.1/32 45.45.45.4 0 100 0 100 10 i
Route Distinguisher: 200:20 (default for vrf B)
* i 1.1.1.1/32 45.45.45.4 0 100 0 100 10 i
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Perhatikan bahwa saat ini masing-masing PE sudah memiliki tabel routing BGP yang lengkap.

Tapi tunggu dulu, R2 memang sudah mengenai 8.8.8.8, tapi route nya masih belum best. perhatikan bahwa tidak ada symbol > pada route tersebut. Untuk mengatasi hal tersebut kita bisa mengkonfigurasikan next-hop-self di ASBR seperti berikut

R4(config)#router bgp 100
R4(config-router)#address-family vpnv4
R4(config-router-af)#nei 2.2.2.2 next-hop-self

Kita coba lihat lagi di PE

R2(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 11, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i
*>i 8.8.8.8/32 4.4.4.4 0 100 0 200 20 i
Route Distinguisher: 200:20
*>i 8.8.8.8/32 4.4.4.4 0 100 0 200 20 i

Perhatikan bahwa saat ini route-nya sudah best. selanjutnya kita lakukan di R5

R5(config)#router bgp 200
R5(config-router)#address-family vpnv4
R5(config-router-af)#nei 7.7.7.7 next-hop-self

Kita coba lihat hasilnya di R7

R7(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 11, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10
*>i 1.1.1.1/32 5.5.5.5 0 100 0 100 10 i
Route Distinguisher: 200:20 (default for vrf B)
*>i 1.1.1.1/32 5.5.5.5 0 100 0 100 10 i
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Perhatikan bahwa saat ini jalurnya sudah best. Terahir kita coba lihat di sisi customer

R1#sh ip rou
...
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
8.0.0.0/32 is subnetted, 1 subnets
B 8.8.8.8 [20/0] via 12.12.12.2, 00:02:25
12.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 12.12.12.0/24 is directly connected, Ethernet0/0
L 12.12.12.1/32 is directly connected, Ethernet0/0
R8#sh ip route
...
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
B 1.1.1.1 [20/0] via 78.78.78.7, 00:01:52
8.0.0.0/32 is subnetted, 1 subnets
C 8.8.8.8 is directly connected, Loopback0
78.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 78.78.78.0/24 is directly connected, Ethernet0/0
L 78.78.78.8/32 is directly connected, Ethernet0/0

Perhatikan bahwa saat ini customer 1 sudah punya tabel routing tentang customer 2, begitu juga dengan customer 2 juga sudah punya tabel routing tentang customer 1.

Kita coba lakukan ping

R1#ping 8.8.8.8 sou lo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms

Oke hasilnya sukses!!.. coba kita lakukan traceroute

R1#trace 8.8.8.8 sou lo0
Type escape sequence to abort.
Tracing the route to 8.8.8.8
VRF info: (vrf in name/id, vrf out name/id)
1 12.12.12.2 1 msec 0 msec 0 msec
2 23.23.23.3 [MPLS: Labels 18/22 Exp 0] 2 msec 1 msec 2 msec
3 34.34.34.4 [MPLS: Label 22 Exp 0] 1 msec 1 msec 1 msec
4 45.45.45.5 [MPLS: Label 18 Exp 0] 2 msec 2 msec 1 msec
5 56.56.56.6 [MPLS: Labels 16/20 Exp 0] 1 msec 2 msec 1 msec
6 78.78.78.7 [MPLS: Label 20 Exp 0] 2 msec 1 msec 1 msec
7 78.78.78.8 1 msec 1 msec 2 msec

Perhatikan bahwa saat ini paket nya sudah berlabel. Jika Anda ingat, pada Option A, saat paket melewati 45.45.45.5, paket tersebut tidak berlabel. perhatikan hasil trace route saat menggunakan option A berikut

R1#trace 8.8.8.8 sou lo0
Type escape sequence to abort.
Tracing the route to 8.8.8.8
VRF info: (vrf in name/id, vrf out name/id)
1 12.12.12.2 1 msec 5 msec 1 msec
2 23.23.23.3 [MPLS: Labels 18/16 Exp 0] 1 msec 1 msec 0 msec
3 45.45.45.4 [MPLS: Label 16 Exp 0] 0 msec 0 msec 1 msec
4 45.45.45.5 1 msec 1 msec 1 msec
5 56.56.56.6 [MPLS: Labels 16/20 Exp 0] 2 msec 1 msec 2 msec
6 78.78.78.7 [MPLS: Label 20 Exp 0] 1 msec 2 msec 1 msec
7 78.78.78.8 2 msec 1 msec 2 msec

Oke.. sudah tau bedanya kan?

Perhatikan ilustrasi berikut

R4(config-router-af)#do sh ip bgp vpnv4 all 8.8.8.8
BGP routing table entry for 200:20:8.8.8.8/32, version 15
Paths: (1 available, best #1, no table)
Advertised to update-groups:
6
Refresh Epoch 4
200 20
45.45.45.5 from 45.45.45.5 (5.5.5.5)
Origin IGP, localpref 100, valid, external, best
Extended Community: RT:200:20
mpls labels in/
out 22/18

Perhatikan bahwa saat paket keluar dari ASBR, paket tersebut akan diberikan label kembali. bandingkan dengan hasil show pada Option A berikut

R4(config)#do sh ip bgp vpnv4 all 8.8.8.8
BGP routing table entry for 100:10:8.8.8.8/32, version 8
Paths: (1 available, best #1, table A)
Advertised to update-groups:
3
Refresh Epoch 1
200 20
45.45.45.5 from 45.45.45.5 (5.5.5.5)
Origin IGP, localpref 100, valid, external, best
Extended Community: RT:100:10
mpls labels in/
out 16/nolabel

Oke.. sudah tau bedanya kan? sampai disini dulu yaa.. semoga bermanfaat.. semoga segera ada kesempatan untuk nulis lagi ya.. hehe

Lab 138 – Inter-AS MPLS VPN – Option A (Back to Back VRF)

Secara umum, saat kita mengkonfigurasikan MPLS VPN, maka setiap customer akan terhubung pada service provider yang sama.

Namun ada kalanya ada dua customer yang terhubung dengan service provider yang berbeda seperti berikut.

Tujuan kita pada topologi tersebut adalah agar Customer A dan Customer B bisa saling berkomunikasi.

Pertama kita konfigurasikan BGP antara R2 (PE) dengan R1 (CE). Berikut konfigurasi pada R2

R2(config)#ip vrf A
R2(config-vrf)#rd 100:10
R2(config-vrf)#route-target both 100:10

R2(config-vrf)#int e0/0
R2(config-if)#no sh
R2(config-if)#ip vrf forwarding A
R2(config-if)#ip add 12.12.12.2 255.255.255.0

R2(config-if)#router bgp 100
R2(config-router)#bgp router-id 2.2.2.2
R2(config-router)#address-family ipv4 vrf A
R2(config-router-af)#nei 12.12.12.1 remote-as 10
R2(config-router-af)#nei 12.12.12.1 activate

Berikut konfigurasi di R1

R1(config)#int e0/0
R1(config-if)#no sh
R1(config-if)#ip add 12.12.12.1 255.255.255.0

R1(config-if)#int lo0
R1(config-if)#ip add 1.1.1.1 255.255.255.255

R1(config-if)#router bgp 10
R1(config-router)#bgp router-id 1.1.1.1
R1(config-router)#nei 12.12.12.2 remote-as 100
R1(config-router)#net 1.1.1.1 mask 255.255.255.255

Untuk pengujian, pastikan R2 (PE) mengetahui ip loopback yang diadvertise oleh R1 (CE)

R2#show ip bgp vpnv4 all
BGP table version is 2, local router ID is 2.2.2.2
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i

Oke.. konfigurasi antara R2(PE) dengan R1(CE) sudah selesai. Selanjutnya kita konfigurasikan juga antara R7(PE) dan R8(CE). Berikut konfigurasi di R7(PE)

R7(config)#ip vrf B
R7(config-vrf)#rd 200:20
R7(config-vrf)#route-target both 200:20

R7(config-vrf)#int e0/1
R7(config-if)#ip vrf for B
R7(config-if)#no sh
R7(config-if)#ip add 78.78.78.7 255.255.255.0

R7(config-if)#router bgp 200
R7(config-router)#bgp router-id 7.7.7.7
R7(config-router)#address-family ipv4 vrf B
R7(config-router-af)#nei 78.78.78.8 remote-as 20
R7(config-router-af)#nei 78.78.78.8 activate

Berikut konfigurasi di R8(CE)

R8(config)#int e0/0
R8(config-if)#no sh
R8(config-if)#ip add 78.78.78.8 255.255.255.0

R8(config-if)#int lo0
R8(config-if)#ip add 8.8.8.8 255.255.255.255

R8(config-if)#router bgp 20
R8(config-router)#bgp router-id 8.8.8.8
R8(config-router)#nei 78.78.78.7 remote-as 200
R8(config-router)#net 8.8.8.8 mask 255.255.255.255

Kita pastikan R7(PE) sudah mengetahui tentang loopback yang diadvertise oleh R8(CE)

R7(config-router-af)#do sh ip bgp vpnv4 all
BGP table version is 2, local router ID is 7.7.7.7
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 200:20 (default for vrf B)
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Oke sampai saat ini kita sudah selesai konfigurasi antara PE dan CE disisi kanan dan kiri. Selanjutnya kita akan konfigurasi MPLS Backbone pada ISP.

Berikut konfigurasi MPLS Backbone di ISP A

R2(config)#int e0/1
R2(config-if)#no sh
R2(config-if)#ip add 23.23.23.2 255.255.255.0

R2(config-if)#int lo0
R2(config-if)#ip add 2.2.2.2 255.255.255.255

R2(config-if)#router ospf 1
R2(config-router)#net 23.23.23.2 0.0.0.0 are 0
R2(config-router)#net 2.2.2.2 0.0.0.0 are 0

R2(config-router)#int e0/1
R2(config-if)#mpls ip
R3(config)#int e0/0
R3(config-if)#no sh
R3(config-if)#ip add 23.23.23.3 255.255.255.0

R3(config-if)#int e0/1
R3(config-if)#no sh
R3(config-if)#ip add 34.34.34.3 255.255.255.0

R3(config-if)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.255

R3(config-if)#router ospf 1
R3(config-router)#net 23.23.23.3 0.0.0.0 are 0
R3(config-router)#net 34.34.34.3 0.0.0.0 are 0
R3(config-router)#net 3.3.3.3 0.0.0.0 are 0

R3(config-router)#int rang e0/0-1
R3(config-if-range)#mpls ip
R4(config)#int e0/0
R4(config-if)#no sh
R4(config-if)#ip add 34.34.34.4 255.255.255.0

R4(config-if)#int lo0
R4(config-if)#ip add 4.4.4.4 255.255.255.255

R4(config-if)#router ospf 1
R4(config-router)#net 34.34.34.4 0.0.0.0 are 0
R4(config-router)#net 4.4.4.4 0.0.0.0 are 0

R4(config-router)#int e0/0
R4(config-if)#mpls ip

Konfigurasi diatas hanya untuk konfigurasi OSPF dan MPLS saja.. Selanjuntya kita konfigurasikan VPNv4 pada R2(PE) dan R4(PE). Berikut konfigurasi pada R2(PE)

R2(config)#router bgp 100
R2(config-router)#nei 4.4.4.4 remote-as 100
R2(config-router)#nei 4.4.4.4 upd lo0
R2(config-router)#address-family vpnv4
R2(config-router-af)#nei 4.4.4.4 activate

Berikut konfigurasi di R4(PE). Pada R4 kita perlu membuat VRF A untuk mengimport route yg diexport oleh R2

R4(config-if)#ip vrf A
R4(config-vrf)#rd 100:10
R4(config-vrf)#route-target import 100:10

R4(config-vrf)#router bgp 100
R4(config-router)#nei 2.2.2.2 remote-as 100
R4(config-router)#nei 2.2.2.2 upd lo0
R4(config-router)#address-family vpnv4
R4(config-router-af)#nei 2.2.2.2 activate

Untuk pengujian, pastikan bahwa R4 sudah mengetahui network 1.1.1.1 yang diadvertise oleh customer A

R4(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 3, local router ID is 4.4.4.4
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*>i 1.1.1.1/32 2.2.2.2 0 100 0 10 i

Perhatikan bahwa R4 sudah mengetahui keberadaan 1.1.1.1, ini artinya kita sudah berhasil.

Lakukan hal yang sama seperti diatas pada ISP B. Pertama kita konfigurasikan OSPF dan MPLS terlebih dahulu

R5(config)#int e0/1
R5(config-if)#no sh
R5(config-if)#ip add 56.56.56.5 255.255.255.0

R5(config-if)#int lo0
R5(config-if)#ip add 5.5.5.5 255.255.255.255

R5(config-if)#router ospf 1
R5(config-router)#net 56.56.56.5 0.0.0.0 are 0
R5(config-router)#net 5.5.5.5 0.0.0.0 are 0

R5(config-router)#int e0/1
R5(config-if)#mpls ip
R6(config)#int e0/0
R6(config-if)#no sh
R6(config-if)#ip add 56.56.56.6 255.255.255.0

R6(config-if)#int e0/1
R6(config-if)#no sh
R6(config-if)#ip add 67.67.67.6 255.255.255.0

R6(config-if)#int lo0
R6(config-if)#ip add 6.6.6.6 255.255.255.255

R6(config-if)#router ospf 1
R6(config-router)#net 56.56.56.6 0.0.0.0 are 0
R6(config-router)#net 67.67.67.6 0.0.0.0 are 0
R6(config-router)#net 6.6.6.6 0.0.0.0 are 0

R6(config-router)#int rang e0/0-1
R6(config-if-range)#mpls ip
R7(config)#int e0/0
R7(config-if)#no sh
R7(config-if)#ip add 67.67.67.7 255.255.255.0

R7(config-if)#int lo0
R7(config-if)#ip add 7.7.7.7 255.255.255.255

R7(config-if)#router ospf 1
R7(config-router)#net 67.67.67.7 0.0.0.0 are 0
R7(config-router)#net 7.7.7.7 0.0.0.0 are 0

R7(config-router)#int e0/0
R7(config-if)#mpls ip

Oke konfigurasi MPLS sudah selesai, selanjutnya kita konfigurasikan VPNv4 antara R5(PE) dan R7(PE). Berikut konfigurasi di R7

R7(config-if)#router bgp 200
R7(config-router)#nei 5.5.5.5 remote-as 200
R7(config-router)#nei 5.5.5.5 upd lo0
R7(config-router)#address-family vpnv4
R7(config-router-af)#nei 5.5.5.5 activate

Untuk konfigurasi R5, kita perlu membuat vrf B untuk mengimport route yang diexport oleh R7

R5(config)#ip vrf B
R5(config-vrf)#rd 200:20
R5(config-vrf)#route-target import 200:20

R5(config-vrf)#router bgp 200
R5(config-router)#nei 7.7.7.7 remote-as 200
R5(config-router)#nei 7.7.7.7 upd lo0
R5(config-router)#address-family vpnv4
R5(config-router-af)#nei 7.7.7.7 activate

Untuk pengujian.. pastikan bahwa R5 sudah mengetahui network 8.8.8.8

R5(config-router-af)#do sh ip bgp vpnv4 all
BGP table version is 3, local router ID is 5.5.5.5
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 200:20 (default for vrf B)
*>i 8.8.8.8/32 7.7.7.7 0 100 0 20 i

Oke.. sampai saat ini konfigurasi di ISP A dan ISP B sudah selesai..

Langkah terahir yang harus kita lakukan adalah mengkoneksikan antara ISP A dan ISP B. Jika kita memiliki beberapa VRF, kita bisa memanfaatkan sub interface untuk koneksi antara ISP A dan ISP B ini.

Berikut konfigurasi pada R4(ISP A). Kita perlu menambahkan route-target export pada vrf. Kenapa perlu menambahkan export? hal ini karena R4 bertindak sebagai PE dan R5 sebagai CE (perspektif dari R4), sehingga R4 perlu mengexport route dari R5 agar ISP A bisa mengetahui route dari R5.

R4(config-router)#ip vrf A
R4(config-vrf)#route-target export 100:10

R4(config-vrf)#int e0/1
R4(config-if)#no sh

R4(config-if)#int e0/1.45
R4(config-subif)#ip vrf forwarding A
R4(config-subif)#enc do 45
R4(config-subif)#ip add 45.45.45.4 255.255.255.0

R4(config-subif)#router bgp 100
R4(config-router)#address-family ipv4 vrf A
R4(config-router-af)#nei 45.45.45.5 remote-as 200

Berikut konfigurasi di R5(ISP B). Kita juga perlu menambahkan route-target export pada VRF. Kenapa perlu menambahkan export? hal ini karena R5 bertindak sebagai PE dan R4 sebagai CE (perspektif dari R5), sehingga R5 perlu mengexport route dari R4 agar ISP B bisa mengetahui route dari R4.

R5(config-router)#ip vrf B
R5(config-vrf)#route-target export 200:20

R5(config-vrf)#int e0/0
R5(config-if)#no sh

R5(config-if)#int e0/0.45
R5(config-subif)#ip vrf forwarding B
R5(config-subif)#enc do 45
R5(config-subif)#ip add 45.45.45.5 255.255.255.0

R5(config-subif)#router bgp 200
R5(config-router)#address-family ipv4 vrf B
R5(config-router-af)#nei 45.45.45.4 remote-as 100

Untuk pengujian,, pastikan customer A memiliki tabel routing tentang loopback customer B. begitu juga sebaliknya

R1(config-router)#do sh ip ro bgp
....
Gateway of last resort is not set

8.0.0.0/32 is subnetted, 1 subnets
B 8.8.8.8 [20/0] via 12.12.12.2, 00:08:31
R8(config-router)#do sh ip ro bgp
....
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
B 1.1.1.1 [20/0] via 78.78.78.7, 00:08:31

Oke.. customer A sudah punya tabel routing tentang loopback customer B, begitu juga sebaliknya. Terahir kita coba ping

R1(config-router)#do ping 8.8.8.8 source lo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

Okee!! ping sukses!! Kita coba traceroute

R1#trace 8.8.8.8 sou lo0
Type escape sequence to abort.
Tracing the route to 8.8.8.8
VRF info: (vrf in name/id, vrf out name/id)
1 12.12.12.2 1 msec 5 msec 1 msec
2 23.23.23.3 [MPLS: Labels 18/16 Exp 0] 1 msec 1 msec 0 msec
3 45.45.45.4 [MPLS: Label 16 Exp 0] 0 msec 0 msec 1 msec
4 45.45.45.5 1 msec 1 msec 1 msec
5 56.56.56.6 [MPLS: Labels 16/20 Exp 0] 2 msec 1 msec 2 msec
6 78.78.78.7 [MPLS: Label 20 Exp 0] 1 msec 2 msec 1 msec
7 78.78.78.8 2 msec 1 msec 2 msec 

Perhatikan hasil traceroute diatas, terlihat bahwa paket tidak memiliki label saat melewati 45.45.45.5. Hal ini dikarenakan kita tidak menjalankan MPLS antar Service Provider.

Perhatikan ilustrasi berikut

R4(config)#do sh ip bgp vpnv4 all 8.8.8.8
BGP routing table entry for 100:10:8.8.8.8/32, version 8
Paths: (1 available, best #1, table A)
Advertised to update-groups:
3
Refresh Epoch 1
200 20
45.45.45.5 from 45.45.45.5 (5.5.5.5)
Origin IGP, localpref 100, valid, external, best
Extended Community: RT:100:10
mpls labels in/
out 16/nolabel

Perhatikan bahwa dari R4, route menuju 8.8.8.8 tidak memiliki label. Karena memang antar R4 dan R5 tidak menjalankan MPLS.

Oke sampai disini dulu yaa.. In Syaa Allah secepatnya saya akan update materi selanjutnya.. selanjutnya In Syaa Allah masih tentang Inter-AS MPLS VPN, di postingan selanjutnya kita akan menjalankan MPLS antar Service Provider

Lab 138 – Inter-AS MPLS VPN – Option A (Back to Back VRF)

Secara umum, saat kita mengkonfigurasikan MPLS VPN, maka setiap customer akan terhubung pada service provider yang sama.

Namun ada kalanya ada dua customer yang terhubung dengan service provider yang berbeda seperti berikut.

Tujuan kita pada topologi tersebut adalah agar Customer A dan Customer B bisa saling berkomunikasi.

Pertama kita konfigurasikan BGP antara R2 (PE) dengan R1 (CE). Berikut konfigurasi pada R2

R2(config)#ip vrf A
R2(config-vrf)#rd 100:10
R2(config-vrf)#route-target both 100:10

R2(config-vrf)#int e0/0
R2(config-if)#no sh
R2(config-if)#ip vrf forwarding A
R2(config-if)#ip add 12.12.12.2 255.255.255.0

R2(config-if)#router bgp 100
R2(config-router)#bgp router-id 2.2.2.2
R2(config-router)#address-family ipv4 vrf A
R2(config-router-af)#nei 12.12.12.1 remote-as 10
R2(config-router-af)#nei 12.12.12.1 activate

Berikut konfigurasi di R1

R1(config)#int e0/0
R1(config-if)#no sh
R1(config-if)#ip add 12.12.12.1 255.255.255.0

R1(config-if)#int lo0
R1(config-if)#ip add 1.1.1.1 255.255.255.255

R1(config-if)#router bgp 10
R1(config-router)#bgp router-id 1.1.1.1
R1(config-router)#nei 12.12.12.2 remote-as 100
R1(config-router)#net 1.1.1.1 mask 255.255.255.255

Untuk pengujian, pastikan R2 (PE) mengetahui ip loopback yang diadvertise oleh R1 (CE)

R2#show ip bgp vpnv4 all
BGP table version is 2, local router ID is 2.2.2.2
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*> 1.1.1.1/32 12.12.12.1 0 0 10 i

Oke.. konfigurasi antara R2(PE) dengan R1(CE) sudah selesai. Selanjutnya kita konfigurasikan juga antara R7(PE) dan R8(CE). Berikut konfigurasi di R7(PE)

R7(config)#ip vrf B
R7(config-vrf)#rd 200:20
R7(config-vrf)#route-target both 200:20

R7(config-vrf)#int e0/1
R7(config-if)#ip vrf for B
R7(config-if)#no sh
R7(config-if)#ip add 78.78.78.7 255.255.255.0

R7(config-if)#router bgp 200
R7(config-router)#bgp router-id 7.7.7.7
R7(config-router)#address-family ipv4 vrf B
R7(config-router-af)#nei 78.78.78.8 remote-as 20
R7(config-router-af)#nei 78.78.78.8 activate

Berikut konfigurasi di R8(CE)

R8(config)#int e0/0
R8(config-if)#no sh
R8(config-if)#ip add 78.78.78.8 255.255.255.0

R8(config-if)#int lo0
R8(config-if)#ip add 8.8.8.8 255.255.255.255

R8(config-if)#router bgp 20
R8(config-router)#bgp router-id 8.8.8.8
R8(config-router)#nei 78.78.78.7 remote-as 200
R8(config-router)#net 8.8.8.8 mask 255.255.255.255

Kita pastikan R7(PE) sudah mengetahui tentang loopback yang diadvertise oleh R8(CE)

R7(config-router-af)#do sh ip bgp vpnv4 all
BGP table version is 2, local router ID is 7.7.7.7
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 200:20 (default for vrf B)
*> 8.8.8.8/32 78.78.78.8 0 0 20 i

Oke sampai saat ini kita sudah selesai konfigurasi antara PE dan CE disisi kanan dan kiri. Selanjutnya kita akan konfigurasi MPLS Backbone pada ISP.

Berikut konfigurasi MPLS Backbone di ISP A

R2(config)#int e0/1
R2(config-if)#no sh
R2(config-if)#ip add 23.23.23.2 255.255.255.0

R2(config-if)#int lo0
R2(config-if)#ip add 2.2.2.2 255.255.255.255

R2(config-if)#router ospf 1
R2(config-router)#net 23.23.23.2 0.0.0.0 are 0
R2(config-router)#net 2.2.2.2 0.0.0.0 are 0

R2(config-router)#int e0/1
R2(config-if)#mpls ip
R3(config)#int e0/0
R3(config-if)#no sh
R3(config-if)#ip add 23.23.23.3 255.255.255.0

R3(config-if)#int e0/1
R3(config-if)#no sh
R3(config-if)#ip add 34.34.34.3 255.255.255.0

R3(config-if)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.255

R3(config-if)#router ospf 1
R3(config-router)#net 23.23.23.3 0.0.0.0 are 0
R3(config-router)#net 34.34.34.3 0.0.0.0 are 0
R3(config-router)#net 3.3.3.3 0.0.0.0 are 0

R3(config-router)#int rang e0/0-1
R3(config-if-range)#mpls ip
R4(config)#int e0/0
R4(config-if)#no sh
R4(config-if)#ip add 34.34.34.4 255.255.255.0

R4(config-if)#int lo0
R4(config-if)#ip add 4.4.4.4 255.255.255.255

R4(config-if)#router ospf 1
R4(config-router)#net 34.34.34.4 0.0.0.0 are 0
R4(config-router)#net 4.4.4.4 0.0.0.0 are 0

R4(config-router)#int e0/0
R4(config-if)#mpls ip

Konfigurasi diatas hanya untuk konfigurasi OSPF dan MPLS saja.. Selanjuntya kita konfigurasikan VPNv4 pada R2(PE) dan R4(PE). Berikut konfigurasi pada R2(PE)

R2(config)#router bgp 100
R2(config-router)#nei 4.4.4.4 remote-as 100
R2(config-router)#nei 4.4.4.4 upd lo0
R2(config-router)#address-family vpnv4
R2(config-router-af)#nei 4.4.4.4 activate

Berikut konfigurasi di R4(PE). Pada R4 kita perlu membuat VRF A untuk mengimport route yg diexport oleh R2

R4(config-if)#ip vrf A
R4(config-vrf)#rd 100:10
R4(config-vrf)#route-target import 100:10

R4(config-vrf)#router bgp 100
R4(config-router)#nei 2.2.2.2 remote-as 100
R4(config-router)#nei 2.2.2.2 upd lo0
R4(config-router)#address-family vpnv4
R4(config-router-af)#nei 2.2.2.2 activate

Untuk pengujian, pastikan bahwa R4 sudah mengetahui network 1.1.1.1 yang diadvertise oleh customer A

R4(config-vrf)#do sh ip bgp vpnv4 all
BGP table version is 3, local router ID is 4.4.4.4
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:10 (default for vrf A)
*>i 1.1.1.1/32 2.2.2.2 0 100 0 10 i

Perhatikan bahwa R4 sudah mengetahui keberadaan 1.1.1.1, ini artinya kita sudah berhasil.

Lakukan hal yang sama seperti diatas pada ISP B. Pertama kita konfigurasikan OSPF dan MPLS terlebih dahulu

R5(config)#int e0/1
R5(config-if)#no sh
R5(config-if)#ip add 56.56.56.5 255.255.255.0

R5(config-if)#int lo0
R5(config-if)#ip add 5.5.5.5 255.255.255.255

R5(config-if)#router ospf 1
R5(config-router)#net 56.56.56.5 0.0.0.0 are 0
R5(config-router)#net 5.5.5.5 0.0.0.0 are 0

R5(config-router)#int e0/1
R5(config-if)#mpls ip
R6(config)#int e0/0
R6(config-if)#no sh
R6(config-if)#ip add 56.56.56.6 255.255.255.0

R6(config-if)#int e0/1
R6(config-if)#no sh
R6(config-if)#ip add 67.67.67.6 255.255.255.0

R6(config-if)#int lo0
R6(config-if)#ip add 6.6.6.6 255.255.255.255

R6(config-if)#router ospf 1
R6(config-router)#net 56.56.56.6 0.0.0.0 are 0
R6(config-router)#net 67.67.67.6 0.0.0.0 are 0
R6(config-router)#net 6.6.6.6 0.0.0.0 are 0

R6(config-router)#int rang e0/0-1
R6(config-if-range)#mpls ip
R7(config)#int e0/0
R7(config-if)#no sh
R7(config-if)#ip add 67.67.67.7 255.255.255.0

R7(config-if)#int lo0
R7(config-if)#ip add 7.7.7.7 255.255.255.255

R7(config-if)#router ospf 1
R7(config-router)#net 67.67.67.7 0.0.0.0 are 0
R7(config-router)#net 7.7.7.7 0.0.0.0 are 0

R7(config-router)#int e0/0
R7(config-if)#mpls ip

Oke konfigurasi MPLS sudah selesai, selanjutnya kita konfigurasikan VPNv4 antara R5(PE) dan R7(PE). Berikut konfigurasi di R7

R7(config-if)#router bgp 200
R7(config-router)#nei 5.5.5.5 remote-as 200
R7(config-router)#nei 5.5.5.5 upd lo0
R7(config-router)#address-family vpnv4
R7(config-router-af)#nei 5.5.5.5 activate

Untuk konfigurasi R5, kita perlu membuat vrf B untuk mengimport route yang diexport oleh R7

R5(config)#ip vrf B
R5(config-vrf)#rd 200:20
R5(config-vrf)#route-target import 200:20

R5(config-vrf)#router bgp 200
R5(config-router)#nei 7.7.7.7 remote-as 200
R5(config-router)#nei 7.7.7.7 upd lo0
R5(config-router)#address-family vpnv4
R5(config-router-af)#nei 7.7.7.7 activate

Untuk pengujian.. pastikan bahwa R5 sudah mengetahui network 8.8.8.8

R5(config-router-af)#do sh ip bgp vpnv4 all
BGP table version is 3, local router ID is 5.5.5.5
....
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 200:20 (default for vrf B)
*>i 8.8.8.8/32 7.7.7.7 0 100 0 20 i

Oke.. sampai saat ini konfigurasi di ISP A dan ISP B sudah selesai..

Langkah terahir yang harus kita lakukan adalah mengkoneksikan antara ISP A dan ISP B. Jika kita memiliki beberapa VRF, kita bisa memanfaatkan sub interface untuk koneksi antara ISP A dan ISP B ini.

Berikut konfigurasi pada R4(ISP A). Kita perlu menambahkan route-target export pada vrf. Kenapa perlu menambahkan export? hal ini karena R4 bertindak sebagai PE dan R5 sebagai CE (perspektif dari R4), sehingga R4 perlu mengexport route dari R5 agar ISP A bisa mengetahui route dari R5.

R4(config-router)#ip vrf A
R4(config-vrf)#route-target export 100:10

R4(config-vrf)#int e0/1
R4(config-if)#no sh

R4(config-if)#int e0/1.45
R4(config-subif)#ip vrf forwarding A
R4(config-subif)#enc do 45
R4(config-subif)#ip add 45.45.45.4 255.255.255.0

R4(config-subif)#router bgp 100
R4(config-router)#address-family ipv4 vrf A
R4(config-router-af)#nei 45.45.45.5 remote-as 200

Berikut konfigurasi di R5(ISP B). Kita juga perlu menambahkan route-target export pada VRF. Kenapa perlu menambahkan export? hal ini karena R5 bertindak sebagai PE dan R4 sebagai CE (perspektif dari R5), sehingga R5 perlu mengexport route dari R4 agar ISP B bisa mengetahui route dari R4.

R5(config-router)#ip vrf B
R5(config-vrf)#route-target export 200:20

R5(config-vrf)#int e0/0
R5(config-if)#no sh

R5(config-if)#int e0/0.45
R5(config-subif)#ip vrf forwarding B
R5(config-subif)#enc do 45
R5(config-subif)#ip add 45.45.45.5 255.255.255.0

R5(config-subif)#router bgp 200
R5(config-router)#address-family ipv4 vrf B
R5(config-router-af)#nei 45.45.45.4 remote-as 100

Untuk pengujian,, pastikan customer A memiliki tabel routing tentang loopback customer B. begitu juga sebaliknya

R1(config-router)#do sh ip ro bgp
....
Gateway of last resort is not set

8.0.0.0/32 is subnetted, 1 subnets
B 8.8.8.8 [20/0] via 12.12.12.2, 00:08:31
R8(config-router)#do sh ip ro bgp
....
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
B 1.1.1.1 [20/0] via 78.78.78.7, 00:08:31

Oke.. customer A sudah punya tabel routing tentang loopback customer B, begitu juga sebaliknya. Terahir kita coba ping

R1(config-router)#do ping 8.8.8.8 source lo0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

Okee!! ping sukses!! Kita coba traceroute

R1#trace 8.8.8.8 sou lo0
Type escape sequence to abort.
Tracing the route to 8.8.8.8
VRF info: (vrf in name/id, vrf out name/id)
1 12.12.12.2 1 msec 5 msec 1 msec
2 23.23.23.3 [MPLS: Labels 18/16 Exp 0] 1 msec 1 msec 0 msec
3 45.45.45.4 [MPLS: Label 16 Exp 0] 0 msec 0 msec 1 msec
4 45.45.45.5 1 msec 1 msec 1 msec
5 56.56.56.6 [MPLS: Labels 16/20 Exp 0] 2 msec 1 msec 2 msec
6 78.78.78.7 [MPLS: Label 20 Exp 0] 1 msec 2 msec 1 msec
7 78.78.78.8 2 msec 1 msec 2 msec 

Perhatikan hasil traceroute diatas, terlihat bahwa paket tidak memiliki label saat melewati 45.45.45.5. Hal ini dikarenakan kita tidak menjalankan MPLS antar Service Provider.

Perhatikan ilustrasi berikut

R4(config)#do sh ip bgp vpnv4 all 8.8.8.8
BGP routing table entry for 100:10:8.8.8.8/32, version 8
Paths: (1 available, best #1, table A)
Advertised to update-groups:
3
Refresh Epoch 1
200 20
45.45.45.5 from 45.45.45.5 (5.5.5.5)
Origin IGP, localpref 100, valid, external, best
Extended Community: RT:100:10
mpls labels in/
out 16/nolabel

Perhatikan bahwa dari R4, route menuju 8.8.8.8 tidak memiliki label. Karena memang antar R4 dan R5 tidak menjalankan MPLS.

Oke sampai disini dulu yaa.. In Syaa Allah secepatnya saya akan update materi selanjutnya.. selanjutnya In Syaa Allah masih tentang Inter-AS MPLS VPN, di postingan selanjutnya kita akan menjalankan MPLS antar Service Provider