Difference between revisions of "BIRD: BGP Sederhana"

From OnnoWiki
Jump to navigation Jump to search
 
(24 intermediate revisions by the same user not shown)
Line 48: Line 48:
  
 
==Setup connection==
 
==Setup connection==
 +
 +
Pastikan semua ifconfig bersih, lakukan langkah [[BIRD: dari OpenWRT]]
 +
  
 
ISP1
 
ISP1
Line 77: Line 80:
 
ISP1
 
ISP1
  
  set protocols bgp 10 parameters router-id 192.168.3.1
+
  # vi /usr/local/etc/bird6.conf  # BIRD appliance di GNS3
  set protocols bgp 10 network 10.100.100.0/24
+
vi /etc/bird.conf              # BIRD1 di OpenWRT
  set protocols bgp 10 network 10.100.200.0/24
+
 
  # set protocols bgp 10 neighbor 192.168.1.2 ebgp-multihop 2
+
edit
  set protocols bgp 10 neighbor 192.168.1.2 update-source 192.168.1.1
+
 
  set protocols bgp 10 neighbor 192.168.1.2 remote-as 20
+
log syslog all;
  # set protocols bgp 10 neighbor 192.168.3.2 ebgp-multihop 2
+
router id 192.168.1.1;
  set protocols bgp 10 neighbor 192.168.3.2 update-source 192.168.3.1
+
protocol kernel {
  set protocols bgp 10 neighbor 192.168.3.2 remote-as 30
+
        import all;
 +
        export all;
 +
        learn;
 +
        scan time 20;
 +
}
 +
  protocol device {
 +
        import all;
 +
        export all;
 +
        scan time 10;          # Scan interfaces every 10 seconds
 +
  }
 +
  protocol direct {
 +
        interface "lo", "eth1", "eth2", "eth3", "eth4" ; # Restrict network interfaces BIRD works with
 +
  }
 +
  protocol bgp {
 +
        import all;
 +
        export all;
 +
        local as 10;
 +
        neighbor 192.168.1.2 as 30;
 +
  }
 +
  protocol bgp {
 +
        import all;
 +
        export all;
 +
        local as 10;
 +
        neighbor 192.168.3.2 as 20;
 +
  }
  
  show
+
 
  commit
+
# BIRD1 di OpenWRT
  exit
+
killall zebra
 +
killall bgpd
 +
killall watchquagga
 +
killall ospfd
 +
killall ospf6d
 +
killall ripd
 +
  killall ripngd
 +
  killall bird4
 +
  bird4
  
 
ISP2
 
ISP2
  
  set protocols bgp 20 parameters router-id 192.168.2.1
+
  # vi /usr/local/etc/bird6.conf # BIRD appliance di GNS3
set protocols bgp 20 network 10.10.10.0/24
+
  vi /etc/bird.conf              # BIRD1 di OpenWRT
set protocols bgp 20 network 10.10.20.0/24
 
  # set protocols bgp 20 neighbor 192.168.3.1 ebgp-multihop 2
 
  set protocols bgp 20 neighbor 192.168.3.1 update-source 192.168.2.1
 
set protocols bgp 20 neighbor 192.168.3.1 remote-as 10
 
# set protocols bgp 20 neighbor 192.168.2.2 ebgp-multihop 2
 
set protocols bgp 20 neighbor 192.168.2.2 update-source 192.168.2.1
 
set protocols bgp 20 neighbor 192.168.2.2 remote-as 30
 
  
  show
+
edit
  commit
+
 
  exit
+
log syslog all;
 +
router id 192.168.2.1;
 +
protocol kernel {
 +
        import all;
 +
        export all;
 +
        learn;
 +
        scan time 20;
 +
}
 +
protocol device {
 +
        import all;
 +
        export all;
 +
        scan time 10;          # Scan interfaces every 10 seconds
 +
}
 +
protocol direct {
 +
        interface "lo", "eth1", "eth2", "eth3", "eth4" ; # Restrict network interfaces BIRD works with
 +
}
 +
protocol bgp {
 +
        import all;
 +
        export all;
 +
        local as 20;
 +
        neighbor 192.168.3.1 as 10;
 +
}
 +
protocol bgp {
 +
        import all;
 +
        export all;
 +
        local as 20;
 +
        neighbor 192.168.2.2 as 30;
 +
}
 +
 
 +
# BIRD1 di OpenWRT
 +
killall zebra
 +
killall bgpd
 +
killall watchquagga
 +
killall ospfd
 +
killall ospf6d
 +
killall ripd
 +
  killall ripngd
 +
  killall bird4
 +
  bird4
  
 
ISP3
 
ISP3
  
  set protocols bgp 30 parameters router-id 192.168.1.2
+
  # vi /usr/local/etc/bird6.conf # BIRD appliance di GNS3
set protocols bgp 30 network 10.1.1.0/24
+
  vi /etc/bird.conf              # BIRD1 di OpenWRT
set protocols bgp 30 network 10.1.2.0/24
 
  # set protocols bgp 30 neighbor 192.168.1.1 ebgp-multihop 2
 
  set protocols bgp 30 neighbor 192.168.1.1 update-source 192.168.1.2
 
set protocols bgp 30 neighbor 192.168.1.1 remote-as 10
 
# set protocols bgp 30 neighbor 192.168.2.1 ebgp-multihop 2
 
set protocols bgp 30 neighbor 192.168.2.1 update-source 192.168.1.2
 
set protocols bgp 30 neighbor 192.168.2.1 remote-as 20
 
  
  show
+
edit
  commit
+
 
  exit
+
log syslog all;
 +
router id 192.168.1.2;
 +
protocol kernel {
 +
        import all;
 +
        export all;
 +
        learn;
 +
        scan time 20;
 +
}
 +
protocol device {
 +
        import all;
 +
        export all;
 +
        scan time 10;          # Scan interfaces every 10 seconds
 +
}
 +
protocol direct {
 +
        interface "eth1", "eth2", "eth3", "eth4" ; # Restrict network interfaces BIRD works with
 +
}
 +
protocol bgp {
 +
        import all;
 +
        export all;
 +
        local as 30;
 +
        neighbor 192.168.1.1 as 10;
 +
}
 +
protocol bgp {
 +
        import all;
 +
        export all;
 +
        local as 30;
 +
        neighbor 192.168.2.2 as 20;
 +
}
 +
 
 +
# BIRD1 di OpenWRT
 +
killall zebra
 +
killall bgpd
 +
killall watchquagga
 +
killall ospfd
 +
killall ospf6d
 +
killall ripd
 +
  killall ripngd
 +
  killall bird4
 +
  bird4
  
 
==Test==
 
==Test==
  
  show interfaces
+
  birdc4
show ip bgp scan
 
show ip bgp summary
 
show ip bgp rsclient summary
 
show ip bgp neighbors 192.168.1.2
 
show ip route
 
show
 
  
 +
ketik
  
 +
show interfaces
 +
show protocols
 +
show protocols all bgp1
 +
show protocols all bgp2
 +
show route
  
 
==Referensi==
 
==Referensi==
Line 148: Line 245:
 
* [[Cisco]]
 
* [[Cisco]]
 
* [[Juniper]]
 
* [[Juniper]]
* [[BIRD: Routing]]
+
* [[BIRD1]]
 +
* [[BIRD2]]
 
* [[IPv6]]
 
* [[IPv6]]
  
Line 158: Line 256:
 
* [[IPv6: Cisco]]
 
* [[IPv6: Cisco]]
 
* [[IPv6: Juniper]]
 
* [[IPv6: Juniper]]
* [[IPv6: BIRD: Routing]]
+
* [[IPv6: BIRD1]]
 +
* [[IPv6: BIRD2]]
 
* [[IPv6]]
 
* [[IPv6]]

Latest revision as of 10:25, 18 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
e1 --> R3 e1
e2 --> R2 e2 
e3 --> LAN 10.100.100.0/24
e4 --> LAN 10.100.200.0/24
R2
e1 --> R3 e2
e2 --> R1 e2
e3 --> LAN 10.10.10.0/24
e4 --> LAN 10.10.20.0/24
R3
e1 --> R1 e1
e2 --> R2 e1
e3 --> LAN 10.1.1.0/24
e4 --> LAN 10.1.2.0/24


Setup connection

Pastikan semua ifconfig bersih, lakukan langkah BIRD: dari OpenWRT


ISP1

ifconfig eth1 192.168.1.1 netmask 255.255.255.0
ifconfig eth2 192.168.3.1 netmask 255.255.255.0
ifconfig eth3 10.100.100.1 netmask 255.255.255.0
ifconfig eth4 10.100.200.1 netmask 255.255.255.0


ISP2

ifconfig eth1 192.168.2.1 netmask 255.255.255.0
ifconfig eth2 192.168.3.2 netmask 255.255.255.0
ifconfig eth3 10.10.10.1 netmask 255.255.255.0
ifconfig eth4 10.10.20.1 netmask 255.255.255.0

ISP3

ifconfig eth1 192.168.1.2 netmask 255.255.255.0
ifconfig eth2 192.168.2.2 netmask 255.255.255.0
ifconfig eth3 10.1.1.1 netmask 255.255.255.0
ifconfig eth4 10.1.2.1 netmask 255.255.255.0

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

# vi /usr/local/etc/bird6.conf  # BIRD appliance di GNS3
vi /etc/bird.conf               # BIRD1 di OpenWRT

edit

log syslog all;
router id 192.168.1.1;
protocol kernel {
        import all;
        export all;
        learn;
        scan time 20;
}
protocol device {
        import all;
        export all;
        scan time 10;           # Scan interfaces every 10 seconds
}
protocol direct {
        interface "lo", "eth1", "eth2", "eth3", "eth4" ; # Restrict network interfaces BIRD works with
}
protocol bgp {
        import all;
        export all;
        local as 10;
        neighbor 192.168.1.2 as 30;
}
protocol bgp {
        import all;
        export all;
        local as 10;
        neighbor 192.168.3.2 as 20;
}


# BIRD1 di OpenWRT
killall zebra
killall bgpd
killall watchquagga
killall ospfd
killall ospf6d
killall ripd
killall ripngd
killall bird4
bird4

ISP2

# vi /usr/local/etc/bird6.conf  # BIRD appliance di GNS3
vi /etc/bird.conf               # BIRD1 di OpenWRT

edit

log syslog all;
router id 192.168.2.1;
protocol kernel {
        import all;
        export all;
        learn;
        scan time 20;
}
protocol device {
        import all;
        export all;
        scan time 10;           # Scan interfaces every 10 seconds
}
protocol direct {
        interface "lo", "eth1", "eth2", "eth3", "eth4" ; # Restrict network interfaces BIRD works with
}
protocol bgp {
        import all;
        export all;
        local as 20;
        neighbor 192.168.3.1 as 10;
}
protocol bgp {
        import all;
        export all;
        local as 20;
        neighbor 192.168.2.2 as 30;
}
# BIRD1 di OpenWRT
killall zebra
killall bgpd
killall watchquagga
killall ospfd
killall ospf6d
killall ripd
killall ripngd
killall bird4
bird4

ISP3

# vi /usr/local/etc/bird6.conf  # BIRD appliance di GNS3
vi /etc/bird.conf               # BIRD1 di OpenWRT

edit

log syslog all;
router id 192.168.1.2;
protocol kernel {
        import all;
        export all;
        learn;
        scan time 20;
}
protocol device {
        import all;
        export all;
        scan time 10;           # Scan interfaces every 10 seconds
}
protocol direct {
        interface "eth1", "eth2", "eth3", "eth4" ; # Restrict network interfaces BIRD works with
}
protocol bgp {
       import all;
       export all;
       local as 30;
       neighbor 192.168.1.1 as 10;
}
protocol bgp {
       import all;
       export all;
       local as 30;
       neighbor 192.168.2.2 as 20;
}
# BIRD1 di OpenWRT
killall zebra
killall bgpd
killall watchquagga
killall ospfd
killall ospf6d
killall ripd
killall ripngd
killall bird4
bird4

Test

birdc4

ketik

show interfaces
show protocols
show protocols all bgp1
show protocols all bgp2
show route

Referensi


Pranala Menarik