...
Table of Contents |
---|
Network Requirement
As shown in Figure. 1, BGP runs on all the switches.
...
Figure 1. BGP configuration
Procedure
This section describes the steps of how to configure basic BGP functions on SwitchA, SwitchB, SwitchC and SwitchD.
Switch A
Step1 Configure the VLANs and VLAN interfaces.
Code Block |
---|
admin@SwitchA# set vlans vlan-id 10 l3-interface 10 admin@SwitchA# set vlans vlan-id 20 l3-interface 20 admin@SwitchA# set interface gigabit-ethernet te-1/1/1 family ethernet-switching native-vlan-id 10 admin@SwitchA# set interface gigabit-ethernet te-1/1/2 family ethernet-switching native-vlan-id 20 admin@SwitchA# set vlanl3-interface vlan-interface 10 vif 10 address 192.168.10.1 prefix-length 24 admin@SwitchA# set vlanl3-interface vlan-interface 20 vif 20 address 192.168.20.1 prefix-length 24 |
...
Code Block |
---|
admin@SwitchA# set protocols bgp bgprouter-id 1.1.1.1 admin@SwitchA# set protocols bgp local-as 100 admin@SwitchA# set protocols bgp peerneighbor 192.168.20.2 remote-as 200 |
Step3 Enable IP routing.
Code Block |
---|
admin@SwitchA# set protocolsip bgprouting peer 192.168.20.2 local-ip 192.168.20.1 admin@SwitchA# set protocols bgp peer 192.168.20.2 next-hop-self true |
Step3 Commit the configurations.
Code Block |
---|
admin@SwitchA# enable true |
Step4 Commit the configurations.
Code Block |
---|
admin@SwitchA# commit |
Switch B
Step1 Configure the VLANs and VLAN interfaces.
Code Block |
---|
admin@SwitchB# set vlans vlan-id 20 l3-interface 20 admin@SwitchB# set vlans vlan-id 30 l3-interface 30 admin@SwitchB# set vlans vlan-id 40 l3-interface 40 admin@SwitchB# set interface gigabit-ethernet gete-1/1/2 family ethernet-switching native-vlan-id 20 admin@SwitchB# set interface gigabit-ethernet gete-1/1/3 family ethernet-switching native-vlan-id 30 admin@SwitchB# set interface gigabit-ethernet gete-1/1/4 family ethernet-switching native-vlan-id 40 admin@SwitchB# set vlanl3-interface vlan-interface 20 vif 20 address 192.168.20.2 prefix-length 24 admin@SwitchB# set vlanl3-interface vlan-interface 30 vif 30 address 192.168.30.1 prefix-length 24 admin@SwitchB# set vlanl3-interface vlan-interface 40 vif 40 address 192.168.40.1 prefix-length 24 |
...
Code Block |
---|
admin@SwitchB# set protocols bgp bgprouter-id 2.2.2.2 admin@SwitchB# set protocols bgp local-as 200 admin@SwitchB# set protocols bgp peerneighbor 192.168.20.1 remote-as 100 admin@SwitchB# set protocols bgp peerneighbor 192.168.2030.12 localremote-ip 192.168.20.2as 200 admin@SwitchB# set protocols bgp peerneighbor 192.168.2040.12 nextremote-hop-self true as 200 |
Step3 Enable IP routing.
Code Block |
---|
admin@SwitchB# set protocolsip bgprouting peer 192.168.30.2 as 200 admin@SwitchB# set protocols bgp peer 192.168.30.2 local-ip 192.168.30.1 admin@SwitchB# set protocols bgp peer 192.168.30.2 next-hop-self true admin@SwitchB# set protocols bgp peer 192.168.40.2 as 200 admin@SwitchB# set protocols bgp peer 192.168.40.2 local-ip 192.168.40.1 admin@SwitchB# set protocols bgp peer 192.168.40.2 next-hop-self true |
Step3 Commit the configurations.
Code Block |
---|
admin@SwitchB# commit |
Switch C
...
enable true |
Step4 Commit the configurations.
Code Block |
---|
admin@SwitchB# commit |
Switch C
Step1 Configure the VLANs and VLAN interfaces.
Code Block |
---|
admin@SwitchC# set vlans vlan-id 40 l3-interface 40
admin@SwitchC# set vlans vlan-id 50 l3-interface 50
admin@SwitchC# set interface gigabit-ethernet te-1/1/4 family ethernet-switching native-vlan-id 40
admin@SwitchC# set interface gigabit-ethernet te-1/1/5 family ethernet-switching native-vlan-id 50
admin@SwitchC# set l3-interface vlan-interface 40 address 192.168.30.2 prefix-length 24
admin@SwitchC# set l3-interface vlan-interface 50 address 192.168.50.1 prefix-length 24 |
Step2 Configure the IBGP connection.
Code Block |
---|
admin@SwitchC# set protocols vlansbgp vlanrouter-id 40 l3-interface 40 3.3.3.3 admin@SwitchC# set vlansprotocols vlan-id 50 l3-interface 50bgp local-as 200 admin@SwitchC# set protocols interfacebgp gigabit-ethernet ge-1/1/4 family ethernet-switching native-vlan-id 40neighbor 192.168.30.1 remote-as 200 admin@SwitchC# set protocols interfacebgp gigabit-ethernet ge-1/1/5 family ethernet-switching native-vlan-id 50 admin@SwitchC# set vlan-interface interface 40 vif 40 address 192neighbor 192.168.4050.2 prefixremote-length 24 as 200 |
Step3 Enable IP routing.
Code Block |
---|
admin@SwitchC# set vlan-interfaceip interfacerouting 50 vif 50 address 192.168.50.2 prefix-length 24 |
...
enable true |
Step4 Commit the configurations.
Code Block |
---|
admin@SwitchC# commit |
Switch D
Step1 Configure the VLANs and VLAN interfaces.
Code Block |
---|
admin@SwitchC#admin@SwitchD# set vlans protocolsvlan-id bgp30 bgpl3-id 3.3.3.3 admin@SwitchC#interface 30 admin@SwitchD# set protocols bgp local-as 200 admin@SwitchC#vlans vlan-id 50 l3-interface 50 admin@SwitchD# set protocolsinterface bgp peer 192.168.40.1 as 200 admin@SwitchC# set protocols bgp peer 192.168.40.1 local-ip 192.168.40.2 admin@SwitchC# set protocols bgp peergigabit-ethernet te-1/1/3 family ethernet-switching native-vlan-id 30 admin@SwitchD# set interface gigabit-ethernet te-1/1/5 family ethernet-switching native-vlan-id 50 admin@SwitchD# set l3-interface vlan-interface 40 address 192.168.40.12 nextprefix-hop-selflength true24 admin@SwitchC#admin@SwitchD# set protocols bgp peer l3-interface vlan-interface 50 address 192.168.50.12 as 200 admin@SwitchC#prefix-length 24 |
Step2 Configure the IBGP connection.
Code Block |
---|
admin@SwitchD# set protocols bgp peerrouter-id 1924.1684.50.14.4 admin@SwitchD# set protocols bgp local-ip 192.168.50.2 admin@SwitchC#as 200 admin@SwitchD# set protocols bgp peerneighbor 192.168.5040.1 next-hop-self true |
...
remote-as 200
admin@SwitchD# set protocols bgp neighbor 192.168.50.1 remote-as 200 |
Step3 Enable IP routing.
Code Block |
---|
admin@SwitchD# set ip routing enable true |
Step4 Commit the configurations.
Code Block |
---|
admin@SwitchC#admin@SwitchD# commit |
Switch D
...
Viewing BGP Peer Status on Switch B
Code Block |
---|
admin@SwitchD#admin@SwitchB# setrun vlansshow vlan-idbgp 30neighbor l3-interfaceBGP 30neighbor admin@SwitchD#on set vlans vlan-id 50 l3-interface 50 admin@SwitchD# set interface gigabit-ethernet ge-1/1/3 family ethernet-switching native-vlan-id 30 admin@SwitchD# set interface gigabit-ethernet ge-1/1/5 family ethernet-switching native-vlan-id 50 admin@SwitchD# set vlan-interface interface 30 vif 40 address 192.168.30.2 prefix-length 24 admin@SwitchD# set vlan-interface interface 50 vif 50 address 192.168.50.1 prefix-length 24 |
Step2 Configure the IBGP connection.
Code Block |
---|
admin@SwitchD# set protocols bgp bgp-id 4.4.4.4
admin@SwitchD# set protocols bgp local-as 200
admin@SwitchD# set protocols bgp peer 192.168.30.1 as 200
admin@SwitchD# set protocols bgp peer 192.168.30.1 local-ip 192.168.30.2
admin@SwitchD# set protocols bgp peer 192.168.30.1 next-hop-self true
admin@SwitchD# set protocols bgp peer 192.168.50.2 as 200
admin@SwitchD# set protocols bgp peer 192.168.50.2 local-ip 192.168.50.1
admin@SwitchD# set protocols bgp peer 192.168.50.2 next-hop-self true |
Step3 Commit the configurations.
Code Block |
---|
admin@SwitchD# commit |
Viewing BGP Peer Status on Switch B
Code Block |
---|
admin@SwitchB# run show bgp peers detail
Peer 2: local 192.168.20.2/179 remote 192.168.20.1/179
Peer ID: 1.1.1.1
Peer State: ESTABLISHED
Admin State: START
Negotiated BGP Version: 4
Peer AS Number: 100
Updates Received: 20, Updates Sent: 2
Messages Received: 634, Messages Sent: 611
Time since last received update: 1685 seconds
Number of transitions to ESTABLISHED: 1
Time since last entering ESTABLISHED state: 15995 seconds
Retry Interval: 120 seconds
Hold Time: 90 seconds, Keep Alive Time: 30 seconds
Configured Hold Time: 90 seconds, Configured Keep Alive Time: 30 seconds
Minimum AS Origination Interval: 0 seconds
Minimum Route Advertisement Interval: 0 seconds
Peer 2: local 192.168.30.1/179 remote 192.168.30.2/179
Peer ID: 4.4.4.4
Peer State: ESTABLISHED
Admin State: START
Negotiated BGP Version: 4
Peer AS Number: 100
Updates Received: 20, Updates Sent: 2
Messages Received: 634, Messages Sent: 611
Time since last received update: 1685 seconds
Number of transitions to ESTABLISHED: 1
Time since last entering ESTABLISHED state: 15995 seconds
Retry Interval: 120 seconds
Hold Time: 90 seconds, Keep Alive Time: 30 seconds
Configured Hold Time: 90 seconds, Configured Keep Alive Time: 30 seconds
Minimum AS Origination Interval: 0 seconds
Minimum Route Advertisement Interval: 0 seconds
Peer 3: local 192.168.40.1/179 remote 192.168.40.2/179
Peer ID: 3.3.3.3
Peer State: ESTABLISHED
Admin State: START
Negotiated BGP Version: 4
Peer AS Number: 100
Updates Received: 20, Updates Sent: 2
Messages Received: 634, Messages Sent: 611
Time since last received update: 1685 seconds
Number of transitions to ESTABLISHED: 1
Time since last entering ESTABLISHED state: 15995 seconds
Retry Interval: 120 seconds
Hold Time: 90 seconds, Keep Alive Time: 30 seconds
Configured Hold Time: 90 seconds, Configured Keep Alive Time: 30 seconds
Minimum AS Origination Interval: 0 seconds
Minimum Route Advertisement Interval: 0 seconds |
Configuring Switch A to Advertise Route 192.168.10.0/24
Code Block |
---|
admin@SwitchA# set policy policy-statement direct-to-bgp term t1 from protocol connected
admin@SwitchA# set policy policy-statement direct-to-bgp term t1 from network4 192.168.10.0/24
admin@SwitchA# set policy policy-statement direct-to-bgp term t1 then accept
admin@SwitchA# set protocols bgp export direct-to-bgp
admin@SwitchA# commit |
...
Code Block |
---|
admin@SwitchD# run show bgp routes
Status Codes: * valid route, > best route
Origin Codes: i IGP, e EGP, ? incomplete
Prefix Nexthop Peer AS Path
------ ------- ---- -------
*> 192.168.10.0/24 192.168.20.1 1.1.1.1 100 ?
admin@SwitchD# |
...
Code Block |
---|
admin@SwitchD# run show bgp routes
Status Codes: * valid route, > best route
Origin Codes: i IGP, e EGP, ? incomplete
Prefix Nexthop Peer AS Path
------ ------- ---- -------
192.168.10.0/24 192.168.20.1 2.2.2.2 100 ?
admin@SwitchD# |
The preceding command output display that the route to destination 192.168.10.0/24 becomes invalid because the next hop address of this route is unreachable.
Configuring Switch B to Advertise a Connected Route
Code Block |
---|
admin@SwitchB# set policy policy-statement direct-to-bgp term t1 from protocol connected
admin@SwitchB# set policy policy-statement direct-to-bgp term t1 then accept
admin@SwitchB# set protocols bgp export direct-to-bgp
admin@SwitchB# commit |
Ping 192.168.10.1 on Switch C:
Code Block |
---|
admin@SwitchC# run ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
64 bytes from 192.168.10.1: icmp_req=1 ttl=63 time=4.68 ms
64 bytes from 192.168.10.1: icmp_req=2 ttl=63 time=4.46 ms
64 bytes from 192.168.10.1: icmp_req=3 ttl=63 time=5.35 ms
64 bytes from 192.168.10.1: icmp_req=4 ttl=63 time=4.52 ms
64 bytes from 192.168.10.1: icmp_req=5 ttl=63 time=4.51 ms
192.168.10.1 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4017ms
rtt min/avg/max/mdev = 4.460/4.709/5.358/0.338 ms |
View the BGP routing table of Switch C:
Code Block |
---|
admin@SwitchC# run show bgp routes Status Codes: * valid route, > best route Origin Codes: i IGP, e EGP, ? incomplete Prefix Nexthop Peer AS Path ------ ------- ---- ------- 192.168.10.0/24 192.168.20.1 2.2.2.2 100 ? *> 192.168.20.0/24 192.168.40.1 2.2.2.2? *>192.168.30.0/24 192.168.40.1 2.2.2.2?vlan20: 192.168.20.1, remote AS 100, local AS 200, external link BGP version 4, remote router ID 1.1.1.1, local router ID 2.2.2.2 BGP state = Idle Last read 00:15:06, Last write never Hold time is 180, keepalive interval is 60 seconds Graceful restart information: Local GR Mode: Helper* Remote GR Mode: NotApplicable R bit: False Timers: Configured Restart Time(sec): 120 Received Restart Time(sec): 0 Message statistics: Inq depth is 0 Outq depth is 0 Sent Rcvd Opens: 0 0 Notifications: 0 0 Updates: 0 0 Keepalives: 0 0 Route Refresh: 0 0 Capability: 0 0 Total: 0 0 Minimum time between advertisement runs is 0 seconds For address family: IPv4 Unicast Not part of any update group Community attribute sent to this neighbor(all) 0 accepted prefixes Connections established 0; dropped 0 Last reset 00:15:06, Waiting for Peer IPv6 LLA BGP Connect Retry Timer in Seconds: 120 Read thread: off Write thread: off FD used: -1 BGP neighbor is 192.168.30.2, remote AS 200, local AS 200, internal link Administratively shut down BGP version 4, remote router ID 3.3.3.3, local router ID 2.2.2.2 BGP state = Idle Last read 00:15:06, Last write never Hold time is 180, keepalive interval is 60 seconds Graceful restart information: Local GR Mode: Helper* Remote GR Mode: NotApplicable R bit: False Timers: Configured Restart Time(sec): 120 Received Restart Time(sec): 0 Message statistics: Inq depth is 0 Outq depth is 0 Sent Rcvd Opens: 0 0 Notifications: 0 0 Updates: 0 0 Keepalives: 0 0 Route Refresh: 0 0 Capability: 0 0 Total: 0 0 Minimum time between advertisement runs is 600 seconds For address family: IPv4 Unicast Not part of any update group Advertise bestpath per AS via addpath Override ASNs in outbound updates if aspath equals remote-as Community attribute sent to this neighbor(all) 0 accepted prefixes Connections established 0; dropped 0 Last reset 00:15:06, No AFI/SAFI activated for peer External BGP neighbor may be up to 255 hops away. BGP Connect Retry Timer in Seconds: 111 Peer Authentication Enabled Read thread: off Write thread: off FD used: -1 BGP neighbor is 192.168.40.2, remote AS 200, local AS 200, internal link BGP version 4, remote router ID 4.4.4.4, local router ID 2.2.2.2 BGP state = Active Last read 00:15:06, Last write never Hold time is 180, keepalive interval is 60 seconds Graceful restart information: Local GR Mode: Helper* Remote GR Mode: NotApplicable R bit: False Timers: Configured Restart Time(sec): 120 Received Restart Time(sec): 0 Message statistics: Inq depth is 0 Outq depth is 0 Sent Rcvd Opens: 0 0 Notifications: 0 0 Updates: 0 0 Keepalives: 0 0 Route Refresh: 0 0 Capability: 0 0 Total: 0 0 Minimum time between advertisement runs is 0 seconds For address family: IPv4 Unicast Not part of any update group Advertise bestpath per AS via addpath Override ASNs in outbound updates if aspath equals remote-as Community attribute sent to this neighbor(all) 0 accepted prefixes Connections established 0; dropped 0 Last reset 00:15:06, No AFI/SAFI activated for peer External BGP neighbor may be up to 255 hops away. BGP Connect Retry Timer in Seconds: 111 Peer Authentication Enabled Read thread: off Write thread: off FD used: -1 |
Configuring Switch A to Advertise Route 192.168.10.0/24
Code Block |
---|
admin@SwitchA# set protocols bgp ipv4-unicast network 192.168.10.0/24
admin@SwitchA# commit |
View the BGP routing table of Switch B:
Code Block |
---|
admin@SwitchB# run show bgp
show bgp ipv4 unicast
=====================
BGP table version is 2, local router ID is 4.4.4.4, vrf id 0
Default local pref 100, local AS 200
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.10.0/24
192.168.20.1 0 100 32768 i
Displayed 1 routes and 1 total paths
show bgp ipv6 unicast
=====================
No BGP prefixes displayed, 0 exist |
View the BGP routing table of Switch C:
Code Block |
---|
admin@SwitchC# run show bgp
show bgp ipv4 unicast
=====================
BGP table version is 2, local router ID is 3.3.3.3, vrf id 0
Default local pref 100, local AS 200
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.10.0/24
192.168.20.1 0 100 32768 i
Displayed 1 routes and 1 total paths
show bgp ipv6 unicast
=====================
No BGP prefixes displayed, 0 exist |
The preceding command output display that the route to destination 192.168.10.0/24 becomes invalid because the next hop address of this route is unreachable.
Configuring Switch B to Advertise a Connected Route
Code Block |
---|
admin@SwitchB# set protocols bgp ipv4-unicast redistribute connected
admin@SwitchB# commit |
Ping 192.168.10.1 on Switch C:
Code Block |
---|
admin@SwitchC# run ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
64 bytes from 192.168.10.1: icmp_req=1 ttl=63 time=4.68 ms
64 bytes from 192.168.10.1: icmp_req=2 ttl=63 time=4.46 ms
64 bytes from 192.168.10.1: icmp_req=3 ttl=63 time=5.35 ms
64 bytes from 192.168.10.1: icmp_req=4 ttl=63 time=4.52 ms
64 bytes from 192.168.10.1: icmp_req=5 ttl=63 time=4.51 ms
192.168.10.1 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4017ms
rtt min/avg/max/mdev = 4.460/4.709/5.358/0.338 ms |
View the BGP routing table of Switch C:
Code Block |
---|
admin@SwitchC# run show bgp
show bgp ipv4 unicast
=====================
BGP table version is 2, local router ID is 3.3.3.3, vrf id 0
Default local pref 100, local AS 200
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.10.0/24
192.168.20.1 0 100 32768 i
*> 192.168.40.0/24
192.168.30.1 0 100 32768 i
192.168.30.0/24
192.168.30.1 0 100 32768 i
*> 192.168.10.0/24
192.168.30.1 0 100 32768 i
Displayed 4 routes and 4 total paths
show bgp ipv6 unicast
=====================
No BGP prefixes displayed, 0 exist
|