IPv6: Mikrotik: BGP Dua Link main backup - dengan as-path PREPEND

From OnnoWiki
Jump to navigation Jump to search
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

R1
e0 --> R3 e0
e1 --> R2 e1
e2 --> LAN 10.100.100.1/24
e3 --> LAN 10.100.200.1/24
R2
e0 --> R3 e1
e1 --> R1 e1
e2 --> LAN 10.10.10.1/24
e3 --> LAN 10.10.20.1/24
R3
e0 --> R1 e0
e1 --> R2 e0
e2 --> LAN 10.1.1.1/24
e3 --> LAN 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=ether4 address=10.100.200.1/24
/ipv6 address add interface=ether1 address=2001:192:168:1::1/64
/ipv6 address add interface=ether2 address=2001:192:168:3::1/64
/ipv6 address add interface=ether3 address=2001:10:100:100::1/64
/ipv6 address add interface=ether4 address=2001:10:100:200::1/64

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
/ipv6 address add interface=ether1 address=2001:192:168:2::1/64
/ipv6 address add interface=ether2 address=2001:192:168:3::2/64
/ipv6 address add interface=ether3 address=2001:10:10:10::1/64
/ipv6 address add interface=ether4 address=2001:10:10:20::1/64

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
/ipv6 address add interface=ether1 address=2001:192:168:1::2/64
/ipv6 address add interface=ether2 address=2001:192:168:2::2/64
/ipv6 address add interface=ether3 address=2001:10:1:1::1/64
/ipv6 address add interface=ether4 address=2001:10:1:2::1/64

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=toISP3 remote-address=192.168.1.2 remote-as=30 address-families=ip,ipv6
add name=toISP2 remote-address=192.168.3.2 remote-as=20 address-families=ip,ipv6
add name=toISP3 remote-address=2001:192:168:1::2 remote-as=30 address-families=ip,ipv6
add name=toISP2 remote-address=2001:192:168:3::2 remote-as=20 address-families=ip,ipv6
/routing bgp network add network=10.100.100.0/24 
/routing bgp network add network=10.100.200.0/24 
/routing bgp network add network=2001:10:100:100::/64
/routing bgp network add network=2001:10:100:200::/64

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 address-families=ip,ipv6
add name=toISP3 remote-address=192.168.2.2 remote-as=30 address-families=ip,ipv6
add name=toISP1 remote-address=2001:192:168:3::1 remote-as=10 address-families=ip,ipv6
add name=toISP3 remote-address=2001:192:168:2::2 remote-as=30 address-families=ip,ipv6
/routing bgp network add network=10.10.10.0/24 
/routing bgp network add network=10.10.20.0/24 
/routing bgp network add network=2001:10:10:10::/64
/routing bgp network add network=2001:10:10:20::/64

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 address-families=ip,ipv6
add name=toISP2 remote-address=192.168.2.1 remote-as=20 address-families=ip,ipv6
add name=toISP1 remote-address=2001:192:168:1::1 remote-as=10 address-families=ip,ipv6
add name=toISP2 remote-address=2001:192:168:2::1 remote-as=20 address-families=ip,ipv6
/routing bgp network add network=10.1.1.0/24
/routing bgp network add network=10.1.2.0/24 
/routing bgp network add network=2001:10:1:1::/64
/routing bgp network add network=2001:10:1:2::/64


PREPEND

#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 address-families=ip,ipv6
add name=toISP2 remote-address=192.168.2.1 remote-as=20 address-families=ip,ipv6
add name=toISP1 remote-address=2001:192:168:1::1 remote-as=10 address-families=ip,ipv6
add name=toISP2 remote-address=2001:192:168:2::1 remote-as=20 address-families=ip,ipv6
/routing bgp network add network=10.1.1.0/24
/routing bgp network add network=10.1.2.0/24 
/routing bgp network add network=2001:10:1:1::/64
/routing bgp network add network=2001:10:1:2::/64
/routing bgp peer
set toISP1 in-filter=isp1-in out-filter=isp1-out
set tpISP2 in-filter=isp2-in out-filter=isp2-out
# accept redistribute dan tambahkan / prepend AS
# discard lainnya
/routing filter
# prepend AS path
add chain=isp1-out prefix=0.0.0.0/0 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30,30,30,30,30"
add chain=isp1-out prefix=::/0 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30,30,30,30,30"
add chain=isp1-out prefix=0.0.0.0/0 locally-originated-bgp=no invert-match=no action=discard
add chain=isp1-out prefix=::/0 locally-originated-bgp=no invert-match=no action=discard
add chain=isp2-out prefix=0.0.0.0/0 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30,30,30,30,30"
add chain=isp2-out prefix=::/0 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30,30,30,30,30"
add chain=isp2-out prefix=0.0.0.0/0 locally-originated-bgp=no invert-match=no action=discard
add chain=isp2-out prefix=::/0 locally-originated-bgp=no invert-match=no action=discard


Orek2an

add chain=isp2-out prefix=10.1.1.0/24 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"
add chain=isp2-out prefix=10.1.2.0/24 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"
add chain=isp2-out prefix=2001:10:1:1::/64 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"
add chain=isp2-out prefix=2001:10:1:2::/64 locally-originated-bgp=yes invert-match=no action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"


add chain=isp2-out prefix=10.1.1.0/24 action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"
add chain=isp2-out prefix=10.1.2.0/24 action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"
add chain=isp2-out prefix=2001:10:1:1::/64 action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"
add chain=isp2-out prefix=2001:10:1:2::/64 action=accept set-bgp-prepend-path="30, 30, 30, 30, 30"

Cek

/routing filter print 
/ip route print
/ipv6 route print
/routing bgp advertisements print
/ipv6 neighbor print 
/ipv6 route print
/routing bgp network print

Referensi

Pranala Menarik