ip community-list expanded
- モード
- グローバルコンフィグモード
- カテゴリー
- IP / 経路制御(フィルタリング)
構文
(config)# [no] ip community-list expanded LISTNAME {deny|permit} REGEXPLINE
コマンド説明
名前付き拡張コミュニティーリストにエントリーを追加する。no形式で実行した場合は、名前付き拡張コミュニティーリストから指定したエントリーを削除する。
コミュニティーリストは、BGP経路に対するフィルタリング機能の1つ。COMMUNITIES属性の値に基づいて経路をフィルタリングしたり、各種属性を変更するときに使う。
コミュニティーリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われる。検索時には、最初にマッチしたエントリーで結果(permitかdeny)が返され、マッチした時点で検索は終了する。どのエントリーにもマッチしなかった場合はdenyとなる。
コミュニティーリストは単独で使用するのではなく、ルートマップのmatch節やset節で使用する(match communityコマンド、set comm-list deleteコマンド)。そのとき、コミュニティーリストの検索結果が「permit」ならルートマップの該当エントリーにマッチしたと見なされ、結果が「deny」の場合はマッチしたと見なされない。
パラメーター
LISTNAME- コミュニティーリスト名
deny|permit- 条件に合致した場合のアクション。拒否(deny)、許可(permit)のどちらかを指定する
REGEXPLINE- 所属コミュニティーの正規表現。比較対象は、show ip bgpコマンドで特定の経路エントリーを指定したときに表示される「Community」欄の文字列。同欄では、該当経路の所属コミュニティーが、番号の小さい順にスペース区切りで記述されている。なお、コミュニティー番号0:0は文字列「internet」、65535:65281は「no-export」、65535:65282は「no-advertise」、65535:65283は「local-AS」として記述されることに注意。正規表現では大文字小文字を区別するため、これらのキーワードを指定するときは注意すること(特に「local-AS」の「AS」が大文字であることに注意)
注意・補足事項
拡張コミュニティーリストの末尾には「deny .*」、すなわち、すべてをdenyする暗黙のエントリーが存在している。なお、コミュニティーリストはルートマップのmatch節やset節で使うものなので、基本的にはpermitする経路だけを列挙する。拡張コミュニティーリストで指定可能な正規表現の構成要素は次のとおり。
| ^ | 所属コミュニティーを表す文字列の先頭にマッチ |
| $ | 所属コミュニティーを表す文字列の末尾にマッチ |
| . | スペースを含む任意の1文字にマッチ |
| * | 直前のパターンが0個以上続く場合に最長マッチ |
| + | 直前のパターンが1個以上続く場合に最長マッチ |
| ? | 直前のパターンが0個または1個ある場合にマッチ |
| _ | コミュニティーの区切りにマッチ。具体的にはスペース、カンマ、丸カッコ( )、波カッコ{ }、文字列の先頭と末尾にマッチする |
| [012] | 角カッコ[ ]で囲まれた文字のどれか1つと一致すればマッチ |
| [^012] | 角カッコ[ ]で囲まれた文字のどれとも一致しなければマッチ |
| - | 角カッコ[ ]内で使った場合のみ、ASCII文字の範囲を示す。たとえば、[0-2]は[012]と、[^6-9]は[^6789]と同じ意味になる |
| internet | コミュニティー0:0にマッチ |
| no-export | コミュニティー65535:65281(NO_EXPORT)にマッチ |
| no-advertise | コミュニティー65535:65282(NO_ADVERTISE)にマッチ |
| local-AS | コミュニティー65535:65283(NO_EXPORT_SUBCONFED)にマッチ。「AS」が大文字であることに注意 |