Difference between revisions of "IPv6: Mikrotik: BGP Sederhana"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "center|400px|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.2...")
 
 
(8 intermediate revisions by the same user not shown)
Line 25: Line 25:
 
  IP 10.1.2.0/24  
 
  IP 10.1.2.0/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
 
 
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=toISP3 remote-address=192.168.1.2 remote-as=30
 
add name=toISP2 remote-address=192.168.3.2 remote-as=20
 
 
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
 
  
ISP3
+
==Sambungan==
  
  #set our AS number
+
  R1
  /routing bgp instance set default as=30
+
  e0 --> R3 e0
  #add BGP peers
+
  e1 --> R2 e1
  /routing bgp peer
+
  e2 --> LAN 10.100.100.1/24
add name=toISP1 remote-address=192.168.1.1 remote-as=10
+
  e3 --> LAN 10.100.200.1/24
  add name=toISP2 remote-address=192.168.2.1 remote-as=20
 
  
==Network Advertisements and Routing Filters==
+
R2
 +
e0 --> R3 e1
 +
e1 --> R1 e1
 +
e2 --> LAN 10.10.10.1/24
 +
e3 --> LAN 10.10.20.1/24
  
Start advertise our network & filter out all other unnecessary advertisement.
+
  R3
 
+
  e0 --> R1 e0
ISP1:
+
  e1 --> R2 e0
 
+
  e2 --> LAN 10.1.1.1/24
# advertise out network
+
  e3 --> LAN 10.1.2.1/24
/routing bgp network
 
add network=10.100.100.0/24 synchronize=no
 
add network=10.100.200.0/24 synchronize=no
 
 
 
# routing filter
 
/routing bgp peer
 
  set isp2 in-filter=isp2-in out-filter=isp2-out
 
  set isp3 in-filter=isp3-in out-filter=isp3-out
 
 
 
ISP2:
 
 
 
# advertise out network
 
/routing bgp network
 
  add network=10.10.10.0/24 synchronize=no
 
add network=10.10.20.0/24 synchronize=no
 
 
 
# routing filter
 
/routing bgp peer
 
set isp1 in-filter=isp1-in out-filter=isp1-out
 
set isp3 in-filter=isp3-in out-filter=isp3-out
 
 
 
ISP3:
 
 
 
# advertise out network
 
/routing bgp network
 
add network=10.1.1.0/24 synchronize=no
 
add network=10.1.2.0/24 synchronize=no
 
 
 
# routing filter
 
/routing bgp peer
 
set isp1 in-filter=isp1-in out-filter=isp1-out
 
  set isp2 in-filter=isp2-in out-filter=isp2-out
 
 
 
Catatan:
 
 
 
* in-filter untuk incoming (received) prefixes
 
* out-filter untuk advertised prefixes.
 
 
 
==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
 
 
 
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
 
 
 
 
 
==Load sharing setup==
 
 
 
 
 
Teknik melakukan multihoming / download sharing
 
 
 
[[File:Bgp-multihoming-download-sharing.png|center|400px|thumb]]
 
 
 
===ISP3===
 
 
 
Disini salah satu network kita di prepend yang berbeda antara ISP1 dan ISP2
 
 
 
Outgoing filter ke ISP1:
 
 
 
/routing filter
 
#accept our networks and prepend second network
 
add chain=isp1-out prefix=10.1.1.0/24 action=accept
 
add chain=isp1-out prefix=10.1.2.0/24 action=accept  set-bgp-prepend=3
 
#discard the rest
 
add chain=isp1-out action=discard
 
 
 
Outgoing filter ke ISP2:
 
 
 
/routing filter
 
#accept our networks and prepend first network
 
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
 
#discard the rest
 
add chain=isp2-out action=discard
 
 
 
Konfigurasi di atas hanya untuk outgoing packet dari network kita. Ada beberapa pilihan,
 
 
 
* biarkan gateway menggunakan konfigurasi main/backup - ini akan menyebabkan hanya satu link yang digunakan dan routing akan asymetric.
 
* gunakan policy routing untuk memaksa outgoing packet menggunakan link yang sama dengan dengan incoming
 
* Menggnakan BGP untuk menerima full routing table dari ke dua peer dan menggunakan BGP attribute untuk melakukan routing melalui satu sambungan / link dan sebagian lagi melalui link lainnya. Contoh, traffic local / nasional bisa dikirim menggunakan ISP1 dan Internasional menggunakan ISP2.
 
 
 
 
 
 
==Referensi==
 
 
 
* https://wiki.mikrotik.com/wiki/Manual:Simple_BGP_Multihoming
 
 
 
[[File:Bgp-multihoming.png|center|400px|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.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  
 
  
 
==Setup connection==
 
==Setup connection==
Line 234: Line 53:
 
  /ip address add interface=ether3 address=10.100.100.1/24
 
  /ip address add interface=ether3 address=10.100.100.1/24
 
  /ip address add interface=ether4 address=10.100.200.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
 
ISP2
Line 240: Line 64:
 
  /ip address add interface=ether3 address=10.10.10.1/24
 
  /ip address add interface=ether3 address=10.10.10.1/24
 
  /ip address add interface=ether4 address=10.10.20.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
 
ISP3
Line 246: Line 75:
 
  /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
 +
 +
/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==
 
==BGP Peering==
Line 257: Line 91:
 
  #add BGP peers
 
  #add BGP peers
 
  /routing bgp peer
 
  /routing bgp peer
  add name=toISP3 remote-address=192.168.1.2 remote-as=30
+
  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
+
  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
 
ISP2
Line 266: Line 106:
 
  #add BGP peers
 
  #add BGP peers
 
  /routing bgp peer
 
  /routing bgp peer
  add name=toISP1 remote-address=192.168.3.1 remote-as=10
+
  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
+
  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
 
ISP3
Line 275: Line 121:
 
  #add BGP peers
 
  #add BGP peers
 
  /routing bgp peer
 
  /routing bgp peer
  add name=toISP1 remote-address=192.168.1.1 remote-as=10
+
  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
+
  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
==Network Advertisements and Routing Filters==
+
  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
Start advertise our network & filter out all other unnecessary advertisement.
+
  /routing bgp network add network=10.1.2.0/24  
 
+
  /routing bgp network add network=2001:10:1:1::/64
ISP1:
+
  /routing bgp network add network=2001:10:1:2::/64
 
 
# advertise out network
 
/routing bgp network
 
add network=10.100.100.0/24 synchronize=no
 
add network=10.100.200.0/24 synchronize=no
 
 
 
# routing filter
 
/routing bgp peer
 
set isp2 in-filter=isp2-in out-filter=isp2-out
 
set isp3 in-filter=isp3-in out-filter=isp3-out
 
 
 
ISP2:
 
 
 
# advertise out network
 
/routing bgp network
 
  add network=10.10.10.0/24 synchronize=no
 
add network=10.10.20.0/24 synchronize=no
 
 
 
# routing filter
 
/routing bgp peer
 
set isp1 in-filter=isp1-in out-filter=isp1-out
 
set isp3 in-filter=isp3-in out-filter=isp3-out
 
 
 
ISP3:
 
 
 
# advertise out network
 
/routing bgp network
 
add network=10.1.1.0/24 synchronize=no
 
add network=10.1.2.0/24 synchronize=no
 
 
 
# routing filter
 
/routing bgp peer
 
set isp1 in-filter=isp1-in out-filter=isp1-out
 
set isp2 in-filter=isp2-in out-filter=isp2-out
 
 
 
Catatan:
 
 
 
* in-filter untuk incoming (received) prefixes
 
* out-filter untuk advertised prefixes.
 
 
 
==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
 
 
 
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
 
 
 
 
 
==Load sharing setup==
 
 
 
 
 
Teknik melakukan multihoming / download sharing
 
 
 
[[File:Bgp-multihoming-download-sharing.png|center|400px|thumb]]
 
 
 
===ISP3===
 
 
 
Disini salah satu network kita di prepend yang berbeda antara ISP1 dan ISP2
 
 
 
Outgoing filter ke ISP1:
 
 
 
  /routing filter
 
#accept our networks and prepend second network
 
add chain=isp1-out prefix=10.1.1.0/24 action=accept
 
  add chain=isp1-out prefix=10.1.2.0/24 action=accept  set-bgp-prepend=3
 
#discard the rest
 
add chain=isp1-out action=discard
 
 
 
Outgoing filter ke ISP2:
 
 
 
  /routing filter
 
#accept our networks and prepend first network
 
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
 
#discard the rest
 
add chain=isp2-out action=discard
 
  
Konfigurasi di atas hanya untuk outgoing packet dari network kita. Ada beberapa pilihan,
+
==Cek==
  
* biarkan gateway menggunakan konfigurasi main/backup - ini akan menyebabkan hanya satu link yang digunakan dan routing akan asymetric.
+
/ip route print
* gunakan policy routing untuk memaksa outgoing packet menggunakan link yang sama dengan dengan incoming
+
/routing bgp advertisements print
* Menggnakan BGP untuk menerima full routing table dari ke dua peer dan menggunakan BGP attribute untuk melakukan routing melalui satu sambungan / link dan sebagian lagi melalui link lainnya. Contoh, traffic local / nasional bisa dikirim menggunakan ISP1 dan Internasional menggunakan ISP2.
 
 
  
 +
/ipv6 neighbor print
 +
/ipv6 route print
 +
/routing bgp network print
  
 
==Referensi==
 
==Referensi==
Line 412: Line 152:
 
* [[Cisco]]
 
* [[Cisco]]
 
* [[Juniper]]
 
* [[Juniper]]
* [[BIRD: Routing]]
+
* [[BIRD1]]
 +
* [[BIRD2]]
 
* [[IPv6]]
 
* [[IPv6]]
  
Line 419: Line 160:
 
* [[IPv6: Advanced Routing]]
 
* [[IPv6: Advanced Routing]]
 
* [[IPv6: Quagga]]
 
* [[IPv6: Quagga]]
 +
* [[IPv6: VyOS]]
 
* [[IPv6: Mikrotik]]
 
* [[IPv6: Mikrotik]]
 
* [[IPv6: Cisco]]
 
* [[IPv6: Cisco]]
 
* [[IPv6: Juniper]]
 
* [[IPv6: Juniper]]
* [[IPv6: BIRD: Routing]]
+
* [[IPv6: BIRD1]]
 +
* [[IPv6: BIRD2]]
 
* [[IPv6]]
 
* [[IPv6]]

Latest revision as of 12:53, 26 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

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

Cek

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

Referensi


Pranala Menarik