【prefix-list】の適用範囲について
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
platina30
投稿数: 8
![半人前 半人前](https://ping-t.com/uploads/rank3dbf8e94a6f72.gif)
R1-3間をarea 0、R1-2間をarea 12、R1のLoopback0-3 をarea 22 と設定し、Lo0のみをR2へアドバタイズしないようにフィルタしたいところ、うまくフィルタできません。
GNS3 c7200 IOS ver.15系を使用しています。
【質問1】
R1で下記のprefix-listを適用したのにR2では反映されません。
【適用したprefix-list】
router ospf 100
area 12 filter-list prefix exceptLo0 in
ip prefix-list exceptLo0 seq 5 deny 161.67.7.16/28
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0 le 32
【適用前後のR2のルーティングテーブル(設定前も後も変化なし)】
R2#sh ip route ospf | b Ga
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
O IA 10.0.0.0 [110/2] via 161.7.12.1, 00:13:33, FastEthernet0/0
161.67.0.0/32 is subnetted, 4 subnets
O IA 161.67.7.17 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
O IA 161.67.7.33 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
O IA 161.67.7.49 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
O IA 161.67.7.65 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
設定は正しいと思うのですが、原因がさっぱり分かりません…。
【質問2】
R1で下記のprefix-listにするとLoopback0-3までの全てのOSPFルートがルーティングテーブルから消えます。
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0
0.0.0.0/0 = 0.0.0.0/0 le32 じゃないのですか?
prefix-list は le やge の有無で動作が異なるので
10.0.0.0/24 だけだと 10.0.0.0〜10.0.0.255 の範囲になると
0.0.0.0/0 = 0.0.0.0〜255.255.255.255 の範囲で
0.0.0.0/0 le32 と同じだと思ったのですが…。
【R2のルーティングテーブル】
R2#sh ip route ospf | b Ga
Gateway of last resort is not set
R1-3のconfigは下記の通りです。
【R1】
interface Loopback0
ip address 161.67.7.17 255.255.255.240
!
interface Loopback1
ip address 161.67.7.33 255.255.255.248
!
interface Loopback2
ip address 161.67.7.49 255.255.255.240
!
interface Loopback3
ip address 161.67.7.65 255.255.255.224
!
interface FastEthernet0/0
ip address 161.7.12.1 255.255.255.0
speed auto
duplex auto
!
interface FastEthernet0/1
ip address 10.0.0.1 255.255.255.0
speed auto
duplex auto
router ospf 100
area 12 filter-list prefix exceptLo0 in
network 10.0.0.0 0.0.0.255 area 0
network 161.7.12.0 0.0.0.255 area 12
network 161.67.7.0 0.0.0.127 area 22
!
ip prefix-list exceptLo0 seq 5 deny 161.67.7.16/28
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0 le 32
【R2】
interface FastEthernet0/0
ip address 161.7.12.2 255.255.255.0
speed auto
duplex auto
router ospf 100
network 161.7.12.0 0.0.0.255 area 12
【R3】
interface FastEthernet0/0
ip address 10.0.0.2 255.255.255.0
speed auto
duplex auto
!
router ospf 100
network 10.0.0.0 0.0.0.255 area 0
GNS3 c7200 IOS ver.15系を使用しています。
【質問1】
R1で下記のprefix-listを適用したのにR2では反映されません。
【適用したprefix-list】
router ospf 100
area 12 filter-list prefix exceptLo0 in
ip prefix-list exceptLo0 seq 5 deny 161.67.7.16/28
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0 le 32
【適用前後のR2のルーティングテーブル(設定前も後も変化なし)】
R2#sh ip route ospf | b Ga
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
O IA 10.0.0.0 [110/2] via 161.7.12.1, 00:13:33, FastEthernet0/0
161.67.0.0/32 is subnetted, 4 subnets
O IA 161.67.7.17 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
O IA 161.67.7.33 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
O IA 161.67.7.49 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
O IA 161.67.7.65 [110/2] via 161.7.12.1, 00:13:37, FastEthernet0/0
設定は正しいと思うのですが、原因がさっぱり分かりません…。
【質問2】
R1で下記のprefix-listにするとLoopback0-3までの全てのOSPFルートがルーティングテーブルから消えます。
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0
0.0.0.0/0 = 0.0.0.0/0 le32 じゃないのですか?
prefix-list は le やge の有無で動作が異なるので
10.0.0.0/24 だけだと 10.0.0.0〜10.0.0.255 の範囲になると
0.0.0.0/0 = 0.0.0.0〜255.255.255.255 の範囲で
0.0.0.0/0 le32 と同じだと思ったのですが…。
【R2のルーティングテーブル】
R2#sh ip route ospf | b Ga
Gateway of last resort is not set
R1-3のconfigは下記の通りです。
【R1】
interface Loopback0
ip address 161.67.7.17 255.255.255.240
!
interface Loopback1
ip address 161.67.7.33 255.255.255.248
!
interface Loopback2
ip address 161.67.7.49 255.255.255.240
!
interface Loopback3
ip address 161.67.7.65 255.255.255.224
!
interface FastEthernet0/0
ip address 161.7.12.1 255.255.255.0
speed auto
duplex auto
!
interface FastEthernet0/1
ip address 10.0.0.1 255.255.255.0
speed auto
duplex auto
router ospf 100
area 12 filter-list prefix exceptLo0 in
network 10.0.0.0 0.0.0.255 area 0
network 161.7.12.0 0.0.0.255 area 12
network 161.67.7.0 0.0.0.127 area 22
!
ip prefix-list exceptLo0 seq 5 deny 161.67.7.16/28
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0 le 32
【R2】
interface FastEthernet0/0
ip address 161.7.12.2 255.255.255.0
speed auto
duplex auto
router ospf 100
network 161.7.12.0 0.0.0.255 area 12
【R3】
interface FastEthernet0/0
ip address 10.0.0.2 255.255.255.0
speed auto
duplex auto
!
router ospf 100
network 10.0.0.0 0.0.0.255 area 0
antares01
投稿数: 690
![長老 長老](https://ping-t.com/uploads/rank3dbf8eb1a72e7.gif)
まずフィルタ適用前のR2のルーティングテーブルを見てみてください。
R1でループバック使って/28とか/29を設定しました。
正しく、/28とか/29でR2は受信してますか?
platina30さんがやりたいことに対して、R1での準備が不足しているかもしれませんよ。もう一度、フィルタ適用前が想定している状況かを確認してみましょう
R1でループバック使って/28とか/29を設定しました。
正しく、/28とか/29でR2は受信してますか?
platina30さんがやりたいことに対して、R1での準備が不足しているかもしれませんよ。もう一度、フィルタ適用前が想定している状況かを確認してみましょう
arashi1977
居住地: 広島
投稿数: 1715
![長老 長老](https://ping-t.com/uploads/rank3dbf8eb1a72e7.gif)
引用:だって
ですから、
ではあわないですよね。このまま行くなら
を追加するか、または
でしょうか。これで
となりますよ ![](https://ping-t.com/uploads/smil3dbd4d6422f04.gif)
こちらのFAQをどうぞ
OSPF:FAQ - Cisco Systems
Q. なぜ OSPF ではループバックが /32 ホスト ルートとしてアドバタイズされるのですか。
http://www.cisco.com/cisco/web/support/JP/100/1006/1006421_9-j.html#qone
それから
引用:「下記のprefix-list」がついてないみたいですよ
【質問1】
R1で下記のprefix-listを適用したのにR2では反映されません。
設定は正しいと思うのですが、原因がさっぱり分かりません…。
R2#sh ip ro 161.67.7.17
Routing entry for 161.67.7.17/32
Known via "ospf 100", distance 110, metric 2, type inter area
Last update from 161.7.12.1 on FastEthernet0/0, 00:00:23 ago
Routing Descriptor Blocks:
* 161.7.12.1, from 1.1.1.1, 00:00:23 ago, via FastEthernet0/0
Route metric is 2, traffic share count is 1
ip prefix-list exceptLo0 seq 5 deny 161.67.7.16/28
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0 le 32
ip prefix exceptLo0 seq 6 deny 161.67.7.17/32
interface Loopback0
ip ospf network-type point-to-point
R2#sh ip ro os | b Gate
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
O IA 10.0.0.0 [110/2] via 161.7.12.1, 00:09:04, FastEthernet0/0
161.67.0.0/32 is subnetted, 3 subnets
O IA 161.67.7.33 [110/2] via 161.7.12.1, 00:09:04, FastEthernet0/0
O IA 161.67.7.49 [110/2] via 161.7.12.1, 00:09:04, FastEthernet0/0
O IA 161.67.7.65 [110/2] via 161.7.12.1, 00:09:04, FastEthernet0/0
![](https://ping-t.com/uploads/smil3dbd4d6422f04.gif)
こちらのFAQをどうぞ
OSPF:FAQ - Cisco Systems
Q. なぜ OSPF ではループバックが /32 ホスト ルートとしてアドバタイズされるのですか。
http://www.cisco.com/cisco/web/support/JP/100/1006/1006421_9-j.html#qone
それから
引用:
【質問2】
R1で下記のprefix-listにするとLoopback0-3までの全てのOSPFルートがルーティングテーブルから消えます。
![](https://ping-t.com/uploads/smil4ab2ff62b5d03.gif)
arashi1977
居住地: 広島
投稿数: 1715
![長老 長老](https://ping-t.com/uploads/rank3dbf8eb1a72e7.gif)
追加で。
161.67.0.0/16はスペインの大学が保有するグローバルアドレスのようです。
検証環境だからといってグローバルアドレスを使うのは好ましくないかと思いますよ
161.67.0.0/16はスペインの大学が保有するグローバルアドレスのようです。
検証環境だからといってグローバルアドレスを使うのは好ましくないかと思いますよ
![](https://ping-t.com/uploads/smil4ab2ff62b5d03.gif)
platina30
投稿数: 8
![半人前 半人前](https://ping-t.com/uploads/rank3dbf8e94a6f72.gif)
antares01さん
arashi1977さん
ご丁寧にありがとうございます。
point-to-pointでないと/32なのを完全に忘れてました。
事前にルーティングテーブルを見るべきでしたね…。
次から活かせるように肝に銘じます。
【質問2】の下記…が抜けておりました。
正しくは、次のとおりです。
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0
le を省くとルーティングテーブルがキレイに消えてしまいます。
prefix-list は 最後に le や ge がある場合とない場合ではどのように変化するのかイマイチ理解できていないからだと思います…。
この2つの違いをよろしければご教授頂けますでしょうか。
お手数ですが、よろしくお願いいたします。
追記
グローバルIPアドレスの件、ご指摘ありがとうございます。
以後気をつけます。
arashi1977さん
ご丁寧にありがとうございます。
point-to-pointでないと/32なのを完全に忘れてました。
事前にルーティングテーブルを見るべきでしたね…。
次から活かせるように肝に銘じます。
【質問2】の下記…が抜けておりました。
正しくは、次のとおりです。
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0
le を省くとルーティングテーブルがキレイに消えてしまいます。
prefix-list は 最後に le や ge がある場合とない場合ではどのように変化するのかイマイチ理解できていないからだと思います…。
この2つの違いをよろしければご教授頂けますでしょうか。
お手数ですが、よろしくお願いいたします。
追記
グローバルIPアドレスの件、ご指摘ありがとうございます。
以後気をつけます。
arashi1977
居住地: 広島
投稿数: 1715
![長老 長老](https://ping-t.com/uploads/rank3dbf8eb1a72e7.gif)
引用:まず、R1で以下のコマンドを入れてみます。
こうすると、R2のルーティングテーブルは以下のようになります。
で、これをみるとわかるのですが、
「0.0.0.0/0」ってなってますよね?
leとかgeとかがどういうものかはまずコマンドヘルプを見てみます。
ge:マッチする最小のプレフィックス長=Greater than Equal(以上)
le:マッチする最大のプレフィックス長=Less than Equal(以下)
のことなので、これがつくということはプレフィックスリストがマッチする対象を範囲指定(複数)しているということです。
逆に、leやgeを使わないということはexact match(厳密なマッチ)となるため、
とした時点で、「0.0.0.0/0」にしかマッチしないのです。逆に
というのは、0.0.0.0/0 〜 0.0.0.0/32のことなので、「全て」のプレフィックスを意味します。
これでどうでしょうか?
【質問2】の下記…が抜けておりました。
正しくは、次のとおりです。
ip prefix-list exceptLo0 seq 10 permit 0.0.0.0/0
le を省くとルーティングテーブルがキレイに消えてしまいます。
prefix-list は 最後に le や ge がある場合とない場合ではどのように変化するのかイマイチ理解できていないからだと思います…。
この2つの違いをよろしければご教授頂けますでしょうか。
router ospf 100
default-information originate always
R2#sh ip ro os | b Gate
Gateway of last resort is 161.7.12.1 to network 0.0.0.0
O*E2 0.0.0.0/0 [110/1] via 161.7.12.1, 00:02:16, FastEthernet0/0
R2#sh ip ro 0.0.0.0
Routing entry for 0.0.0.0/0, supernet ←ここ
Known via "ospf 100", distance 110, metric 1, candidate default path
Tag 100, type extern 2, forward metric 1
Last update from 161.7.12.1 on FastEthernet0/0, 00:02:28 ago
Routing Descriptor Blocks:
* 161.7.12.1, from 1.1.1.1, 00:02:28 ago, via FastEthernet0/0
Route metric is 1, traffic share count is 1
Route tag 100
leとかgeとかがどういうものかはまずコマンドヘルプを見てみます。
R2(config)#ip prefix A perm 0.0.0.0/0 ?
ge Minimum prefix length to be matched
le Maximum prefix length to be matched
<cr>
le:マッチする最大のプレフィックス長=Less than Equal(以下)
のことなので、これがつくということはプレフィックスリストがマッチする対象を範囲指定(複数)しているということです。
逆に、leやgeを使わないということはexact match(厳密なマッチ)となるため、
permit 0.0.0.0/0
permit 0.0.0.0/0 le 32
これでどうでしょうか?
platina30
投稿数: 8
![半人前 半人前](https://ping-t.com/uploads/rank3dbf8e94a6f72.gif)
arashi1977さん
返信が遅くなり申し訳ありません。
ご丁寧にありがとうございます。
お陰さまですっと理解することができました!
どこの解説サイトよりも分かりやすかったです。
この度は本当にありがとうございます。
返信が遅くなり申し訳ありません。
ご丁寧にありがとうございます。
お陰さまですっと理解することができました!
どこの解説サイトよりも分かりやすかったです。
この度は本当にありがとうございます。