ルーティングの概要
ここでは、FTD デバイス内でルーティングがどのように動作するのかを説明します。ルーティングは、送信元から宛先にネットワーク経由で情報を移動する行為のことです。その間に、通常は少なくとも 1 つの中間ノードがあります。ルーティングには、最適なルーティング パスの決定と、ネットワーク経由のパケットの転送という 2 つの基本的なアクティビティが含まれます。
ルート タイプ
ルートには、スタティックまたはダイナミックの 2 つの主要な種類があります。
スタティックルートは、明示的に定義するものです。これらは通常は優先度の高い安定したルートで、ルートの宛先へのトラフィックを常に正しいインターフェイスに送信するために使用されます。たとえば、その他のルートでカバーされていないすべてのトラフィックをカバーする、デフォルトのスタティックルート(つまり IPv4 では 0.0.0.0/0、IPv6 では ::/0)を作成する場合などです。別の例では、常に使用する内部 syslog サーバへのスタティックルートがあります。
ダイナミックルートは、OSPF、BGP、EIGRP、IS-IS、または RIP などのルーティングプロトコルの動作を通じて学習されるものです。ルートを直接定義することはありません。その代わりにルーティングプロトコルを設定すると、システムはネイバールータと通信してルーティングアップデートを送信し、次にルーティングアップデートを受信します。
ダイナミック ルーティング プロトコルはルーティングテーブルを調整し、着信ルーティング アップデート メッセージを分析することで、ネットワーク状況の変化に対応します。ネットワークが変化したことをメッセージが示している場合は、システムはルートを再計算し、新しいルーティング アップデート メッセージを送信します。これらのメッセージはネットワーク全体に送信されるため、ルータはそのアルゴリズムを再度実行し、それに従ってルーティング テーブルを変更します。
スタティックルーティングは単純であり、基本的なルーティングの目的を果たします。ネットワークトラフィックが比較的予想しやすい環境や、ネットワーク設計が比較的単純な環境での使用に適しています。ただし、編集しない限りスタティックルートは変更できないため、ネットワークの変化に対応することはできません。
小規模ネットワークがある場合を除き、通常はスタティックルートを 1 つまたは複数のダイナミック ルーティング プロトコルと組み合わせます。明示ルートに一致しないトラフィックのデフォルトルートとして、少なくとも 1 つのスタティックルートを定義します。
(注) |
スマート CLI を使用して次のルーティングプロトコルを設定することができます:OSPF、BGP。FlexConfig を使用して、ASA ソフトウェアでサポートされるその他のルーティング プロトコルを設定します。 |
ルーティング テーブルとルート選択
NAT 変換(xlates)およびルールで出力インターフェイスを決定しない場合、システムはルーティングテーブルを使用してパケットのパスを決定します。
ルーティング テーブルのルートには、指定ルートに相対的な優先順位を定める「アドミニストレーティブ ディスタンス」というメトリックが含まれています。パケットが複数のルート エントリと一致する場合、最短距離のルート エントリが使用されます。直接接続されたネットワーク(インターフェイス上で定義されたネットワーク)の距離は 0 のため、これが常に優先されます。スタティック ルートのデフォルトの距離は 1 ですが、1 ~ 254 の距離で作成できます。
特定の宛先が指定されたルートは、デフォルト ルート(宛先が 0.0.0.0/0 または ::/0 のルート)よりも優先されます。
ルーティング テーブルへの入力方法
FTD のルーティング テーブルには、スタティックに定義されたルート、直接接続されているルート、およびダイナミック ルーティング プロトコルで検出されたルートを入力できます。FTD は、ルーティング テーブルに含まれるスタティック ルートと接続されているルートに加えて、複数のルーティング プロトコルを実行できるため、同じルートが複数の方法で検出または入力される可能性があります。同じ宛先への 2 つのルートがルーティング テーブルに追加されると、ルーティング テーブルに残るルートは次のように決定されます。
-
2 つのルートのネットワーク プレフィックス長(ネットワーク マスク)が異なる場合は、どちらのルートも固有と見なされ、ルーティング テーブルに入力されます。入力された後は、パケット転送ロジックが 2 つのうちどちらを使用するかを決定します。
たとえば、RIP プロセスと OSPF プロセスが次のルートを検出したとします。
-
RIP:192.168.32.0/24
-
OSPF:192.168.32.0/19
OSPF ルートのアドミニストレーティブ ディスタンスの方が適切であるにもかかわらず、これらのルートのプレフィックス長(サブネット マスク)はそれぞれ異なるため、両方のルートがルーティング テーブルにインストールされます。これらは異なる宛先と見なされ、パケット転送ロジックが使用するルートを決定します。
-
-
FTD が、1 つのルーティング プロトコル(RIP など)から同じ宛先に複数のパスがあることを検知すると、(ルーティング プロトコルが判定した)メトリックがよい方のルートがルーティング テーブルに入力されます。
メトリックは特定のルートに関連付けられた値で、ルートを最も優先されるものから順にランク付けします。メトリックの判定に使用されるパラメータは、ルーティング プロトコルによって異なります。メトリックが最も小さいパスは最適パスとして選択され、ルーティング テーブルにインストールされます。同じ宛先への複数のパスのメトリックが等しい場合は、これらの等コスト パスに対してロード バランシングが行われます。
-
FTD が、ある宛先へのルーティング プロトコルが複数あることを検知すると、ルートのアドミニストレーティブ ディスタンスが比較され、アドミニストレーティブ ディスタンスが最も小さいルートがルーティング テーブルに入力されます。
ルートのアドミニストレーティブ ディスタンス
ルーティング プロトコルによって検出されるルート、またはルーティング プロトコルに再配布されるルートのアドミニストレーティブ ディスタンスは変更できます。2 つの異なるルーティング プロトコルからの 2 つのルートのアドミニストレーティブ ディスタンスが同じ場合、デフォルトのアドミニストレーティブ ディスタンスが小さい方のルートがルーティング テーブルに入力されます。EIGRP ルートと OSPF ルートの場合、EIGRP ルートと OSPF ルートのアドミニストレーティブ ディスタンスが同じであれば、デフォルトで EIGRP ルートが選択されます。
アドミニストレーティブ ディスタンスは、2 つの異なるルーティング プロトコルから同じ宛先に複数の異なるルートがある場合に、Firepower Threat Defense デバイスが最適なパスの選択に使用するルート パラメータです。ルーティング プロトコルには、他のプロトコルとは異なるアルゴリズムに基づくメトリックがあるため、異なるルーティング プロトコルによって生成された、同じ宛先への 2 つのルートについて常にベスト パスを判定できるわけではありません。
各ルーティング プロトコルには、アドミニストレーティブ ディスタンス値を使用して優先順位が付けられています。次の表に、Firepower Threat Defense デバイス がサポートするルーティングプロトコルのデフォルトのアドミニストレーティブ ディスタンス値を示します。
ルートの送信元 |
デフォルト アドミニストレーティブ ディスタンス |
---|---|
接続中のインターフェイス |
0 |
スタティック ルート |
1 |
EIGRP 集約ルート |
5 |
外部 BGP |
20 |
内部 EIGRP |
90 |
OSPF |
110 |
IS-IS |
115 |
RIP |
120 |
EIGRP 外部ルート |
170 |
内部およびローカル BGP |
200 |
不明 |
255 |
アドミニストレーティブ ディスタンス値が小さいほど、プロトコルの優先順位が高くなります。たとえば、Firepower Threat Defense デバイスが OSPF ルーティング プロセス(デフォルトのアドミニストレーティブ ディスタンスが 110)と RIP ルーティング プロセス(デフォルトのアドミニストレーティブ ディスタンスが 120)の両方から特定のネットワークへのルートを受信すると、OSPF ルーティング プロセスの方が優先度が高いため、Firepower Threat Defense デバイスは OSPF ルートを選択します。この場合、ルータは OSPF バージョンのルートをルーティング テーブルに追加します。
この例では、OSPF 導出ルートの送信元が(電源遮断などで)失われると、Firepower Threat Defense デバイスは、OSPF 導出ルートが再度現れるまで、RIP 導出ルートを使用します。
アドミニストレーティブ ディスタンスはローカルの設定値です。たとえば、OSPF を通じて取得したルートのアドミニストレーティブ ディスタンスを変更する場合、その変更は、コマンドが入力された Firepower Threat Defense デバイス のルーティング テーブルにだけ影響します。アドミニストレーティブ ディスタンスがルーティング アップデートでアドバタイズされることはありません。
アドミニストレーティブ ディスタンスは、ルーティング プロセスに影響を与えません。ルーティング プロセスは、ルーティング プロセスで検出されたか、またはルーティング プロセスに再配布されたルートだけをアドバタイズします。たとえば、RIP ルーティング プロセスは、 のルーティング テーブルで OSPF ルーティング プロセスによって検出されたルートが使用されていても、RIP ルートをアドバタイズします。
ダイナミック ルートとフローティング スタティック ルートのバックアップ
ルートを最初にルーティング テーブルにインストールしようとしたとき、他のルートがインストールされているためにインストールできなかった場合、そのルートはバックアップ ルートとして登録されます。ルーティング テーブルにインストールされたルートに障害が発生すると、ルーティング テーブル メンテナンス プロセスが、登録されたバックアップ ルートを持つ各ルーティング プロトコル プロセスを呼び出し、ルーティング テーブルにルートを再インストールするように要求します。障害が発生したルートに対して、登録されたバックアップ ルートを持つプロトコルが複数ある場合、アドミニストレーティブ ディスタンスに基づいて優先ルートが選択されます。
このプロセスのため、ダイナミック ルーティング プロトコルによって検出されたルートに障害が発生したときにルーティング テーブルにインストールされるフローティング スタティック ルートを作成できます。フローティング スタティック ルートとは、単に、Firepower Threat Defense デバイス で動作しているダイナミック ルーティング プロトコルよりも大きなアドミニストレーティブ ディスタンスが設定されているスタティック ルートです。ダイナミック ルーティング プロセスで検出された対応するルートに障害が発生すると、このスタティック ルートがルーティング テーブルにインストールされます。
転送の決定方法
転送は次のように決定されます。
-
宛先が、ルーティング テーブル内のエントリと一致しない場合、パケットはデフォルト ルートに指定されているインターフェイスを通して転送されます。デフォルト ルートが設定されていない場合、パケットは破棄されます。
-
宛先が、ルーティング テーブル内の 1 つのエントリと一致した場合、パケットはそのルートに関連付けられているインターフェイスを通して転送されます。
-
宛先が、ルーティング テーブル内の複数のエントリと一致し、パケットはネットワーク プレフィックス長がより長いルートに関連付けられているインターフェイスから転送されます。
たとえば、192.168.32.1 宛てのパケットが、ルーティング テーブルの次のルートを使用してインターフェイスに到着したとします。
-
192.168.32.0/24 gateway 10.1.1.2
-
192.168.32.0/19 gateway 10.1.1.3
この場合、192.168.32.1 は 192.168.32.0/24 ネットワークに含まれるため、192.168.32.1 宛てのパケットは 10.1.1.2 宛てに送信されます。このアドレスはまた、ルーティング テーブルの他のルートにも含まれますが、ルーティング テーブル内では 192.168.32.0/24 の方が長いプレフィックスを持ちます(24 ビットと 19 ビット)。パケットを転送する場合、プレフィックスが長い方が常に短いものより優先されます。
(注) |
ルートの変更が原因で新しい同様の接続が異なる動作を引き起こしたとしても、既存の接続は設定済みのインターフェイスを使用し続けます。 |
管理トラフィック用ルーティングテーブル
標準的なセキュリティ実践として、データ トラフィックを管理トラフィックから分離しなければならない場合があります。この分離を実現するために、FTD は管理専用トラフィックとデータ トラフィックに個別のルーティング テーブルを使用します。個別のルーティング テーブルは、データと管理用に別のデフォルト ルートを作成できることを意味します。
デバイス間トラフィックでは、常にデータ ルーティング テーブルが使用されます。
デバイス間トラフィックでは、そのタイプに応じて、デフォルトで管理ルーティング テーブルまたはデータ ルーティング テーブルのいずれかが使用されます。デフォルトのルーティング テーブルで一致が見つからなかった場合は、他のルーティング テーブルがチェックされます。
デバイス間トラフィックの管理テーブルには、HTTP、SCP、TFTP、などを使用してリモート ファイルを開く機能が含まれています。
データ テーブルのデバイス間トラフィックには、ping、DNS、DHCP などの他のすべての機能が含まれています。
デフォルトのルーティング テーブルにないインターフェイスに移動するために、ボックス内のトラフィックを必要とするとき、場合によっては、他のテーブルへのフォールバックに頼るのではなく、インターフェイスを設定するときにそのインターフェイスを指定する必要があります。FTD は、正しいルーティング テーブルをチェックし、そのインターフェイスのルートがないか調べます。たとえば、管理専用インターフェイスに ping を送信する必要がある場合は、ping 機能でそのインターフェイスを指定します。そうではなく、データ ルーティング テーブルにデフォルト ルートがある場合は、デフォルト ルートに一致し、管理ルーティング テーブルにフォールバックすることは決してありません。
管理ルーティング テーブルは、データ インターフェイス ルーティング テーブルとは分離したダイナミック ルーティングをサポートします。ダイナミック ルーティング プロセスは管理専用インターフェイスまたはデータ インターフェイスで実行されなければなりません。両方のタイプを混在させることはできません。
管理専用インターフェイスには、すべての Management x/x(「diagnostic」と名付けられた)インターフェイス、および管理専用として設定したすべてのインターフェイスが含まれています。
(注) |
このルーティングテーブルは、FMC との通信に使用する特別な FTD 管理論理インターフェイスには影響を及ぼしません。このインターフェイスには独自のルーティングテーブルが備わっています。一方、診断論理インターフェイスは、この項で説明している管理専用ルーティングテーブルを使用します。 |
(注) |
このルーティングテーブルは、ライセンスサーバとの通信またはデータベースの更新に使用する特別な FTD 管理仮想インターフェイスには影響を及ぼしません。このインターフェイスには独自のルーティングテーブルが備わっています。一方、診断物理インターフェイスは、この項で説明している管理専用ルーティングテーブルを使用します。 |
等コスト マルチパス(ECMP)ルーティング
Firepower Threat Defense デバイスは、等コスト マルチパス(ECMP)ルーティングをサポートしています。
インターフェイスごとに最大 3 の等コストのスタティック ルートまたはダイナミック ルートを設定できます。たとえば、次のように異なるゲートウェイを指定する外部インターフェイスで複数のデフォルト ルートを設定できます。
route for 0.0.0.0 0.0.0.0 through outside to 10.1.1.2
route for 0.0.0.0 0.0.0.0 through outside to 10.1.1.3
route for 0.0.0.0 0.0.0.0 through outside to 10.1.1.4
この場合、トラフィックは、10.1.1.2、10.1.1.3 と 10.1.1.4 間の外部インターフェイスでロード バランスされます。トラフィックは、送信元 IP アドレスおよび宛先 IP アドレス、着信トラフィック、プロトコル、送信元ポートおよび宛先ポートをハッシュするアルゴリズムに基づいて、指定したゲートウェイ間に分配されます。
ECMP は複数のインターフェイス間ではサポートされないため、異なるインターフェイスで同じ宛先へのルートを定義することはできません。上記のルートのいずれかを設定すると、次のルートは拒否されます。
route for 0.0.0.0 0.0.0.0 through outside2 to 10.2.1.1