NSX-T BGP Allowas-in

今回はNSX-TのBGPのAllowas-inと呼ばれる機能について説明します。

 

概要

Allowas-inについて

以前の記事で、BGP経由で学習したルート情報のAS_PATHに自身のAS番号が含まれている場合、受信したルート情報はループしていると判断され、破棄されることを説明しました。

 

上記のAS_PATHの動作は、ISP(Internet Service Provider)が提供しているMPLS(Multi Protocol Label Switching)等のサービスを使用して、拠点間を接続する場合に問題が発生します。
MPLSを使用する場合、自拠点のルータとISPのルータ間ではBGPを使用してルート情報を交換するケースがあります。

下図では、AS 20のISPのMPLS経由でAS 10の組織の拠点間を接続しています。この状況で、R2がBGP経由で10.1.1.0/24を広報したとします。10.1.1.0/24はAS 20を経由して、R1まで転送されます。しかし、R1が受信した10.1.1.0/24のAS_PATHには、自身のAS番号であるAS 10が含まれているため、R1は10.1.1.0/24を破棄してしまいます。

 

このような状況で使用する機能がAllowas-inになります。Allowas-inが有効な場合、ルータはBGP経由で学習したルート情報のAS_PATHに自身のAS番号が含まれている場合でも、ルート情報を破棄せず、学習可能です。

 

ただし、契約するMPLSのサービスによっては、MPLS網側で、ルート情報のAS_PATHを上書きしてくれるケースも存在し、この機能をAS Overrideと呼びます。
そのため、MPLSを使用して拠点間を接続する場合は、最初にサービス仕様書等で、MPLS側でAS Overrideが有効であるか確認します。そして、もしAS Overrideが無効な場合は、自拠点のルータ側でAllowas-inを有効にする必要があります。

 

 

検証結果

検証内容、構成

Tier-1 GWでSegment 1を収容します。
Tier-1 GWとTier-0 GWを接続します。
NSX EdgeにTier-0 GWのSRを配置し、物理ネットワークとNSX-Tの仮想ネットワークを接続します。

Tier-0 GWのSRをAS 100、R2をAS 200とし、Tier-0 GWのSRとR2間でEBGPネイバーを構築します。
Tier-0 GWのSRはBGP経由で10.1.1.0/24を広報します。
R2はBGP経由で20.2.2.0/24を広報します。この際、AS_PATHにAS 100を追加します。

この状況で、Tier-0 GWのSRでのAllowas-inの有無による挙動の違いを確認します。

 

ネットワーク機器のCLIの設定


interface GigabitEthernet2
 ip address 10.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.254
            


interface Loopback0
 ip address 20.2.2.23 255.255.255.0
!
interface GigabitEthernet2
 ip address 20.1.1.102 255.255.255.0
!
router bgp 200
 bgp router-id 2.2.2.2
 network 20.2.2.0 mask 255.255.255.0
 neighbor 20.1.1.1 remote-as 100
 neighbor 20.1.1.1 route-map BGP_MAP out
!
route-map BGP_MAP permit 10
 set as-path prepend 100
            

 

Allowas-inが無効な場合

Tier-0 GWのSRとR2間でEBGPネイバーを構成します。Allowas-inは無効にします。

 

BGPの設定

 

状態確認

Tier-0 GWのSRはAS_PATHに自身のAS番号である100を含んでる20.2.2.0/24を学習できていないことが確認できます。

NSX Edge1

edge1(tier0_sr)> get bgp
BGP IPv4 table version is 142, BGP IPv6 table version is 0
Local router ID is 20.1.1.1
Status flags: > - best, I - internal
Origin flags: i - IGP, e - EGP, ? - incomplete

EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP]
EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP]
EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP]
EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP]

   Network      Next Hop      Metric  LocPrf  Weight  Path   RD
 > 10.1.1.0/24  100.64.128.1  0       100     32768   100 ?
            

 

Allowas-inが有効な場合

R2に対して、Tier-0 GWのSRでAllowas-inを有効にします。

 

BGPの設定

 

状態確認

Allowas-inを有効にしたことで、Tier-0 GWのSRはAS_PATHに自身のAS番号であるAS 100を含んでいる20.2.2.0/24を破棄せずに、学習していることが確認できます。

NSX Edge1

edge1(tier0_sr)> get bgp
BGP IPv4 table version is 143, BGP IPv6 table version is 0
Local router ID is 20.1.1.1
Status flags: > - best, I - internal
Origin flags: i - IGP, e - EGP, ? - incomplete

EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP]
EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP]
EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP]
EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP]

   Network      Next Hop      Metric  LocPrf  Weight  Path           RD
 > 10.1.1.0/24  100.64.128.1  0       100     32768   100 ?
 > 20.2.2.0/24  20.1.1.100    0       100     0       200 100 100 i
            

コメント

タイトルとURLをコピーしました