■ パッシブインタフェース
再配布の話も含めてだが。
つまる所、効率的なルーティングのためには、そのアップデートトラフィックをどう制御するかというのが重要なポイントだ。
アップデートを制御する?
うむ。アップデートを制御することによって、ルーティングループを防止したり、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を使って、アップデートをフィルタできる。
- これにはアクセスリストを使う
- 管理距離の変更は再配布するルータで行う。