BGP - backdoor



 ◆ BGP - バックドア

 BGPバックドアは、
特定のBGPルートのAD値を200に変更するルート制御の手法の1つです。BGPのAD値は
 eBGP「20」iBGP「200」ローカルBGP「200」の3つありますが、バックドアのAD値はローカルBGPの値。

 構成図では、R1とR3の間でeBGP接続、R2とR3の間でeBGP接続、R1とR2の間でIGP接続を行っています。
 一般的にAS間では、eBGP接続を行いBGPによってルート制御を行いますが、ある組織のAS管理責任者が
 複数のASを管理していたり、AS間双方でIGP接続の取り決めがある場合は、AS間でもIGP接続を行います。


  


 構成図では、AS2にあるルート「2.0.0.0/8」がAS1に通知される時、AS2からはOSPFで受信することから
 AD値が「110」となり、AS3からはeBGPで受信することからAD値は「20」となります。その結果、R1の
 ルーティングテーブルでは「2.0.0.0/8」宛の通信のネクストホップはAS3の R3 となります。この状態では
 AS2の2.0.0.0/8に到達するために、AS2に直接通信するのではなく、AS3を無駄に経由する必要があります。


 AS1から、AS3を無駄に経由せずに「2.0.0.0/8」に到達するための方法は以下の2の方法があります。

 @ IGPのAD値、または、eBGP値のAD値を変更する(推奨されていない手法)
 A BGPバックドアを使用する。

 @の方法では、
distance bgp コマンドを使用して「external-distance」の値を110よりも大きくします。

 ◆ BGPのdistanceの設定
 (config)# router bgp as-number
 (config-router)# distance bgp external-distance internal-distance local-distance

コマンド引数 説明
external-distance

 デフォルト値は20。EBGPネイバーから学習した外部ルートのAD値を1〜255の範囲で指定。

internal-distance  デフォルト値は200。IBGPネイバーから学習した内部ルートのAD値を1〜255の範囲で指定
local-distance  デフォルト値は200。ローカルルートのAD値を1〜255の範囲で指定。


 
◆ 設定例 : 外部ルートのAD値を「120」、内部ルートのAD値を「200」ローカルルートのAD値を「200」とする設定


 R1(config)# router bgp 1
 R1(config-router)#distance bgp 120 200 200



 Aの方法では、
network backdoorコマンドを使用することで、特定のルートを指定してAD値を変更します。
 backdoorコマンドにより特定のBGPルート「2.0.0.0/8」のAD値を「200」に変更しています。これにより、
 R1のルーティングテーブル上では「2.0.0.0/8」の経路がAD値の低いAS2のR2経由で見えることになります。

 また、R1のBGPテーブルを確認すると「2.0.0.0/8」の経路はAD値200よりも低いOSPFのAD値110で受信
 しているため、RIB-failureが発生します。ゆえに、backdoorのネットワークはeBGPピアに通知されません。


   


 ◆ 設定例 : 特定のBGPルート「2.0.0.0/8」のAD値を200にする(ローカルBGPルートと同じにする)設定

 R1(config)# router bgp 1
 R1(config-router)#network 2.0.0.0 backdoor




BGP(Border Gateway Protocol)

ネットワークエンジニアとして

Copyright (C) 2002-2019 ネットワークエンジニアとして All Rights Reserved.