[index] AT-AR2050V/AT-AR3050S/AT-AR4050S コマンドリファレンス 5.4.8
モード: グローバルコンフィグモード
カテゴリー: IP / 経路制御(フィルタリング)
(config)# [no] ip as-path access-list LISTNAME {deny|permit} REGEXP
ASパスアクセスリストにエントリーを追加する。
no形式で実行した場合は、ASパスアクセスリストから指定したエントリーを削除する。
ASパスアクセスリストは、BGP経路に対するフィルタリング機能の1つ。AS_PATH属性の内容に基づいて経路をフィルタリングしたり、各種属性を変更するときに使う。
ASパスアクセスリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われる。検索時には、最初にマッチしたエントリーで処理(permitかdeny)が行われるか結果(permitかdeny)が返され、マッチした時点で検索は終了する。どのエントリーにもマッチしなかった場合はdenyとなる。
ASパスアクセスリストは、BGPモードのneighbor filter-listコマンド、BGP IPv6アドレスファミリーモードのneighbor filter-listコマンドで特定BGPピアとの通信(受信・送信を個別に設定可能)に適用するか、ルートマップのmatch節で使用する(match as-pathコマンド)。
ASパスアクセスリストを特定BGPピアとの通信に適用する場合、結果が「permit」の経路は許可され、結果が「deny」の経路は破棄される。
一方、ルートマップのmatch節で使う場合、ASパスアクセスリストの検索結果が「permit」ならルートマップの該当エントリーにマッチしたと見なされ、結果が「deny」の場合はマッチしたと見なされない。
LISTNAME |
ASパスアクセスリスト名 | ||||
deny|permit |
条件に合致した場合のアクション。拒否(deny)、許可(permit)のどちらかを指定する | ||||
REGEXP |
ASパスの正規表現。比較対象は、show ip bgpコマンドで表示される「Path」欄の文字列。同欄では、該当経路のASパスがスペースで区切られたAS番号の並びとして記述されている。本パラメーターでは、このASパス文字列に対する正規表現を指定すること |
■ 以下では、サンプルのASパスアクセスリストlist1の設定を通じて、各種正規表現の使い方を説明する。
awplus(config)# ip as-path access-list list1 deny ^$ ↓
awplus(config)# ip as-path access-list list1 permit 65060$ ↓
awplus(config)# ip as-path access-list list1 permit ^65050 ↓
awplus(config)# ip as-path access-list list1 permit ^65020 65030 65040$ ↓
awplus(config)# ip as-path access-list list1 permit 65021 65031 65041 ↓
awplus(config)# ip as-path access-list list1 permit _20 30 40_ ↓
awplus(config)# ip as-path access-list list1 permit 20 30 40 ↓
awplus(config)# ip as-path access-list list1 permit 651..$ ↓
awplus(config)# ip as-path access-list list1 permit 652[12]0 ↓
awplus(config)# ip as-path access-list list1 permit 6531[3-9] ↓
awplus(config)# ip as-path access-list list1 permit [12][0-9][0-9][0-9][^13] ↓
■ ASパスアクセスリストの末尾には「deny .*」、すなわち、すべてをdenyする暗黙のエントリーが存在している。
■ ASパスアクセスリストで指定可能な正規表現の構成要素は次のとおり。
^ | ASパスを表す文字列の先頭にマッチ |
$ | ASパスを表す文字列の末尾にマッチ |
. | スペースを含む任意の1文字にマッチ |
* | 直前のパターンが0個以上続く場合に最長マッチ |
+ | 直前のパターンが1個以上続く場合に最長マッチ |
? | 直前のパターンが0個または1個ある場合にマッチ |
_ | AS番号の区切りにマッチ。具体的にはスペース、カンマ、丸カッコ( )、波カッコ{ }、文字列の先頭と末尾にマッチする |
[012] | 角カッコ[ ]で囲まれた文字のどれか1つと一致すればマッチ |
[^012] | 角カッコ[ ]で囲まれた文字のどれとも一致しなければマッチ |
- | 角カッコ[ ]内で使った場合のみ、ASCII文字の範囲を示す。たとえば、[0-2]は[012]と、[^6-9]は[^6789]と同じ意味になる |
configure terminal (特権EXECモード) | +- ip as-path access-list(グローバルコンフィグモード)
match as-path(ルートマップモード)
neighbor filter-list(BGP IPv6アドレスファミリーモード)
neighbor filter-list(BGPモード)
show bgp ipv6(非特権EXECモード)
show ip as-path-access-list(非特権EXECモード)
show ip bgp(非特権EXECモード)
(C) 2015 - 2018 アライドテレシスホールディングス株式会社
PN: 613-002107 Rev.W