概要

neighbor remove-private-ASコマンドによって、指定したEBGPネイバーへアドバタイズするBGPルートのAS_PATHからプライベートAS番号を削除できます。neighbor remove-private-ASコマンドについて解説します。

neighbor remove-private-ASコマンド

AS_PATHアトリビュートのAS番号はプリペンドで追加することはできますが、基本的に削除することはできません。例外としてEBGPネイバーへアドバタイズするBGPルートのプライベートAS番号をAS_PATHアトリビュートの中から削除することができます。通常は、インターネット上にプライベートAS番号を流さないようにするためです。

AS_PATHアトリビュートの中からプライベートAS番号を削除するには、次のような設定を行います。

neighbor remove-private-ASコマンド

(config)#router bgp <AS>
(config-router)#neighbor <ip-address> remove-private-AS

<AS>:AS番号
<ip-address>:ネイバーのIPアドレス

このコマンドにより、このコマンドにより、指定したネイバーへアドバタイズするBGPルートのAS_PATHアトリビュートからプライベートAS番号を削除します。neighbor remove-private-ASコマンドには次の条件があります。

  • EBGPネイバーのみ対象
  • AS_PATHアトリビュートにグローバルAS番号とプライベートAS番号が混在しているときは機能しません。
  • コンフェデレーションの環境では、AS_PATHアトリビュートの{ }のあとの部分にプライベートAS番号が含まれていれば削除します。
  • AS_PATHアトリビュートに指定したネイバーのAS番号が含まれている場合、プライベートAS番号は削除されません。

neighbor remove-private-ASコマンドの設定例

次のネットワーク構成でneighbor remove-private-ASコマンドを設定します。

図 neighbor remove-private-AS確認用トポロジ
図 neighbor remove-private-AS確認用トポロジ

R1/R3/ISP1のBGP設定は次のようになっています。

R1 BGP設定

router bgp 100
 no synchronization
 bgp log-neighbor-changes
 neighbor 3.3.3.3 remote-as 65003
 neighbor 3.3.3.3 ebgp-multihop 255
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 172.16.1.11 remote-as 1
 no auto-summary

R3 BGP設定

router bgp 65003
 no synchronization
 bgp log-neighbor-changes
 network 100.100.1.0 mask 255.255.255.0
 network 100.100.2.0 mask 255.255.255.0
 network 100.100.3.0 mask 255.255.255.0
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 ebgp-multihop 255
 neighbor 1.1.1.1 update-source Loopback0
 no auto-summary

ISP1 BGP設定

router bgp 1
 bgp log-neighbor-changes
 network 100.1.1.0 mask 255.255.255.0
 network 100.1.2.0 mask 255.255.255.0
 network 100.1.3.0 mask 255.255.255.0
 neighbor 172.16.1.1 remote-as 100
 no auto-summary

ISP1でR1から受信するルートにはR3のプライベートAS番号65003がAS_PATHアトリビュートに含まれています。

ISP1 BGPテーブル

ISP1#show ip bgp
BGP table version is 27, local router ID is 111.1.1.11
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.1.0/24     0.0.0.0                  0         32768 i
*> 100.1.2.0/24     0.0.0.0                  0         32768 i
*> 100.1.3.0/24     0.0.0.0                  0         32768 i
*> 100.100.1.0/24   172.16.1.1                             0 100 65003 i
*> 100.100.2.0/24   172.16.1.1                             0 100 65003 i
*> 100.100.3.0/24   172.16.1.1                             0 100 65003 i

この状態からR1でneighbor remove-private-ASの設定を行い、ISP1へ送信するルートのAS_PATHアトリビュートからプライベートAS番号を削除するように設定します。

R1 remove-private-ASの設定

router bgp 100
 neighbor 172.16.1.11 remove-private-AS

ISP1で再びBGPテーブルを見ると、R1から受信したルートのAS_PATHアトリビュートからプライベートAS番号65003が削除されています。

ISP1 BGPテーブル(remove-private-AS設定後)

ISP1#show ip bgp
BGP table version is 30, local router ID is 111.1.1.11
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.1.0/24     0.0.0.0                  0         32768 i
*> 100.1.2.0/24     0.0.0.0                  0         32768 i
*> 100.1.3.0/24     0.0.0.0                  0         32768 i
*> 100.100.1.0/24   172.16.1.1                             0 100 i
*> 100.100.2.0/24   172.16.1.1                             0 100 i
*> 100.100.3.0/24   172.16.1.1                             0 100 i
図 remove-private-ASの動作
図 remove-private-ASの動作

まとめ

ポイント

  • neighbor remove-private-ASコマンドによって、指定したEBGPネイバーへアドバタイズするBGPルートのAS_PATHからプライベートAS番号を削除できます。
  • neighbor remove-private-ASコマンドフォーマットは次の通りです。
    • (config)#router bgp <AS>
      (config-router)#neighbor <ip-address> remove-private-AS

BGPの仕組み