この部分の広告を募集しています。 詳しくはこちら

BGPの基本的な設定

(所属カテゴリー:IPルーティング | シスコ---投稿日時:2015年1月23日)

ネットワーク構成

bgp_basic_cfg01.png
BGPの基本的な設定 ネットワーク構成

設定条件

  1. R1~R3でAS65001を構成します。また、R4~R6でAS65002を構成します。IBGPネイバーはすべてLoopback0のIPアドレスを利用して確立します。
  2. AS65001とAS65002間でEBGPネイバーを確立します。R1とR4ではLoopback1のIPアドレスを利用します。このとき、必要ならばスタティックルートを設定してください。
  3. R3とR6のLoopback1のネットワークアドレスをBGPルートとしてアドバタイズし、AS間の通信ができるようにします。このとき、R2ではnext-hop-selfを設定してはいけません。また、AS間のリンクをBGPやIGPでアドバタイズして もいけません。
  4. R3からAS65002内の100.2.2.0/24へパケットをルーティングする際には、R2を経由するようにしてください。ただし、設定はR3のみで行いBGPパスアトリビュートを変更してはいけません。
  5. R6からAS65001内の100.1.1.0/24へパケットをルーティングする際には負荷分散されるようにしてください。

初期設定

以下の内容は設定済みです。

  • ホスト名
  • IPアドレス
  • AS内のルーティング
    OSPFエリア0

GNS3プロジェクトダウンロード(BGP01_init.zip)

設定

【Step1:IBGPネイバーの設定】

AS65001、AS65002内のIBGPネイバーをフルメッシュで設定します。Loopback0のIPアドレスを利用するので、neighbor update-sourceコマンドでBGPパケットの送信元IPアドレスとしてLoopback0を使うように設定しなければいけないことに注意してください。

R1

----------------------------------------------------
router bgp 65001
 neighbor 192.168.0.2 remote-as 65001
neighbor 192.168.0.2 update-source loopback0
neighbor 192.168.0.3 remote-as 65001
neighbor 192.168.0.3 update-source loopback0
----------------------------------------------------

R2

----------------------------------------------------
router bgp 65001
 neighbor 192.168.0.1 remote-as 65001
neighbor 192.168.0.1 update-source loopback0
neighbor 192.168.0.3 remote-as 65001
neighbor 192.168.0.3 update-source loopback0
----------------------------------------------------

R3

----------------------------------------------------
router bgp 65001
 neighbor 192.168.0.2 remote-as 65001
neighbor 192.168.0.2 update-source loopback0
neighbor 192.168.0.1 remote-as 65001
neighbor 192.168.0.1 update-source loopback0
----------------------------------------------------

R4

----------------------------------------------------
router bgp 65002
 neighbor 192.168.0.5 remote-as 65002
neighbor 192.168.0.5 update-source loopback0
neighbor 192.168.0.6 remote-as 65002
neighbor 192.168.0.6 update-source loopback0
----------------------------------------------------

R5

----------------------------------------------------
router bgp 65002
 neighbor 192.168.0.4 remote-as 65002
neighbor 192.168.0.4 update-source loopback0
neighbor 192.168.0.6 remote-as 65002
neighbor 192.168.0.6 update-source loopback0
----------------------------------------------------

R6

----------------------------------------------------
router bgp 65002
 neighbor 192.168.0.5 remote-as 65002
neighbor 192.168.0.5 update-source loopback0
neighbor 192.168.0.4 remote-as 65002
neighbor 192.168.0.4 update-source loopback0
----------------------------------------------------

【Step2:IBGPネイバーの確認】

各ルータでshow ip bgp summaryコマンドでIBGPネイバーを正常に確立できていることを確認します。R1およびR4では次のような表示です。

R1

----------------------------------------------------
R1#show ip bgp summary
BGP router identifier 192.168.0.1, local AS number 65001
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.0.2     4 65001      22      22        1    0    0 00:19:45        0
192.168.0.3     4 65001      22      22        1    0    0 00:19:43        0
----------------------------------------------------

R4

----------------------------------------------------
R4#show ip bgp summary
BGP router identifier 192.168.0.4, local AS number 65002
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.0.5     4 65002      21      21        1    0    0 00:18:52        0
192.168.0.6     4 65002      21      21        1    0    0 00:18:53        0
----------------------------------------------------

【Step3:EBGPネイバーの設定】

R1-R4間、R2-R5間のEBGPネイバーを設定します。R1-R4間ではLooback1のIPアドレスを利用します。直接接続以外のインタフェースのIPアドレスでEBGPネイバーを確立するときには、次の3点に注意が必要です。

  • ネイバーを確立するIPアドレスへの接続性があること
  • neighbor update-sourceコマンドでBGPパケットの送信元IPアドレスを適切に設定していること
  • EBGPパケットのTTLを増やすこと

R1

----------------------------------------------------
ip route 10.1.1.4 255.255.255.255 10.1.14.4
ip route 10.1.1.4 255.255.255.255 10.1.41.4
!
router bgp 65001
 neighbor 10.1.1.4 remote-as 65002
 neighbor 10.1.1.4 update-source loopback1
 neighbor 10.1.1.4 ebgp-multihop
----------------------------------------------------

R4

----------------------------------------------------
ip route 10.1.1.1 255.255.255.255 10.1.14.1
ip route 10.1.1.1 255.255.255.255 10.1.41.1
!
router bgp 65002
 neighbor 10.1.1.1 remote-as 65001
 neighbor 10.1.1.1 update-source loopback1
 neighbor 10.1.1.1 ebgp-multihop
----------------------------------------------------

R2

----------------------------------------------------
router bgp 65001
 neighbor 10.2.25.5 remote-as 65002
----------------------------------------------------

R5

----------------------------------------------------
router bgp 65002
 neighbor 10.2.25.2 remote-as 65001
----------------------------------------------------

【Step4:EBGPネイバーの確認】

R1/R4、R2/R5でshow ip bgp summaryコマンドでEBGPネイバーを正常に確立できていることを確認します。R1とR2では、次のような表示です。

R1

----------------------------------------------------
R1#show ip bgp summary
BGP router identifier 192.168.0.1, local AS number 65001
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.1.1.4        4 65002       8       8        1    0    0 00:04:14        0
192.168.0.2     4 65001      34      34        1    0    0 00:31:35        0
192.168.0.3     4 65001      34      34        1    0    0 00:31:33        0
----------------------------------------------------

R2

----------------------------------------------------
R2#show ip bgp summary
BGP router identifier 192.168.0.2, local AS number 65001
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.2.25.5       4 65002       7       7        1    0    0 00:03:55        0
192.168.0.1     4 65001      34      34        1    0    0 00:31:58        0
192.168.0.3     4 65001      34      34        1    0    0 00:31:40        0
----------------------------------------------------

次の図は、BGPネイバーの状態をまとめたものです。

bgp_basic_cfg02.png
図 BGPネイバーの状態

【Step5:BGPルートのアドバタイズ】

R3とR6でnetworkコマンドを利用して、Loopback1のネットワークアドレスをBGPルートとしてアドバタイズします。
また、AS境界のR1、R4、R5ではNEXT_HOPへの到達性を確保するためにIBGPネイバーに対してneighbor next-hop-selfの設定を行います。R2ではnext-hop-selfを設定してはいけないという条件から、ルートマップによってNEXT_HOPアトリビュートを変更します。

R3

----------------------------------------------------
router bgp 65001
 network 100.1.1.0 mask 255.255.255.0
----------------------------------------------------

R6

----------------------------------------------------
router bgp 65002
 network 100.2.2.0 mask 255.255.255.0
----------------------------------------------------

R1

----------------------------------------------------
router bgp 65001
 neighbor 192.168.0.2 next-hop-self
 neighbor 192.168.0.3 next-hop-self
----------------------------------------------------

R2

----------------------------------------------------
router bgp 65001
 neighbor 192.168.0.1 route-map NEXT_HOP out
 neighbor 192.168.0.3 route-map NEXT_HOP out
!
route-map NEXT_HOP permit 10
 set ip next-hop 192.168.0.2
----------------------------------------------------

R4

----------------------------------------------------
router bgp 65002
 neighbor 192.168.0.5 next-hop-self
 neighbor 192.168.0.6 next-hop-self
----------------------------------------------------

R5

----------------------------------------------------
router bgp 65002
 neighbor 192.168.0.4 next-hop-self
 neighbor 192.168.0.6 next-hop-self
----------------------------------------------------

【Step6:BGPルートのアドバタイズの確認】

R3とR6のBGPテーブルを見て、対向のASのBGPルートがアドバタイズされていることを確認します。

R3

----------------------------------------------------
R3#show ip bgp 100.2.2.0
BGP routing table entry for 100.2.2.0/24, version 4
Paths: (2 available, best #2, table Default-IP-Routing-Table)
  Not advertised to any peer
  65002
    192.168.0.2 (metric 11) from 192.168.0.2 (192.168.0.2)
      Origin IGP, metric 0, localpref 100, valid, internal
  65002
    192.168.0.1 (metric 11) from 192.168.0.1 (192.168.0.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
----------------------------------------------------

R6

----------------------------------------------------
R6#show ip bgp 100.1.1.0
BGP routing table entry for 100.1.1.0/24, version 3
Paths: (2 available, best #2, table Default-IP-Routing-Table)
  Not advertised to any peer
  65001
    192.168.0.5 (metric 11) from 192.168.0.5 (192.168.0.5)
      Origin IGP, metric 0, localpref 100, valid, internal
  65001
    192.168.0.4 (metric 11) from 192.168.0.4 (192.168.0.4)
      Origin IGP, metric 0, localpref 100, valid, internal, best
----------------------------------------------------

R3はAS65002のBGPルート 100.2.2.0/24をR1とR2から受信しています。同様に、R6はAS65001のBGPルート 100.1.1.0/24をR4とR5から受信しています。なお、現在、ベストパスはルータIDによって決定されています。ルータIDが小さいBGPネイバーから受信したBGPルートがベストパスとなっています。
そして、R3とR6のルーティングテーブルは以下のようになります。

R3

----------------------------------------------------
R3#show ip route
~省略~

Gateway of last resort is not set

C    192.168.13.0/24 is directly connected, Ethernet0/0
     100.0.0.0/24 is subnetted, 2 subnets
B       100.2.2.0 [200/0] via 192.168.0.1, 00:31:24
C       100.1.1.0 is directly connected, Loopback1
C    192.168.23.0/24 is directly connected, Ethernet0/1
     192.168.0.0/32 is subnetted, 3 subnets
O       192.168.0.1 [110/11] via 192.168.13.1, 03:04:06, Ethernet0/0
O       192.168.0.2 [110/11] via 192.168.23.2, 03:04:06, Ethernet0/1
C       192.168.0.3 is directly connected, Loopback0
----------------------------------------------------

R6

----------------------------------------------------
R6#show ip route
~省略~

Gateway of last resort is not set

C    192.168.46.0/24 is directly connected, Ethernet0/0
     100.0.0.0/24 is subnetted, 2 subnets
C       100.2.2.0 is directly connected, Loopback1
B       100.1.1.0 [200/0] via 192.168.0.4, 00:31:43
C    192.168.56.0/24 is directly connected, Ethernet0/1
     192.168.0.0/32 is subnetted, 3 subnets
O       192.168.0.4 [110/11] via 192.168.46.4, 03:04:48, Ethernet0/0
O       192.168.0.5 [110/11] via 192.168.56.5, 03:04:48, Ethernet0/1
C       192.168.0.6 is directly connected, Loopback0
----------------------------------------------------

【Step7:OSPFコストの変更】

IBGPルートのベストパスを決定するときの基準として、ネクストホップアドレスへ到達する際のIGPのメトリックがあります。ネクストホップアドレスへ到達するためのIGPルートのメトリックが小さい方のルートが優先されます。
R3からAS65002の100.2.2.0/24宛てのパケットをルーティングするときにR2を優先するためには、R3でR2からアドバタイズされたIBGPルートがベストパスになるようにします。そして、そのためには、R3からR2のLoopback0(192.168.0.2)へのIGP(OSPF)メトリックを小さくします。

R3

----------------------------------------------------
interface Ethernet0/1
 ip ospf cost 1
----------------------------------------------------

Step8:R3から100.2.2.0/24への通信経路の確認】

R3でAS65002の100.2.2.0/24のベストパスを確認します。

R3

----------------------------------------------------
R3#show ip bgp 100.2.2.0
BGP routing table entry for 100.2.2.0/24, version 5
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Flag: 0x900
  Not advertised to any peer
  65002
    192.168.0.2 (metric 2) from 192.168.0.2 (192.168.0.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best
  65002
    192.168.0.1 (metric 11) from 192.168.0.1 (192.168.0.1)
      Origin IGP, metric 0, localpref 100, valid, internal
----------------------------------------------------

R3で100.2.2.0/24のベストパスはR2からアドバタイズされたルートになっていることがわかります。これは、R3のE0/1のOSPFコストを小さくしたので、R2の192.168.0.1へ到達するためのOSPFコストが小さくなったからです。

bgp_basic_cfg03.png
図 R3でのベストパスの決定

そして、R3から100.2.2.6宛てのTracerouteを実行すると、次のようになります。

R3

----------------------------------------------------
R3#traceroute 100.2.2.6 source 100.1.1.3

Type escape sequence to abort.
Tracing the route to 100.2.2.6

  1 192.168.23.2 24 msec 16 msec 20 msec
  2 10.2.25.5 32 msec 48 msec 28 msec
  3 192.168.56.6 56 msec *  64 msec
----------------------------------------------------

【Step9:負荷分散の設定】

通常、BGPルートはベストパスのみがルーティングテーブルに登録されます。BGPルートの負荷分散を行うためには、maximum-pathsコマンドを利用します。maximum-pathsコマンドにより、AS_PATH、MED、LOCAL_PREFが同じBGPルートを複数ルーティングテーブルに登録することができます。

R6

----------------------------------------------------
router bgp 65002
 maximum-paths ibgp 2
----------------------------------------------------

【Step10:負荷分散の確認】

R6のBGPテーブルおよびルーティングテーブルを確認します。

R6

----------------------------------------------------
R6#show ip bgp 100.1.1.0
BGP routing table entry for 100.1.1.0/24, version 4
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Multipath: iBGP
  Not advertised to any peer
  65001
    192.168.0.5 (metric 11) from 192.168.0.5 (192.168.0.5)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath
  65001
    192.168.0.4 (metric 11) from 192.168.0.4 (192.168.0.4)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
R6#show ip route bgp
     100.0.0.0/24 is subnetted, 2 subnets
B       100.1.1.0 [200/0] via 192.168.0.5, 00:01:37
                  [200/0] via 192.168.0.4, 01:16:42
----------------------------------------------------


有料メールマガジン「ネットワークのおべんきょしませんか? PREMIUM」の2015年2月のバックナンバーをご購入いただくと、このコンテンツの動画解説をダウンロードしていただけます。

Google
Web n-study.com

各コンテンツの最新記事

有料コンテンツライブラリ(ITエンジニア教育資料)

ネットワーク技術雑誌レビュー

ベンダ資格受験記

オススメ!ネットワーク技術雑誌・書籍

MindMapでおべんきょ

結果を出せるコーチング

Geneのつぶやき

The Power of Words

スポンサードリンク

スポンサードリンク