Firepower Threat Defense の OSPF
この章では、Open Shortest Path First(OSPF)ルーティング プロトコルを使用してデータをルーティングし、認証を実行し、ルーティング情報を再配布するように FTD を設定する方法について説明します。
OSPF の概要
OSPF は、パスの選択に距離ベクトル型ではなくリンク ステートを使用する Interior Gateway Routing Protocol(IGRP)です。OSPF は、ルーティング テーブル アップデートではなく、リンクステート アドバタイズメントを伝搬します。ルーティング テーブル全体ではなく LSA だけが交換されるため、OSPF ネットワークは RIP ネットワークよりも迅速に収束します。
OSPF は、リンクステート アルゴリズムを使用して、すべての既知の宛先までの最短パスを構築および計算します。OSPF エリア内の各ルータには、ルータが使用可能なインターフェイスと到達可能なネイバーそれぞれのリストである同一のリンクステート データベースが置かれています。
RIP に比べると OSPF は次の点で有利です。
-
OSPF のリンクステート データベースのアップデート送信は RIP ほど頻繁ではありません。また、古くなった情報がタイムアウトしたときに、リンクステート データベースは徐々にアップデートされるのではなく、瞬時にアップデートされます。
-
ルーティング決定はコストに基づいて行われます。これは、特定のインターフェイスを介してパケットを送信するためにオーバーヘッドが必要であることを示しています。Firepower Threat Defense デバイスは、インターフェイスのコストをリンク帯域幅に基づいて計算し、宛先までのホップ数は使用しません。コストは優先パスを指定するために設定できます。
最短パス優先アルゴリズムの欠点は、CPU サイクルとメモリが大量に必要になることです。
Firepower Threat Defense デバイス は、OSPF プロトコルの 2 つのプロセスを異なるセットのインターフェイス上で同時に実行できます。同じ IP アドレスを使用する複数のインターフェイス(NAT ではこのようなインターフェイスは共存可能ですが、OSPF ではアドレスの重複は許しません)があるときに、2 つのプロセスを実行する場合があります。あるいは、一方のプロセスを内部で実行しながら別のプロセスを外部で実行し、ルートのサブセットをこの 2 つのプロセス間で再配布する場合もあります。同様に、プライベート アドレスをパブリック アドレスから分離する必要がある場合もあります。
OSPF ルーティング プロセスには、別の OSPF ルーティング プロセスや RIP ルーティング プロセスから、または OSPF 対応インターフェイスに設定されているスタティック ルートおよび接続されているルートから、ルートを再配布できます。
Firepower Threat Defense デバイスでは、次の OSPF の機能がサポートされています。
-
エリア内ルート、エリア間ルート、および外部ルート(タイプ I とタイプ II)。
-
仮想リンク。
-
LSA フラッディング。
-
OSPF パケットの認証(パスワード認証と MD5 認証の両方)
-
Firepower Threat Defense デバイス の指定ルータまたは指定バックアップ ルータとしての設定。Firepower Threat Defense デバイスは、ABR として設定することもできます。
-
スタブ エリアと not so stubby エリア。
-
エリア境界ルータのタイプ 3 LSA フィルタリング
OSPF は、MD5 とクリア テキスト ネイバー認証をサポートしています。OSPF と他のプロトコル(RIP など)の間のルート再配布は、攻撃者によるルーティング情報の悪用に使用される可能性があるため、できる限りすべてのルーティング プロトコルで認証を使用する必要があります。
NAT が使用されている場合、OSPF がパブリック エリアおよびプライベート エリアで動作している場合、またアドレス フィルタリングが必要な場合は、2 つの OSPF プロセス(1 つはパブリック エリア用、1 つはプライベート エリア用)を実行する必要があります。
複数のエリアにインターフェイスを持つルータは、エリア境界ルータ(ABR)と呼ばれます。ゲートウェイとして動作し、OSPF を使用しているルータと他のルーティング プロトコルを使用しているルータの間でトラフィックを再配布するルータは、自律システム境界ルータ(ASBR)と呼ばれます。
ABR は LSA を使用して、使用可能なルータに関する情報を他の OSPF ルータに送信します。ABR タイプ 3 LSA フィルタリングを使用して、ABR として機能する ASA で、プライベート エリアとパブリック エリアを分けることができます。タイプ 3 LSA(エリア間ルート)は、プライベート ネットワークをアドバタイズしなくても NAT と OSPF を一緒に使用できるように、1 つのエリアから他のエリアにフィルタリングできます。
(注) |
フィルタリングできるのはタイプ 3 LSA だけです。プライベート ネットワーク内の ASBR として設定されている Firepower Threat Defense デバイス は、プライベート ネットワークを記述するタイプ 5 LSA を送信しますが、これは AS 全体(パブリック エリアも含む)にフラッディングされます。 |
NAT が採用されているが、OSPF がパブリック エリアだけで実行されている場合は、パブリック ネットワークへのルートを、デフォルトまたはタイプ 5 AS 外部 LSA としてプライベート ネットワーク内で再配布できます。ただし、Firepower Threat Defense デバイスにより保護されているプライベート ネットワークにはスタティック ルートを設定する必要があります。また、同一のFirepower Threat Defense デバイス インターフェイス上で、パブリック ネットワークとプライベート ネットワークを混在させることはできません。
Firepower Threat Defense デバイスでは、2 つの OSPF ルーティング プロセス(1 つの RIP ルーティング プロセスと 1 つの EIGRP ルーティング プロセス)を同時に実行できます。
fast hello パケットに対する OSPF のサポート
fast hello パケットに対する OSPF のサポートには、1 秒未満のインターバルで hello パケットの送信を設定する方法が用意されています。このような設定により、Open Shortest Path First(OSPF)ネットワークでの統合がより迅速になります。
fast hello パケットに対する OSPF のサポートの前提条件
OSPF がネットワークですでに設定されているか、fast hello パケットに対する OSPF のサポートと同時に設定される必要があります。
OSPF Hello インターバルおよび dead 間隔
OSPF hello パケットとは、OSPF プロセスがネイバーとの接続を維持するために OSPF ネイバーに送信するパケットです。hello パケットは、設定可能なインターバル(秒単位)で送信されます。デフォルトのインターバルは、イーサネット リンクの場合 10 秒、ブロードキャスト以外のリンクの場合 30 秒です。hello パケットには、デッド インターバル中に受信したすべてのネイバーのリストが含まれます。デッド インターバルも設定可能なインターバル(秒単位)で送信されます。デフォルトは hello インターバルの値の 4 倍です。hello インターバルの値は、ネットワーク内ですべて同一にする必要があります。デッド インターバルの値も、ネットワーク内ですべて同一にする必要があります。
この 2 つのインターバルは、リンクが動作していることを示すことにより、接続を維持するために連携して機能します。ルータがデッド インターバル内にネイバーから hello パケットを受信しない場合、ルータはこのネイバーがダウンしていると判定します。
OSPF fast hello パケット
OSPF fast hello パケットとは、1 秒よりも短いインターバルで送信される hello パケットのことです。fast hello パケットを理解するには、OSPF hello パケット インターバルとデッド インターバルとの関係についてあらかじめ理解しておく必要があります。OSPF Hello インターバルおよび dead 間隔を参照してください。
OSPF fast hello パケットは、ospf dead-interval コマンドで設定されます。デッド インターバルは 1 秒に設定され、hello-multiplier の値は、その 1 秒間に送信する hello パケット数に設定されるため、1 秒未満の「fast」hello パケットになります。
インターフェイスで fast hello パケットが設定されている場合、このインターフェイスから送出される hello パケットでアドバタイズされる hello 間隔は 0 に設定されます。このインターフェイス経由で受信した hello パケットの hello 間隔は無視されます。
デッド インターバルは、1 つのセグメント上で一貫している必要があり、1 秒に設定するか(fast hello パケットの場合)、他の任意の値を設定します。デッド インターバル内に少なくとも 1 つの hello パケットが送信される限り、hello multiplier がセグメント全体で同じである必要はありません。
OSPF fast hello パケットの利点
OSPF fast hello パケット機能を利用すると、ネットワークがこの機能を使用しない場合よりも、短い時間で統合されます。この機能によって、失われたネイバーを 1 秒以内に検出できるようになります。この機能は、ネイバーの損失が Open System Interconnection(OSI)物理層またはデータ リンク層で検出されないことがあっても、特に LAN セグメントで有効です。
OSPFv2 および OSPFv3 間の実装の差異
OSPFv3 には、OSPFv2 との下位互換性はありません。OSPF を使用して、IPv4 および IPv6 トラフィックの両方をルーティングするには、OSPFv2 および OSPFv3 の両方を同時に実行する必要があります。これらは互いに共存しますが、相互に連携していません。
OSPFv3 では、次の追加機能が提供されます。
-
リンクごとのプロトコル処理。
-
アドレッシング セマンティックの削除。
-
フラッディング スコープの追加。
-
リンクごとの複数インスタンスのサポート。
-
ネイバー探索およびその他の機能に対する IPv6 リンクローカル アドレスの使用。
-
プレフィックスおよびプレフィックス長として表される LSA。
-
2 つの LSA タイプの追加。
-
未知の LSA タイプの処理。
-
RFC-4552 で指定されている OSPFv3 ルーティング プロトコル トラフィックの IPsec ESP 標準を使用する認証サポート。