0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【忘備録】CCIE勉強メモ_20250914

Last updated at Posted at 2025-09-14

参考資料・時間

資料:
CCIE Enterprise Infrastructure Foundation lab
BGP lab 7

勉強時間:
約5時間

学習内容

ルートフィルタリング

コマンドは以下

ip as-path access-list 1-500 [permit|deny] [pattern]

ip as-path access-listには暗黙のdenyが存在する。
そのため、特定のASをからの経路を弾くには

ip as-path access-list 1 deny _300_
ip as-path access-list 1 permit .*

といった形でpermitする必要がある。

ネイバーへの適用は主に2種類。

1. ルートマップを使用
 ip as-path access-list 1 deny _300_
 ip as-path access-list 1 permit .*
 route-map deny-300-map permit 10
  match as-path 1
 router bgp 100
  neighbor 6.6.6.6 route-map deny-300-map in|out


2. neighbor filter-listを使用
 ip as-path access-list 1 deny _300_
 ip as-path access-list 1 permit .*
 router bgp 100
  neighbor 6.6.6.6 filter-list 1 in|out


コマンドの詳細

^ : ASパスの先頭(隣接ルータ)に一致
$ : ASパスの末尾(広告の生成元)に一致
_ : 空白・カンマ・[]・()・入力文字の先頭もしくは末尾に一致
[] : 任意の1文字と一致。
- : 範囲を指定。
() : ()内の式をグループ化。
. : 任意の1文字に一致
+ : 1個以上の直前の文字パターンと一致
* : 0個以上の直前の文字パターンと一致
\n : nには数字が入る。直前のパターンに一致したものがn回以上繰り返されるものと一致


設定例

show ip bgp regexp [pattern] にて、一致確認ができるためこれを例とする。
まずは設定が入ってない状態。例として出すには無駄な項目多いですね。

R3#sh ip bgp | beg Network
     Network          Next Hop            Metric LocPrf Weight Path
 *>   30.3.3.0/24      0.0.0.0                  0         32768 i
 *>   31.3.3.0/24      0.0.0.0                  0         32768 i
 *>   32.3.3.0/24      0.0.0.0                  0         32768 i
 *>   33.3.3.0/24      0.0.0.0                  0         32768 i
 *>   34.3.3.0/24      0.0.0.0                  0         32768 i
 *>   200.1.1.1/32     1.1.1.1                  0             0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>i  200.1.1.2/32     20.1.1.20                0    100      0 200 i
 *>   200.1.1.3/32     0.0.0.0                  0         32768 i
 *    200.1.1.4/32     1.1.1.1                                0 100 400 i
 *>                    5.5.5.5                                0 500 400 i
 *    200.1.1.5/32     1.1.1.1                                0 100 500 i
 *>                    5.5.5.5                  0             0 500 i
 *>   200.1.1.7/32     1.1.1.1                                0 100 700 700 700 700 700 i
 *                     5.5.5.5                                0 500 100 700 700 700 700 700 i
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *                     5.5.5.5                                0 500 400 100 800 i
 *>   200.1.1.10/32    1.1.1.1                                0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>i  200.1.1.20/32    20.1.1.20                0    100      0 i
 *>   200.1.1.30/32    1.1.1.1                                0 100 800 933 i
 *                     5.5.5.5                                0 500 400 100 800 933 i

^100
隣接ASが100のものと一致

R3#show ip bgp regexp ^100
     Network          Next Hop            Metric LocPrf Weight Path
 *    200.1.1.4/32     1.1.1.1                                0 100 400 i
 *    200.1.1.5/32     1.1.1.1                                0 100 500 i
 *>   200.1.1.7/32     1.1.1.1                                0 100 700 700 700 700 700 i
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *>   200.1.1.30/32    1.1.1.1                                0 100 800 933 i

800$
経路の生成元がAS800のものと一致

R3#show ip bgp regexp 800$
     Network          Next Hop            Metric LocPrf Weight Path
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *                     5.5.5.5                                0 500 400 100 800 i

^$
自分が生成した経路と一致

R3#show ip bgp regexp ^$
     Network          Next Hop            Metric LocPrf Weight Path
 *>   30.3.3.0/24      0.0.0.0                  0         32768 i
 *>   31.3.3.0/24      0.0.0.0                  0         32768 i
 *>   32.3.3.0/24      0.0.0.0                  0         32768 i
 *>   33.3.3.0/24      0.0.0.0                  0         32768 i
 *>   34.3.3.0/24      0.0.0.0                  0         32768 i
 *>   200.1.1.3/32     0.0.0.0                  0         32768 i
 *>i  200.1.1.20/32    20.1.1.20                0    100      0 i

_800_
ASパスの中のどこかにAS800が存在する経路と一致

R3#show ip bgp regexp _800_
     Network          Next Hop            Metric LocPrf Weight Path
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *                     5.5.5.5                                0 500 400 100 800 i
 *>   200.1.1.30/32    1.1.1.1                                0 100 800 933 i
 *                     5.5.5.5                                0 500 400 100 800 933 i

[0-9]00
0~9とに加えて00が付くパスと一致。
AS000,100,200,300,400,500,600,700,800,900が対象。
前後に"_"がないので、1000とか65100にも一致する。

R3#show ip bgp regexp [0-9]00
     Network          Next Hop            Metric LocPrf Weight Path
 *>   200.1.1.1/32     1.1.1.1                  0             0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>i  200.1.1.2/32     20.1.1.20                0    100      0 200 i
 *    200.1.1.4/32     1.1.1.1                                0 100 400 i
 *>                    5.5.5.5                                0 500 400 i
 *    200.1.1.5/32     1.1.1.1                                0 100 500 i
 *>                    5.5.5.5                  0             0 500 i
 *>   200.1.1.7/32     1.1.1.1                                0 100 700 700 700 700 700 i
 *                     5.5.5.5                                0 500 100 700 700 700 700 700 i
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *                     5.5.5.5                                0 500 400 100 800 i
 *>   200.1.1.10/32    1.1.1.1                                0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>   200.1.1.30/32    1.1.1.1                                0 100 800 933 i
 *                     5.5.5.5                                0 500 400 100 800 933 i

[0-9]+
0-9が複数一連続するものと一致。
AS1~65535まで一致するが、自身が生成する経路は含まない。

R3#show ip bgp regexp [0-9]+
     Network          Next Hop            Metric LocPrf Weight Path
 *>   200.1.1.1/32     1.1.1.1                  0             0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>i  200.1.1.2/32     20.1.1.20                0    100      0 200 i
 *    200.1.1.4/32     1.1.1.1                                0 100 400 i
 *>                    5.5.5.5                                0 500 400 i
 *    200.1.1.5/32     1.1.1.1                                0 100 500 i
 *>                    5.5.5.5                  0             0 500 i
 *>   200.1.1.7/32     1.1.1.1                                0 100 700 700 700 700 700 i
 *                     5.5.5.5                                0 500 100 700 700 700 700 700 i
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *                     5.5.5.5                                0 500 400 100 800 i
 *>   200.1.1.10/32    1.1.1.1                                0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>   200.1.1.30/32    1.1.1.1                                0 100 800 933 i
 *                     5.5.5.5                                0 500 400 100 800 933 i

([0-9]+)+
0-9が複数個一致するもの→([0-9]+)
が1個以上連続する(+)ものと一致。

ASパスが1個以上の物が一致。

R3#show ip bgp regexp ([0-9]+)+
     Network          Next Hop            Metric LocPrf Weight Path
 *>   200.1.1.1/32     1.1.1.1                  0             0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>i  200.1.1.2/32     20.1.1.20                0    100      0 200 i
 *    200.1.1.4/32     1.1.1.1                                0 100 400 i
 *>                    5.5.5.5                                0 500 400 i
 *    200.1.1.5/32     1.1.1.1                                0 100 500 i
 *>                    5.5.5.5                  0             0 500 i
 *>   200.1.1.7/32     1.1.1.1                                0 100 700 700 700 700 700 i
 *                     5.5.5.5                                0 500 100 700 700 700 700 700 i
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *                     5.5.5.5                                0 500 400 100 800 i
 *>   200.1.1.10/32    1.1.1.1                                0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>   200.1.1.30/32    1.1.1.1                                0 100 800 933 i
 *                     5.5.5.5                                0 500 400 100 800 933 i

(([0-9]+)_\2)
この辺から難しい。
AS1~65535と一致したASと""同じもの""が2回より多く登場するものと一致。
([0-9]+)が700と一致した場合、700が2回より多いという意味。
なので「700 300 i」 等は一致しない。

R3#show ip bgp regexp (([0-9]+)_\2)
     Network          Next Hop            Metric LocPrf Weight Path
 *>   200.1.1.7/32     1.1.1.1                                0 100 700 700 700 700 700 i
 *                     5.5.5.5                                0 500 100 700 700 700 700 700 i

.*
任意の文字が0以上…なので全てを示す。
ip as-path access-listは暗黙のdenyがあるので、
denyしたもの以外をpermitする際に使う。

R3#show ip bgp regexp .*
     Network          Next Hop            Metric LocPrf Weight Path
 *>   30.3.3.0/24      0.0.0.0                  0         32768 i
 *>   31.3.3.0/24      0.0.0.0                  0         32768 i
 *>   32.3.3.0/24      0.0.0.0                  0         32768 i
 *>   33.3.3.0/24      0.0.0.0                  0         32768 i
 *>   34.3.3.0/24      0.0.0.0                  0         32768 i
 *>   200.1.1.1/32     1.1.1.1                  0             0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>i  200.1.1.2/32     20.1.1.20                0    100      0 200 i
 *>   200.1.1.3/32     0.0.0.0                  0         32768 i
 *    200.1.1.4/32     1.1.1.1                                0 100 400 i
 *>                    5.5.5.5                                0 500 400 i
 *    200.1.1.5/32     1.1.1.1                                0 100 500 i
 *>                    5.5.5.5                  0             0 500 i
 *>   200.1.1.7/32     1.1.1.1                                0 100 700 700 700 700 700 i
 *                     5.5.5.5                                0 500 100 700 700 700 700 700 i
 *>   200.1.1.8/32     1.1.1.1                                0 100 800 i
 *                     5.5.5.5                                0 500 400 100 800 i
 *>   200.1.1.10/32    1.1.1.1                                0 100 i
 *                     5.5.5.5                                0 500 100 i
 *>i  200.1.1.20/32    20.1.1.20                0    100      0 i
 *>   200.1.1.30/32    1.1.1.1                                0 100 800 933 i
 *                     5.5.5.5                                0 500 400 100 800 933 i

続きはまた明日

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?