Difference between revisions of "Mikrotik: BGP Dua Link main backup"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "center|900px|thumb Ada tiga (3) ISP ISP1: IP 192.168.1.1/24 menuju ISP3 IP 192.168.3.1/24 menuju ISP2 AS 10 IP 10.100.100.0/24 IP 10.100.20...")
 
 
(7 intermediate revisions by the same user not shown)
Line 67: Line 67:
 
  /ip address add interface=ether3 address=10.1.1.1/24
 
  /ip address add interface=ether3 address=10.1.1.1/24
 
  /ip address add interface=ether4 address=10.1.2.1/24
 
  /ip address add interface=ether4 address=10.1.2.1/24
 
 
  
 
==BGP Peering==
 
==BGP Peering==
Line 76: Line 74:
  
 
ISP1:
 
ISP1:
 
enable
 
configure terminal
 
  router bgp 10
 
  bgp router-id 192.168.1.1
 
    ! address-family ipv4 unicast
 
    network 10.100.100.0 mask 255.255.255.0
 
    network 10.100.200.0 mask 255.255.255.0
 
    neighbor 192.168.3.2 remote-as 20
 
    neighbor 192.168.1.2 remote-as 30
 
    neighbor 192.168.3.2 activate
 
    neighbor 192.168.1.2 activate
 
    ! neighbor 192.168.3.2 default-originate
 
    ! neighbor 192.168.1.2 default-originate
 
  end
 
 
  
 
  #set our AS number
 
  #set our AS number
Line 97: Line 79:
 
  #add BGP peers
 
  #add BGP peers
 
  /routing bgp peer
 
  /routing bgp peer
 +
add name=toISP2 remote-address=192.168.3.2 remote-as=20
 
  add name=toISP3 remote-address=192.168.1.2 remote-as=30
 
  add name=toISP3 remote-address=192.168.1.2 remote-as=30
  add name=toISP2 remote-address=192.168.3.2 remote-as=20
+
  # jika ingin redistribute default route ke client yang spesifik
 
+
# add name=toISP2 remote-address=192.168.3.2 remote-as=20 default-originate=if-installed
 +
# add name=toISP3 remote-address=192.168.1.2 remote-as=30 default-originate=if-installed
 +
#
 +
# advertize routing
 +
#
 +
/routing bgp network
 +
add network=10.100.100.0/24 synchronize=no
 +
add network=10.100.200.0/24 synchronize=no
  
 
ISP2:
 
ISP2:
 
 
enable
 
configure terminal
 
  router bgp 20
 
  bgp router-id 192.168.2.1
 
    ! address-family ipv4 unicast
 
    network 10.10.10.0 mask 255.255.255.0
 
    network 10.10.20.0 mask 255.255.255.0
 
    neighbor 192.168.3.1 remote-as 10
 
    neighbor 192.168.2.2 remote-as 30
 
    neighbor 192.168.3.1 activate
 
    neighbor 192.168.2.2 activate
 
  end
 
  
 
  #set our AS number
 
  #set our AS number
Line 123: Line 99:
 
  add name=toISP1 remote-address=192.168.3.1 remote-as=10
 
  add name=toISP1 remote-address=192.168.3.1 remote-as=10
 
  add name=toISP3 remote-address=192.168.2.2 remote-as=30
 
  add name=toISP3 remote-address=192.168.2.2 remote-as=30
 +
#
 +
# advertize routing
 +
#
 +
/routing bgp network
 +
add network=10.10.10.0/24 synchronize=no
 +
add network=10.10.20.0/24 synchronize=no
  
 +
ISP3:
  
==Main / Backup Link Setup di ISP3==
+
#set our AS number
 +
/routing bgp instance set default as=30
 +
#add BGP peers
 +
/routing bgp peer
 +
add name=toISP1 remote-address=192.168.1.1 remote-as=10
 +
add name=toISP2 remote-address=192.168.2.1 remote-as=20
 +
#
 +
# advertize routing
 +
#
 +
/routing bgp network
 +
add network=10.1.1.0/24 synchronize=no
 +
add network=10.1.2.0/24 synchronize=no
 +
 
 +
==Main/Backup link setup==
 +
 
 +
===ISP3===
  
 
Lakukan
 
Lakukan
 
* accept network kita sendiri
 
* accept network kita sendiri
 
* drop semua tabel IP lainnya, karena kita tidak mau menjadi transit provider
 
* drop semua tabel IP lainnya, karena kita tidak mau menjadi transit provider
* BGP AS prepend - menaikan AS path ke salah satu ISP (disini ISP1)
+
* BGP AS prepend - menaikan AS path
  
 
+
# setup routing filter
ISP3:
+
#
 
+
/routing bgp peer
  enable
+
set toISP1 in-filter=isp1-in out-filter=isp1-out
  configure terminal
+
set toISP2 in-filter=isp2-in out-filter=isp2-out
  router bgp 30
+
#
  bgp router-id 192.168.1.2
+
# Outgoing filter ke ISP1:
    ! address-family ipv4 unicast
+
#
    network 10.1.1.0 mask 255.255.255.0
+
  /routing filter
    network 10.1.2.0 mask 255.255.255.0
+
  #accept our networks
    neighbor 192.168.1.1 remote-as 10
+
add chain=isp1-out prefix=10.1.1.0/24 action=accept
    neighbor 198.168.1.1 route-map PREPEND out
+
add chain=isp1-out prefix=10.1.2.0/24 action=accept
    neighbor 192.168.2.1 remote-as 20
+
#discard the rest
    neighbor 192.168.1.1 activate
+
add chain=isp1-out action=discard
    neighbor 192.168.2.1 activate
+
#
    route-map PREPEND permit 10
+
# Outgoing filter ke ISP2:
    set as-path prepend 30 30 30 30 30
+
#
  end
+
/routing filter
 +
#accept our networks and prepend AS path three times
 +
add chain=isp2-out prefix=10.1.1.0/24 action=accept set-bgp-prepend=3
 +
add chain=isp2-out prefix=10.1.2.0/24 action=accept set-bgp-prepend=3
 +
#discard the rest
 +
add chain=isp2-out action=discard
 +
#
 +
# ISP1 menjadi main
 +
# ISP2 menjadi backup
 +
#
 +
/routing filter
 +
add chain=isp1-in action=discard
 +
add chain=isp2-in action=discard
 +
#
 +
/ip route
 +
add gateway=192.168.1.1 check-gateway=ping
 +
add gateway=192.168.2.1 distance=30 check-gateway=ping
  
 
==Cek==
 
==Cek==
  
  ! perhatikan AS 30 di tambahkan 5x ke routing ke arah AS 10
+
  /routing filter print
  !
+
  /routing bgp instance print
show ip bgp
+
  /routing bgp peer print status
 
+
  /routing bgp peer print
 
+
  /routing bgp advertisements print
  show ip route
+
  /ip route print
show ip bgp 10.100.1000.0/24
 
show ip bgp neighbors 192.168.2.2 advertised-routes
 
  show ip bgp neighbor 192.168.1.1 routes
 
  show bgp ipv4 unicast neighbors
 
  show bgp ipv4 unicast summary
 
  
 
==Referensi==
 
==Referensi==

Latest revision as of 11:22, 3 January 2019

Bgp-multihoming.png

Ada tiga (3) ISP

ISP1:

IP 192.168.1.1/24 menuju ISP3
IP 192.168.3.1/24 menuju ISP2
AS 10
IP 10.100.100.0/24
IP 10.100.200.0/24

ISP2

IP 192.168.2.1/24 - menuju ISP3
IP 192.168.3.2/24 - menuju ISP1
AS 20
IP 10.10.10.0/24
IP 10.10.20.0/24

ISP3 (kita)

IP 192.168.1.2/24 - menuju ISP1
IP 192.168.2.2/24 - menuju ISP2
AS 30
IP 10.1.1.0/24
IP 10.1.2.0/24 


Sambungan Fisik

ISP1


ISP1 ether0 -> ISP3 ether0
ISP1 ether1 -> ISP2 ether1
ISP2 ether0 -> ISP3 ether1

ISP1 ether2 10.100.100.1/24
ISP1 ether3 10.100.200.1/24

ISP2 ether2 10.10.10.1/24
ISP2 ether3 10.10.20.1/24

ISP3 ether2 10.1.1.1/24
ISP3 ether3 10.1.2.1/24


Setup connection

ISP1

/ip address add interface=ether1 address=192.168.1.1/24
/ip address add interface=ether2 address=192.168.3.1/24
/ip address add interface=ether3 address=10.100.100.1/24
/ip address add interface=ether3 address=10.100.200.1/24

ISP2

/ip address add interface=ether1 address=192.168.2.1/24
/ip address add interface=ether2 address=192.168.3.2/24
/ip address add interface=ether3 address=10.10.10.1/24
/ip address add interface=ether4 address=10.10.20.1/24

ISP3

/ip address add interface=ether1 address=192.168.1.2/24
/ip address add interface=ether2 address=192.168.2.2/24
/ip address add interface=ether3 address=10.1.1.1/24
/ip address add interface=ether4 address=10.1.2.1/24

BGP Peering

Consider that IP connectivity between ISPs edge routers and Our Core router is already set up and working properly. So we can start to establish BGP peering to both ISPs.


ISP1:

#set our AS number
/routing bgp instance set default as=10
#add BGP peers
/routing bgp peer
add name=toISP2 remote-address=192.168.3.2 remote-as=20
add name=toISP3 remote-address=192.168.1.2 remote-as=30
# jika ingin redistribute default route ke client yang spesifik
# add name=toISP2 remote-address=192.168.3.2 remote-as=20 default-originate=if-installed
# add name=toISP3 remote-address=192.168.1.2 remote-as=30 default-originate=if-installed
#
# advertize routing
#
/routing bgp network
add network=10.100.100.0/24 synchronize=no
add network=10.100.200.0/24 synchronize=no

ISP2:

#set our AS number
/routing bgp instance set default as=20
#add BGP peers
/routing bgp peer
add name=toISP1 remote-address=192.168.3.1 remote-as=10
add name=toISP3 remote-address=192.168.2.2 remote-as=30
#
# advertize routing
#
/routing bgp network
add network=10.10.10.0/24 synchronize=no
add network=10.10.20.0/24 synchronize=no

ISP3:

#set our AS number
/routing bgp instance set default as=30
#add BGP peers
/routing bgp peer
add name=toISP1 remote-address=192.168.1.1 remote-as=10
add name=toISP2 remote-address=192.168.2.1 remote-as=20
#
# advertize routing
#
/routing bgp network
add network=10.1.1.0/24 synchronize=no
add network=10.1.2.0/24 synchronize=no

Main/Backup link setup

ISP3

Lakukan

  • accept network kita sendiri
  • drop semua tabel IP lainnya, karena kita tidak mau menjadi transit provider
  • BGP AS prepend - menaikan AS path
# setup routing filter
#
/routing bgp peer
set toISP1 in-filter=isp1-in out-filter=isp1-out
set toISP2 in-filter=isp2-in out-filter=isp2-out
#
# Outgoing filter ke ISP1:
#
/routing filter
#accept our networks
add chain=isp1-out prefix=10.1.1.0/24 action=accept
add chain=isp1-out prefix=10.1.2.0/24 action=accept
#discard the rest
add chain=isp1-out action=discard
#
# Outgoing filter ke ISP2:
#
/routing filter
#accept our networks and prepend AS path three times
add chain=isp2-out prefix=10.1.1.0/24 action=accept set-bgp-prepend=3
add chain=isp2-out prefix=10.1.2.0/24 action=accept set-bgp-prepend=3
#discard the rest
add chain=isp2-out action=discard
# 
# ISP1 menjadi main
# ISP2 menjadi backup
#
/routing filter
add chain=isp1-in action=discard
add chain=isp2-in action=discard
#
/ip route
add gateway=192.168.1.1 check-gateway=ping
add gateway=192.168.2.1 distance=30 check-gateway=ping

Cek

/routing filter print
/routing bgp instance print
/routing bgp peer print status
/routing bgp peer print
/routing bgp advertisements print 
/ip route print

Referensi

Pranala Menarik