パッシブインタフェース(passive-interface)とは

パッシブインタフェース(passive-interface)とは、ルーティングプロトコルのパケットを送信しないようにしているインタフェースです。

OSPFやRIP/EIGRPなどのルーティングプロトコルは、ルータのインタフェース単位で有効化します。そして、ルーティングプロトコルを有効にしたインタフェースから、該当のルーティングプロトコルのパケットを送信します。ルーティングプロトコルを有効にしたインタフェースをパッシブインタフェースとして設定することで、ルーティングプロトコルのパケットの送信を止めます。

パッシブインタフェースとして設定するインタフェース

パッシブインタフェースとして設定するインタフェースは、PCやサーバなどだけが接続されていて、同じルーティングプロトコルを利用する他のルータが存在しないインタフェースです。

ルーティングプロトコルのパケットは、同じルーティングプロトコルを利用しているルータ間で送受信できればOKです。PCやサーバだけしか接続されていないインタフェースにルーティングプロトコルのパケットを送信しても意味がありません。余計にネットワークの帯域を消費するだけです。また、ルーティングプロトコルのパケットが悪意を持つユーザにキャプチャされてしまうと、不正アクセスの足がかりになってしまう可能性があり、セキュリティ上も望ましくありません。そこで、パッシブインタフェースとしてルーティングプロトコルのパケットの送信を止めます。

図 パッシブインタフェースにするインタフェース
図 パッシブインタフェースにするインタフェース

なお、OSPFやEIGRPではHelloパケットの送信も行いません。パッシブインタフェースにすると、そのインタフェース上でネイバーを確立することもできなくなります。

よくある設定ミス

ルーティングプロトコルを設定するときに、よくある設定ミスがあります。それは、PCやサーバなどだけが接続されているインタフェースでルーティングプロトコルの有効化を忘れてしまうことです。

インタフェースでルーティングプロトコルを有効にしなければ、そのインタフェースからはルーティングプロトコルのパケットを送信することはありません。そのため、「わざわざパッシブインタフェースにしなくても、ルーティングプロトコルを有効にしなければいいんじゃないの?」と考えてしまうのがこの設定ミスの原因です。

インタフェースでルーティングプロトコルを有効化しないと、そのインタフェースのネットワークについてのルート情報をルーティングプロトコルでアドバタイズしません。たとえば、以下の図で、R1はPCが接続されている192.168.1.0/24のルートをルーティングプロトコルでアドバタイズしなくなってしまいます。R2はサーバが接続されている192.168.2.0/24のルートをルーティングプロトコルでアドバタイズしません。そのため、R1とR2のルーティングテーブルには必要なルート情報が登録されず、PCとサーバ間の通信はできません。

図 よくある設定ミス
図 よくある設定ミス

PCやサーバだけが接続されているインタフェースでもきちんとルーティングプロトコルを有効化しましょう。そして、その上で、パッシブインタフェースの設定を行います。

パッシブインタフェースの設定と確認コマンド

パッシブインタフェースの設定コマンド

パッシブインタフェースの設定は、RIP/OSPF/EIGRPのルーティングプロトコルのコンフィグレーションモードで以下のコマンドを利用します。

パッシブインタフェースの設定(config-router)#passive-interface <interface-name>

<interface-name> : パッシブインタフェースにするインタフェース名

複数のインタフェースをパッシブインタフェースにするときには、passive-interfaceコマンドを複数行設定します。パッシブインタフェースにするインタフェースがたくさんある場合は、まずpassive-interface defaultコマンドですべてのインタフェースをパッシブインタフェースにします。そして、ルーティングプロトコルのパケットを送信する必要があるインタフェースのパッシブインタフェースを解除します。

パッシブインタフェースにするインタフェースがたくさんあるとき(config-router)#passive-interface default
(config-router)#no passive-interface <interface-name>

<interface-name> : パッシブインタフェースを解除するインタフェース名

パッシブインタフェースの確認コマンド

パッシブインタフェースの設定が正しく行われているかを確認するためには、show ip protocolsコマンドがわかりやすいです。show ip protocolsコマンドの表示の真ん中あたりにパッシブインタフェースの設定が反映されます。

OSPF-test#show ip protocols
Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 1.1.1.1
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    192.168.0.0 0.0.255.255 area 0
 Reference bandwidth unit is 100 mbps
  Passive Interface(s):
    FastEthernet0/0
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 110)

まとめ

ポイント

  • パッシブインタフェース(passive-interface)とは、ルーティングプロトコルが有効なインタフェースからルーティングプロトコルのパケットを送信しないようにする機能です。
  • PCやサーバだけが接続されていて、同じルーティングプロトコルを利用する他のルータがいないインタフェースをパッシブインタフェースとして設定します。
  • パッシブインタフェースの設定は、ルーティングプロトコルのコンフィグレーションモードで次のコマンドを利用します。
    (config-router)#passive-interface <interface-name>

IPルーティングのキホン