【BGP入門】BGP Attribute(属性)のLocal Preferenceについて

  • URLをコピーしました!
目次

はじめに

こんにちは。ネットワークエンジニアの「だいまる」です。

今回は、BGPシリーズのAttribute(属性)の1つである「Local Preference」について、まとめていきたいと思います。

インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門
〜2万4000部突破のベストセラーが5年ぶりの改訂!〜

Local Preference

概要

BGP Attribute(属性)の1つである「Local Preference」は、Cisco独自の「Weight」を除いた中で一番優先度が高いAttribute(属性)です。

このAttribute(属性)は、AS外部から受信した経路をAS内部に広報する際に利用することが多いです。

優先度が高いため、この値を変更するのはリスクが伴います

AS100
AS100
AS200
AS200
AS300
AS300
AS400
AS400
経路:10.0.4.1→LP100
経路:10.0.4.1→LP100
AS200経由が
ベストパス
AS200経由が…
Lo0: 10.0.4.1
Lo0: 10.0.4.1
経路:10.0.4.1→LP200
経路:10.0.4.1→LP200
LP(Local Preference)は
受信時に設定
LP(Local Preference)は…
Text is not SVG – cannot display

設定方法(Cisco IOS)

Weightは「Neighborへの設定」が可能でしたが、Local Preferenceは「Route-mapによる設定」のみとなります。

この設定では、Route-mapの利用と特定の経路のみ変更したい場合はPrefix-Listを利用します。

デフォルトの値は100です

Route-mapによる設定
#prefix-listの定義
ip prefix-list <リスト名> permit <IP Range>/<prefix>

#route-mapの定義
route-map <マップ名> permit 10
 match ip address prefix-list <リスト名>
 set local-preference <Local Prepference値>

#BGPへの設定適用
router bgp <AS番号>
 neighbor <NeighborのIPアドレス> route-map <マップ名> in

動作確認

今回もCisco IOSを使った以下の検証構成で動作を確認していきたいと思います。

AS100
AS100
AS200
AS200
ルータ1
ルータ1
ルータ2
ルータ2
ルータ3
ルータ3
ルータ4
ルータ4
ルータ5
ルータ5
ルータ6
ルータ6
ルータ7
ルータ7
192.168.1.0/30
192.168…
192.168.2.0/30
192.168…
10.1.0.0/30
10.1.0….
10.2.0.0/30
10.2.0….
10.2.1.0/30
10.2.1….
10.2.2.0/30
10.2.2….
10.1.1.0/30
10.1.1….
10.1.2.0/30
10.1.2….
10.1.3.0/30
10.1.3….
Lo0:10.10.X.1/32
Lo0:10….
Lo0:10.20.X.1/32
Lo0:10….
AS300
AS300
ルータ8
ルータ8
192.168.3.0/30
192.168…
192.168.4.0/30
192.168…
AS400
AS400
192.168.5.0/30
192.168…
192.168.6.0/30
192.168…
Lo0:10.30.X.1/32
Lo0:10.30.X.1/32
Lo0:10.40.X.1/32
Lo0:10….
ルータ9
ルータ9
Text is not SVG – cannot display

今回の動作確認はLocal Preference値によるベストパスの状態を変更します。

確認方法はAS200に属するルータ7宛の経路をルータ1やルータ2、ルータ3で確認していきます。

事前状態(ルータ3)

ルータ3では、ルータ1向けがベストパスになっています。

Router3#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 r>i  10.10.1.1/32     10.10.1.1                0    100      0 i
 r>i  10.10.2.1/32     10.10.2.1                0    100      0 i
 *>   10.10.3.1/32     0.0.0.0                  0         32768 i
 r>i  10.10.4.1/32     10.10.4.1                0    100      0 i
 * i  10.20.5.1/32     10.10.2.1                0    100      0 200 i
 *>i                   10.10.1.1                0    100      0 200 i
 * i  10.20.6.1/32     10.10.2.1                0    100      0 200 i
 *>i                   10.10.1.1                0    100      0 200 i
 * i  10.20.7.1/32     10.10.2.1                0    100      0 200 i
 *>i                   10.10.1.1                0    100      0 200 i
 *>i  10.30.8.1/32     10.10.2.1                0    100      0 300 i
 *>i  10.40.9.1/32     10.10.1.1                0    100      0 400 i
 *>i  10.40.19.1/32    10.10.1.1                0    100      0 400 i
Router3#show ip route
      10.0.0.0/8 is variably subnetted, 17 subnets, 2 masks
O        10.1.0.0/30 [110/2] via 10.1.2.1, 2w1d, GigabitEthernet0/3
                     [110/2] via 10.1.1.1, 2w1d, GigabitEthernet0/2
C        10.1.1.0/30 is directly connected, GigabitEthernet0/2
L        10.1.1.2/32 is directly connected, GigabitEthernet0/2
C        10.1.2.0/30 is directly connected, GigabitEthernet0/3
L        10.1.2.2/32 is directly connected, GigabitEthernet0/3
C        10.1.3.0/30 is directly connected, GigabitEthernet0/1
L        10.1.3.1/32 is directly connected, GigabitEthernet0/1
O        10.10.1.1/32 [110/2] via 10.1.1.1, 2w1d, GigabitEthernet0/2
O        10.10.2.1/32 [110/2] via 10.1.2.1, 2w1d, GigabitEthernet0/3
C        10.10.3.1/32 is directly connected, Loopback0
O        10.10.4.1/32 [110/2] via 10.1.3.2, 2w1d, GigabitEthernet0/1
B        10.20.5.1/32 [200/0] via 10.10.1.1, 1w5d
B        10.20.6.1/32 [200/0] via 10.10.1.1, 1w5d
B        10.20.7.1/32 [200/0] via 10.10.1.1, 2w1d
B        10.30.8.1/32 [200/0] via 10.10.2.1, 1w1d
B        10.40.9.1/32 [200/0] via 10.10.1.1, 1w5d
B        10.40.19.1/32 [200/0] via 10.10.1.1, 1w1d
Router3#

設定変更(ルータ2)

以下の設定でルータ7が持つ「10.20.7.1」のLocal Prefrenceをルータ2で「200」に変更します。

Router2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router2(config)#ip prefix-list AS200_R7_Prefix seq 10 permit 10.20.7.1/32
Router2(config)#route-map AS200_LP_IN permit 10
Router2(config-route-map)#match ip address prefix-list AS200_R7_Prefix
Router2(config-route-map)#set local-preference 200
Router2(config-route-map)#exit
Router2(config)#route-map AS200_LP_IN permit 20
Router2(config-route-map)#end
Router2(config)#router bgp 100
Router2(config-router)#neighbor 192.168.2.2 route-map AS200_LP_IN in
Router2(config-router)#end

事後確認

ルータ2

「show ip bgp」や「show ip bgp 10.20.7.1」の状態からルータ2経由の経路が「200」に変更されていることがわかります。

Router2#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 r>i  10.10.1.1/32     10.10.1.1                0    100      0 i
 *>   10.10.2.1/32     0.0.0.0                  0         32768 i
 r>i  10.10.3.1/32     10.10.3.1                0    100      0 i
 r>i  10.10.4.1/32     10.10.4.1                0    100      0 i
 *    10.20.5.1/32     192.168.3.2                            0 300 200 i
 *>                    192.168.2.2                            0 200 i
 * i                   10.10.1.1                0    100      0 200 i
 *    10.20.6.1/32     192.168.3.2                            0 300 200 i
 *>                    192.168.2.2              0             0 200 i
 * i                   10.10.1.1                0    100      0 200 i
 *    10.20.7.1/32     192.168.3.2                            0 300 200 i
 *>                    192.168.2.2                   200      0 200 i
 *    10.30.8.1/32     192.168.2.2                            0 200 300 i
 *>                    192.168.3.2              0             0 300 i
 *    10.40.9.1/32     192.168.3.2                            0 300 200 400 i
 *                     192.168.2.2                            0 200 400 i
 *>i                   10.10.1.1                0    100      0 400 i
 *    10.40.19.1/32    192.168.2.2                            0 200 400 i
 *>i                   10.10.1.1                0    100      0 400 i
Router2#show ip bgp 10.20.7.1
BGP routing table entry for 10.20.7.1/32, version 21
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     2          3
  Refresh Epoch 2
  300 200
    192.168.3.2 from 192.168.3.2 (10.30.8.1)
      Origin IGP, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 3
  200
    192.168.2.2 from 192.168.2.2 (10.20.6.1)
      Origin IGP, localpref 200, valid, external, best
      rx pathid: 0, tx pathid: 0x0
Router2#
ルータ3

ルータ3でもLocal Preference値が200に変更になったことで、ECMPではなくルータ2のみがベストパスになっていることがわかります。

Router3#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 r>i  10.10.1.1/32     10.10.1.1                0    100      0 i
 r>i  10.10.2.1/32     10.10.2.1                0    100      0 i
 *>   10.10.3.1/32     0.0.0.0                  0         32768 i
 r>i  10.10.4.1/32     10.10.4.1                0    100      0 i
 * i  10.20.5.1/32     10.10.2.1                0    100      0 200 i
 *>i                   10.10.1.1                0    100      0 200 i
 * i  10.20.6.1/32     10.10.2.1                0    100      0 200 i
 *>i                   10.10.1.1                0    100      0 200 i
 *>i  10.20.7.1/32     10.10.2.1                0    200      0 200 i
 *>i  10.30.8.1/32     10.10.2.1                0    100      0 300 i
 *>i  10.40.9.1/32     10.10.1.1                0    100      0 400 i
 *>i  10.40.19.1/32    10.10.1.1                0    100      0 400 i
Router3#show ip route
      10.0.0.0/8 is variably subnetted, 17 subnets, 2 masks
O        10.1.0.0/30 [110/2] via 10.1.2.1, 2w1d, GigabitEthernet0/3
                     [110/2] via 10.1.1.1, 2w1d, GigabitEthernet0/2
C        10.1.1.0/30 is directly connected, GigabitEthernet0/2
L        10.1.1.2/32 is directly connected, GigabitEthernet0/2
C        10.1.2.0/30 is directly connected, GigabitEthernet0/3
L        10.1.2.2/32 is directly connected, GigabitEthernet0/3
C        10.1.3.0/30 is directly connected, GigabitEthernet0/1
L        10.1.3.1/32 is directly connected, GigabitEthernet0/1
O        10.10.1.1/32 [110/2] via 10.1.1.1, 2w1d, GigabitEthernet0/2
O        10.10.2.1/32 [110/2] via 10.1.2.1, 2w1d, GigabitEthernet0/3
C        10.10.3.1/32 is directly connected, Loopback0
O        10.10.4.1/32 [110/2] via 10.1.3.2, 2w1d, GigabitEthernet0/1
B        10.20.5.1/32 [200/0] via 10.10.1.1, 1w5d
B        10.20.6.1/32 [200/0] via 10.10.1.1, 1w5d
B        10.20.7.1/32 [200/0] via 10.10.2.1, 00:03:01
B        10.30.8.1/32 [200/0] via 10.10.2.1, 1w1d
B        10.40.9.1/32 [200/0] via 10.10.1.1, 1w5d
B        10.40.19.1/32 [200/0] via 10.10.1.1, 1w1d
      192.168.11.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.11.0/24 is directly connected, GigabitEthernet0/0
L        192.168.11.203/32 is directly connected, GigabitEthernet0/0
Router3#

最後に

今回は、BGPの5つあるAttribute(属性)の1つであるLocal Preference(LP)についてまとめてみました。

ブログの質もちょっとずつ改善していき、皆さんの有意義な情報源となれるよう頑張りたいと思います。

  • URLをコピーしました!

この記事を書いた人

目次