30 Minutes NetWorking
No.RT33

30Minutes NetWorking

BSCI

第33回再配布(4) ルートフィルタリング

■ パッシブインタフェース

スーパーインター博士

再配布の話も含めてだが。
つまる所、効率的なルーティングのためには、そのアップデートトラフィックをどう制御するかというのが重要なポイントだ。

ハイパーネット助手

アップデートを制御する?

スーパーインター博士

うむ。アップデートを制御することによって、ルーティングループを防止したり、WANでのアップデートを中止したりすることが可能になるわけだ。

ハイパーネット助手

WANでアップデートってしちゃだめなんですか?

スーパーインター博士

駄目ではないが、DDRなどでは、中止したり、必要最低限しかしなかったりすることが重要だったりする。

ハイパーネット助手

あ〜、なるほど。RIPとかで30秒に1回必ず接続していたら、DDRの有効性とかあまりなくなってしまうかもしれませんね。

スーパーインター博士

そういうことだ。このようなルーティングアップデートを制御する方法を今回は行う。
まず、パッシブインタフェース

ハイパーネット助手

ぱっしぶいんたふぇーす?
受動的なインタフェースですか?

スーパーインター博士

うむ。「受動的」という表現がぴったりなインタフェースだな。
つまりアップデートを送信しないインタフェースということだ。ただし、アップデートの受信は行う

ハイパーネット助手

受信は行うけど、送信は行わない。
アップデートを聞いているだけのインタフェースなんですね。だからパッシブ。

スーパーインター博士

そうだ。
ただしEIGRPのパッシブインタフェースは送受信両方行わないHelloも停止してしまうため注意が必要だ。

ハイパーネット助手

あい、EIGRPは例外。

スーパーインター博士

よしよし。
設定するコマンドはこう。

  • Router(config)#router protocol id
  • Router(config-router)#passive-interface type number
ハイパーネット助手

あれ? インタフェースっていうから、インタフェース設定モードかと思ったら、ルータ設定モードなんですね。

スーパーインター博士

うむ、何故かというと、ルーティングプロトコルごとに設定する必要があるからだ。
例えば、こう。

パッシブインタフェース設定前

[FigureRT33-01:パッシブインタフェース設定前]

スーパーインター博士

RIP、IGRPともに「network 172.16.0.0」コマンドがあるから、RIP、IGRP両方ともSerial1、Etehr0の2つのインタフェースからアップデートを送信してしまう。

ハイパーネット助手

してしまいますね。

スーパーインター博士

だが、RIP側にIGRPのアップデートを流しても無駄だし、IGRP側にRIPのアップデートを流しても無駄だ。なので、こうする。

パッシブインタフェース設定後

[FigureRT33-02:パッシブインタフェース設定後]

ハイパーネット助手

IGRPはEhter0がパッシブ、RIPはSerial1がパッシブ。

スーパーインター博士

そうだ。こうすれば、必要のない側にはアップデートを送らなくなるわけだな。
他にも、再配布によるルーティングループを防止するためにもパッシブインタフェースは有効だな。

ハイパーネット助手

不必要なアップデートを送らなくする方法なんですね。

■ ルートフィルタ

スーパーインター博士

さて、他にもルーティングアップデートを制御する方法がある。
パッシブインタフェースは確かに有効だが、あまりにも大雑把だ。

ハイパーネット助手

大雑把?

スーパーインター博士

そうだ。そのインタフェースからアップデートを全く送らなくなってしまうからな。
「このルートのアップデートだけは送らないようにしたい」ということはできない。

ハイパーネット助手

確かに。そういう意味では大雑把ですね。

スーパーインター博士

そうだろう。そういう時にはルートフィルタリングという手法を使う。

ハイパーネット助手

るーとふぃるたりんぐ…。
え〜っと、僕の記憶に間違いがなければ、BGPの所そんな話を聞いたような。

スーパーインター博士

珍しく正しいな。確かにBSCI第22回でBGPのルートフィルタリングの説明をしている。

ハイパーネット助手

えっと、プレフィックスリスト、でしたっけ。

スーパーインター博士

うむ。ただプレフィックスリストはBGP専用なので、IGPでは違うリストを使う。ディストリビュートリストだ。

ハイパーネット助手

でぃすとりびゅーとは「配布」でしたっけ。配布リスト?

スーパーインター博士

まぁ、そうなるな。
ディストリビュートリストはアクセスリストを使用して作成される。

ハイパーネット助手

うううぅ。「〜リスト」が一杯でてきた。
アクセスリストは…、え〜、パケットフィルタリングに使うリストでしたっけ。

スーパーインター博士

そうだ。「どのパケットを許可/禁止」するというリストだな。
これをアップデートにも当てはめて、「どのアップデートパケットを許可/禁止」するという形で使うわけだ。

リストの適用

[FigureRT33-03:リストの適用]

スーパーインター博士

アクセスリスト自体は同じ作り方で作成されるが、インタフェースに適用する際に、どちらのコマンドを使うかで、フィルタするものが変わる。

ハイパーネット助手

access-groupコマンドで適用すると、パケットに対するフィルタリング。
これって普通に言うところのアクセスリストですよね。

スーパーインター博士

そうだ。一方、distribute-listコマンドで適用すると、アップデートに対するフィルタになる。
つまり、こう。

  • Router(config-router)#distribute-list access-list-number [ in | out ] [interface | routing-process]
ハイパーネット助手

inとoutってのは、インバウンドとアウトバウンドですか?

スーパーインター博士

うむ。さらに通常はインタフェース名をつけるが、場合によっては静的ルートや直接接続ネットワークのフィルタリングをしたい場合がある。その場合はインタフェース名ではなく、staticかconnectedを入れる。

ハイパーネット助手

in、outの後ろですね。

スーパーインター博士

そういうことだ。
例えば、前使った例でいこう。

ループの防止:ルートフィルタリング

[FigureRT32-06:ループの防止:ルートフィルタリング]

ハイパーネット助手

ルーティングループをルートフィルタリングで防ぐって奴でしたよね。

スーパーインター博士

うむ。まず、ルータCのRIP側インタフェースはパッシブにするわけにはいかない。OSPF側のネットワークのアップデートを送らなければならないからだ。

ハイパーネット助手

そうですね。
でも、それだとRIP側のネットワークの情報がルータAを通ってぐるっとまわってきちゃうんでしたよね。

スーパーインター博士

そうだな。なので、フィルタをかける。
こうだ。

ループの防止:ディストリビュートリスト実装

[FigureRT33-04:ループの防止:ディストリビュートリスト実装]

スーパーインター博士

アクセスリストなので、お約束の暗黙のdenyがあるのを忘れないように。

ハイパーネット助手

ということは、172.16.0.0、つまりOSPF側のネットワークのアップデートは流すけど、RIP側のアップデートは暗黙のdenyで拒否される…。

スーパーインター博士

そういうことだな。これでループが防止されるわけだ。

ハイパーネット助手

なるほど。

■ 管理距離の変更

スーパーインター博士

さて、もう1つ話そう。
まず、これを見てもらおう。

ループの防止:管理距離の変更

[FigureRT32-03:ループの防止:管理距離の変更]

ハイパーネット助手

ルーティングループを防止するため、管理距離を変更する。

スーパーインター博士

そうだ。この管理距離の変更コマンドを説明しよう。

  • Router(config-router)#distance weight [address mask] [access-list-number]
スーパーインター博士

これは再配布するルータで設定する。
addressとmaskはアップデートの送信元ルータだ。

ハイパーネット助手

access-list-numberは?

スーパーインター博士

これはアップデートの受信の際に使用するアクセスリストだな。
先ほどの例でやってみよう。

ループの防止:管理距離の変更の実装

[FigureRT33-05:ループの防止:管理距離の変更の実装]

スーパーインター博士

これを再配布元であるルータBで実装するわけだ。

ハイパーネット助手

RIPの管理距離は120だから、130になったOSPFのアップデートはルータCでは受け入れられないことになるわけですね。

スーパーインター博士

そうなるな。あとweightは10〜255の値しか設定できない。
さて、distanceコマンドは他に2つある。

  • Router(config-router)#distance eigrpinternal-distance external-distance
スーパーインター博士

これはEIGRP用だ。
EIGRPは内部用と、他ASからの再配布の2つのアップデートを持つからな。

ハイパーネット助手

でも管理距離って、基本的に他ASからの再配布に使うんじゃないんですか?

スーパーインター博士

IGRPとの再配布は同一ASでも行えるからな。
もう1つのdistanceコマンドは、BGP用だ。

  • Router(config-router)#distance bgpexternal-distance internal-distance local-distance
ハイパーネット助手

うわ、3つに増えてる。

スーパーインター博士

EBGPによって取得したルート、IBGPによって取得したルート、IBGPが再配布によって取得したルート、だ。

ハイパーネット助手

なるほど。

スーパーインター博士

さて、今回はこれぐらいにしておこう。

ハイパーネット助手

はい。

スーパーインター博士

まだまだ再配送に関するルーティングアップデートの話が続くぞ。
では、また次回に。

ハイパーネット助手

了解です。
30分間ネットワーキングでした〜♪

DDR
[Dial onDemand Routing]
必要なトラフィックがあった時のみ、回線を接続する方法。
CCNA、CCNPではISDNのDDRが重要。
ディストリビュートリスト
[Distribute List]
暗黙のdeny
リストの最後に、deny 0.0.0.0 255.255.255.255があること。
weightは10〜255
0〜9は予約済みなので使えません。
ハイパーネット助手ハイパーネット君の今日のポイント
  • ルーティングループの防止など、効率的なルーティングのためにアップデートを制御する必要がある。
  • 送信はしないが受信のみのインタフェースを設定できる。これをパッシブインタフェースという。
  • distribute-listを使って、アップデートをフィルタできる。
    • これにはアクセスリストを使う
  • 管理距離の変更は再配布するルータで行う。

30 Minutes NetWorking No.RT33

管理人:aji-ssz(at)selene.is.dream.jp