BGP小實驗

lemonbusuan發表於2024-05-09

目錄
  • 拓撲圖
  • 環境介紹
  • 覆盤實驗
  • 總結
  • 配置
    • R3
    • R4
    • R1
    • R2

拓撲圖

拓撲圖

環境介紹

  • 每臺路由器上都有looback0,比如R4是4.4.4.4/32,直連線口地址為10.1.34.4/24,其他路由器直連和looback口地址類似,R4上還有looback1,地址為44.44.44.44/24。
  • R3和R4是EBGP鄰居關係,AS123內路由器是IBGP鄰居關係,並且AS123內啟用了IGP協議(OSPF),宣告直連和lo0.
  • R3和R4之間是使用直連線口起鄰居,AS123內路由器是使用lo0起鄰居,即要修該更新源為lo0。

覆盤實驗

在R3和R4上配置EBGP鄰居關係,並且在R4上使用network宣告44.44.44.0/24進BGP,R3上能收到一條best的字首,R3將其傳遞給R1,R1收到的是非最佳化的字首。原因是下一跳不可達[1]。這時候可以使用以下辦法解決:

  1. 在R1上使用靜態路由,即目的10.1.34.4,下一跳10.1.13.3
  2. 在R3上將10.1.34.0的路由重分佈進OSPF,這樣執行了OSPF的R1就能學習到目的路由,使其最佳化
  3. 在R3上使用next-hop-self,更改下一跳為本地

假設我使用方法1,此時R1上字首變得best,但是此時不會將路由傳遞給R2,原因是IBGP的水平分割問題[2]。這時候可以使用下面方法解決:

  1. 全互聯
  2. 路由反射器
  3. 聯邦

假設我使用方法1,此時R2與R3建立了IBGP鄰居關係,此時R2學習到的字首不是best,原因任然是問題1,此時我們使用next-hop-self將下一跳改為R3的更新源地址,即3.3.3.3。這時,R2就會將該字首裝入路由表,即路由表裡有44.44.44.0/24的路由。假設,在R4上配置了預設路由指向R3,此時R2就能ping通44.44.44.44。

總結

字首為best時,才會進行裝[路由]表和傳遞給鄰居

配置

R3

router bgp 123
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 123
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 2.2.2.2 remote-as 123
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 2.2.2.2 next-hop-self
 neighbor 10.1.34.4 remote-as 400
!
router ospf 110
 network 3.3.3.3 0.0.0.0 area 0
 network 10.1.13.0 0.0.0.255 area 0
 !
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface Ethernet0/0
 ip address 10.1.13.3 255.255.255.0
 duplex auto
!
interface Ethernet0/1
 ip address 10.1.34.3 255.255.255.0
 duplex auto

R4

interface Loopback0
 ip address 4.4.4.4 255.255.255.255
!
interface Loopback1
 ip address 44.44.44.44 255.255.255.0
!
interface Ethernet0/0
 ip address 10.1.34.4 255.255.255.0
 duplex auto
!
router bgp 400
 bgp log-neighbor-changes
 network 44.44.44.0 mask 255.255.255.0
 neighbor 10.1.34.3 remote-as 123
!
ip route 0.0.0.0 0.0.0.0 10.1.34.3

R1

interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Ethernet0/0
 ip address 10.1.12.1 255.255.255.0
 duplex auto
!
interface Ethernet0/1
 ip address 10.1.13.1 255.255.255.0
 duplex auto
!
router ospf 110
 network 1.1.1.1 0.0.0.0 area 0
 network 10.1.12.0 0.0.0.255 area 0
 network 10.1.13.0 0.0.0.255 area 0
 !
router bgp 123
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 123
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 3.3.3.3 remote-as 123
 neighbor 3.3.3.3 update-source Loopback0
!
ip route 10.1.34.0 255.255.255.0 10.1.13.3

R2

interface Loopback0
 ip address 2.2.2.2 255.255.255.0
!
interface Ethernet0/0
 ip address 10.1.12.2 255.255.255.0
 duplex auto
!
router ospf 110
 network 2.2.2.2 0.0.0.0 area 0
 network 10.1.12.0 0.0.0.255 area 0
!
router bgp 123
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 123
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 3.3.3.3 remote-as 123
 neighbor 3.3.3.3 update-source Loopback0

  1. 問題1 ↩︎

  2. 問題2 ↩︎

相關文章