UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Cisco - Cisco BGP基本設定




■BGPの設定


実際のBGPの設定を見ていきます。ルータ上でBGPを有効にするには以下を設定します。


(config)# router bgp [自サイトのAS番号]


ルータのBGPを有効にしたところで今度は近隣ルータを手動で設定します。


(config-router)# neighbor [対向のIP] remote-as [対向のAS番号]


eBGPピアは通常物理インターフェイスのIPアドレスをもとにピアをはるので特に意識しなくて良いのですがiBGPピアは一般的にルータ上でLoopbackアドレスを設定し、それを送信元/送信先にiBGPピアを形成します。iBGPに関しては内部経路が2つ以上存在している場合、経路の冗長化が実現可能だからです。ただし、Loに対してIP Reachabilityである必要があり、Loまで1つのみの経路しか存在しない場合は物理インターフェイスでも問題ありません。


(config-router)# neighbor [対向のIP] update-source Loopback0

eBGPピアをはる際に実務ではMD5認証を行うのが一般的です。これは以下の設定で実現可能であり、当然ながら両端で一致している必要があります。


(config-router)# neighbor [対向のIP] password [パスワード]


BGPに経路を注入するには幾つかの方法があります。一つはIGPをBGPに再配布する方法。もう一つは手動設定です。手動でBGPに経路を注入するには以下の設定を行います。


(config-router)# network [ネットワークアドレス] mask [サブネットマスク]


もう一つのIGPからBGPへの経路再配布です。


(config-router)# redistribute [ルーティングプロトコル] [プロセスID]


■実際の設定例


以下の構成図を前提に各ルータを設定していきます。



各ルータの設定は以下のようになります。no synchronizationとno auto-summaryとbgp log-neighbor-changesは自動で設定されます。BGPへの経路の注入はneworkコマンドではなくIGPからBGPへの再配布で設定しています。


 ・Router1 (eBGPのみ)  ・Router2 (eBGP / iBGP) 

interface FastEthernet0/0 
 ip address 10.10.10.1 255.255.255.252 
 duplex auto 
 speed auto 
! 
router bgp 100 
 no synchronization 
 bgp log-neighbor-changes
 neighbor 10.10.10.2 remote-as 200 
 neighbor 10.10.10.2 password cisco 
 no auto-summary
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.10.10.2 255.255.255.252
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 30.30.30.1 255.255.255.252
 duplex auto
 speed auto
!
router ospf 110
 log-adjacency-changes
 network 2.2.2.2 0.0.0.0 area 0
 network 30.30.30.0 0.0.0.3 area 0
!
router bgp 200
 no synchronization
 bgp log-neighbor-changes
 redistribute ospf 110
 neighbor 3.3.3.3 remote-as 200
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 4.4.4.4 remote-as 200
 neighbor 4.4.4.4 update-source Loopback0
 neighbor 10.10.10.1 remote-as 100
 neighbor 10.10.10.1 password cisco
 no auto-summary
 ・Router3 (iBGPのみ)   ・Router4 (eBGP / iBGP)
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
 ip address 30.30.30.2 255.255.255.252
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 40.40.40.2 255.255.255.252
 duplex auto
 speed auto
!
router ospf 110
 log-adjacency-changes
 network 3.3.3.3 0.0.0.0 area 0
 network 30.30.30.0 0.0.0.3 area 0
 network 40.40.40.0 0.0.0.3 area 0
!
router bgp 200
 no synchronization
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 200
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 4.4.4.4 remote-as 200
 neighbor 4.4.4.4 update-source Loopback0
 no auto-summary
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
 ip address 20.20.20.2 255.255.255.252
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 40.40.40.1 255.255.255.252
 duplex auto
 speed auto
!
router ospf 110
 log-adjacency-changes
 network 4.4.4.4 0.0.0.0 area 0
 network 40.40.40.0 0.0.0.3 area 0
!
router bgp 200
 no synchronization
 bgp log-neighbor-changes
 redistribute ospf 110
 neighbor 2.2.2.2 remote-as 200
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 3.3.3.3 remote-as 200
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 20.20.20.1 remote-as 300
 neighbor 20.20.20.1 password cisco
 no auto-summary
  ・Router5 (eBGPのみ)  
interface FastEthernet0/0
 ip address 20.20.20.1 255.255.255.252
 duplex auto
 speed auto
!
router bgp 300
 no synchronization
 bgp log-neighbor-changes
 neighbor 20.20.20.2 remote-as 200
 neighbor 20.20.20.2 password cisco
 no auto-summary


■BGPの動作確認


BGPを設定したらそれが適切に動作していることを確認しましょう。まずは経路情報の確認です。


R1# show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     2.0.0.0/32 is subnetted, 1 subnets
B       2.2.2.2 [20/0] via 10.10.10.2, 01:12:32
     3.0.0.0/32 is subnetted, 1 subnets
B       3.3.3.3 [20/11] via 10.10.10.2, 01:12:32
     4.0.0.0/32 is subnetted, 1 subnets
B       4.4.4.4 [20/21] via 10.10.10.2, 01:12:32
     40.0.0.0/30 is subnetted, 1 subnets
B       40.40.40.0 [20/20] via 10.10.10.2, 01:12:32
     10.0.0.0/30 is subnetted, 1 subnets
C       10.10.10.0 is directly connected, FastEthernet0/0
     30.0.0.0/30 is subnetted, 1 subnets
B       30.30.30.0 [20/0] via 10.10.10.2, 01:12:33


上記の例ではRouter1が5つの経路をBGP経由で学習しています。BGP経路は行頭にBが表示されます。ルータがBGPから学習した経路を全て見たい場合は次のコマンドを使います。

R1# show ip bgp
BGP table version is 8, local router ID is 10.10.10.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.2.2/32       10.10.10.2               0             0 200 ?
*> 3.3.3.3/32       10.10.10.2              11             0 200 ?
*> 4.4.4.4/32       10.10.10.2              21             0 200 ?
*> 30.30.30.0/30    10.10.10.2               0             0 200 ?
*> 40.40.40.0/30    10.10.10.2              20             0 200 ?


行頭に*がついているのが実際にルーティングテーブルに採用された経路です。上記では全ての経路がルーティングテーブルに採用されています。
ルータがどのルータとBGPピアを張っているのか調べるコマンドが下記です。

R2# show ip bgp summary
BGP router identifier 2.2.2.2, local AS number 200
BGP table version is 8, main routing table version 8
5 network entries using 585 bytes of memory
10 path entries using 520 bytes of memory
9/4 BGP path/bestpath attribute entries using 1116 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 2221 total bytes of memory
BGP activity 5/0 prefixes, 11/1 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
3.3.3.3         4   200      98     104        8    0    0 01:34:51        0
4.4.4.4         4   200      91      93        8    0    0 01:23:46        5
10.10.10.1      4   100     103     110        8    0    0 01:41:10        0


Router2では上記のように表示され、3つのルータとピアを張っていることがお分かりいただけます。右端のState/PfxRcdの列に実際に受信している経路の数が表示されます。ここに数字以外の例えばActive等と表示されている場合はピアが形成されていないということになります。


ピアに対して実際にアドバタイズしている経路を表示するには次のコマンドを使用します。


R2# show ip bgp neighbors 10.10.10.1 advertised-routes
BGP table version is 8, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.2.2/32       0.0.0.0                  0         32768 ?
*> 3.3.3.3/32       30.30.30.2              11         32768 ?
*> 4.4.4.4/32       30.30.30.2              21         32768 ?
*> 30.30.30.0/30    0.0.0.0                  0         32768 ?
*> 40.40.40.0/30    30.30.30.2              20         32768 ?

Total number of prefixes 5


上記ではネイバー10.10.10.1に対して上の5つの経路をアドバタイズしているということになります。
何らかの事情でBGPピアをリセットしたい場合は次のコマンドで可能です。


R2# clear ip bgp 10.10.10.1
R2#
*Mar  1 02:02:44.935: %BGP-5-ADJCHANGE: neighbor 10.10.10.1 Down User reset
*Mar  1 02:02:45.399: %BGP-5-ADJCHANGE: neighbor 10.10.10.1 Up


ただし、このコマンドを実施するとピアがリセットされることから通信断が発生することに注意してください。通信断を発生させずアトリビュートの変更などを即座に反映させたい場合、ソフトウェア的にリスタートさせることもできます。


R2# clear ip bgp 10.10.10.1 soft


このコマンドでは通信断は発生いたしません。



 関連記事
 BGPの経路フィルタリング
 BGPの経路制御
 BGP (GlobalAS)の設定
 BGP (PrivateAS)の設定
 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.