例:フィルターベース転送の設定
フィルターベースフォワーディング(FBF)は、 PBR(ポリシーベースルーティング)とも呼ばれ、レイヤー3またはレイヤー4のパラメーターに基づいてIPトラフィックを異なるインターフェイスにルーティングするためのシンプルかつ強力な方法を提供します。
FBFは、ファイアウォールフィルターの一致条件を使用して特定のトラフィックを選択し、目的のネクストホップを指す特定のルーティングインスタンスに誘導することで機能します。ネクストホップを確実に解決できるように、メインルーティングテーブルからのインターフェイスルートは、RIBグループを介して、ルーティングインスタンスで指定されたルーティングテーブルと共有されます。
一致条件には、送信元または宛先IPアドレス、送信元または宛先ポート、IPプロトコル、DSCP値、TCPフラグ、ICMPタイプ、およびパケット長を含めることができます。
要件
この例には、次のハードウェア要件とソフトウェア要件があります。
MXシリーズ5Gユニバーサルルーティングプラットフォーム ファイアウォールフィルターが設定されたルーティングデバイスとして使用されます。
ファイアウォールフィルターが設定されたルーティングデバイスで実行されているJunos OSリリース13.3以降。
概要
この例では、単一のデバイスでフィルターベース転送を設定するために必要な構成設定を示しています。 図 1 、MX シリーズ ルーターのイングレスおよびエグレス インターフェイスを示し、パケットがデバイスを通過するときのイベントの論理フローを示しています。
webFilterと呼ばれるファイアウォールフィルターが、イングレスインターフェイスfe-0/0/0に接続されています。インターフェイスを介して到着したパケットは、フィルターで指定された一致条件に照らして評価され、そのロジックにより、HTTPおよびHTTPSトラフィックは webtrafficと呼ばれるルーティングインスタンスに送信されます。このルーティングインスタンスは、次の3つのことを実現します。第1に、 webtraffic.inet.0と呼ばれるルーティングテーブルを確立し、第2に、静的ルートとネクストホップを定義し、第3に、ネクストホップ(ここではインターフェイス fe-0/0/1の192.0.2.2)にトラフィックを転送するようにインスタンスを設定します。
ファイアウォールフィルターの条件2( then accept)は、すべての非一致トラフィックが異なるパスを取ることを指定します。ネクストホップが203.0.113.2のスタティックルートを定義し、このトラフィックが fe-0/0/2経由でデバイスから出力されるようにします。このルートは、マスター ルーティング テーブル inet.0 に自動的にインストールされます。
FBFを設定する最後の(論理的な)ステップは、両方のルートが解決可能であることを確認することです。RIBグループ(この例ではFBF-rib )は、 inet.0 からのインターフェイスルートを webtraffic.inet.0と共有できるようにしています。
特定のユース ケースまたはマルチデバイス トポロジに焦点を当てた例については、"関連項目" を参照してください。
設定
手順
CLIクイック構成
単一のデバイスでフィルターベースの転送を作成するための、コピーアンドペーストとステップバイステップの両方の手順が提供されています。
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]
階層レベルのCLIにコマンドをコピー&ペーストしてください。
フィルターベース転送用のデバイスの設定
set interfaces fe-0/0/0 unit 0 family inet address 198.51.100.1/24 set interfaces fe-0/0/0 unit 0 family inet filter input webFilter set interfaces fe-0/0/1 unit 0 family inet address 192.0.2.1/24 set interfaces fe-0/0/2 unit 0 family inet address 203.0.113.1/24 set firewall family inet filter webFilter term 1 from destination-port http set firewall family inet filter webFilter term 1 from destination-port https set firewall family inet filter webFilter term 1 then routing-instance webtraffic set firewall family inet filter webFilter term 2 then accept set routing-instances webtraffic routing-options static route 0.0.0.0/0 next-hop 192.0.2.2 set routing-instances webtraffic instance-type forwarding set routing-options static route 0.0.0.0/0 next-hop 203.0.113.2 set routing-options rib-groups FBF-rib import-rib inet.0 set routing-options rib-groups FBF-rib import-rib webtraffic.inet.0 set routing-options interface-routes rib-group inet FBF-rib
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
デバイスを設定するには:
インバウンドインターフェイスを設定し、それに webFilter ファイアウォールフィルターをアタッチします。
[edit interfaces fe-0/0/0 unit 0 family inet] user@device# set filter input webFilter user@device# set address 198.51.100.1/24
アウトバウンド インターフェイスを、1 つは Web トラフィック用、もう 1 つは他のすべてのトラフィック用に設定します。
[edit interfaces] user@device# set fe-0/0/1 unit 0 family inet address 192.0.2.1/24 user@device# set fe-0/0/2 unit 0 family inet address 203.0.113.1/24
ファイアウォールフィルターを構成して、Webトラフィックを webtraffic ルーティングインスタンスに渡し、その他のすべてのトラフィックを 203.0.113.1に渡します。
[edit firewall family inet filter webFilter] user@device# set term 1 from destination-port http user@device# set term 1 from destination-port https user@device# set term 1 then routing-instance webtraffic user@device# set term 2 then accept
随意:カウンターを追加して、ファイアウォール フィルターのトラフィック処理を監視します>
[edit interfaces fe-0/0/0 unit 0 family inet] user@device# set firewall family inet filter webFilter term 1 then count webtraffic-count
webtrafficルーティング インスタンスを作成し、Web トラフィックを fe-0/0/1 に転送するように構成します。
[edit routing-instances webtraffic] user@device# set routing-options static route 0.0.0.0/0 next-hop 192.0.2.2 user@device# set instance-type forwarding
非 Web トラフィックのルートを作成します(ルートは inet.0 ルーティング テーブルに自動的にインストールされます)。
[edit routing-options] user@device# set static route 0.0.0.0/0 next-hop 203.0.113.2
FBF-ribというRIBグループを作成し、webtraffic.inet.0とインターフェイスルートを共有するようにinet.0設定してから、ルーティングテーブルグループをルーティングデバイスのインターフェイスに関連付け、インターフェイスルートをインポートするルーティングテーブルグループを指定します。
[edit routing-options] user@device# set rib-groups FBF-rib import-rib inet.0 user@device# set rib-groups FBF-rib import-rib webtraffic.inet.0
ルーティングテーブルグループをルーティングデバイスのインターフェイスに関連付け、インターフェイスルートのインポート先となるルーティングテーブルグループを指定します。
[edit routing-options] user@device# set interface-routes rib-group inet FBF-rib
結果
設定モードから、 show firewall
、 show routing-instances
、 show routing-options
、および show interfaces
、コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
デバイスの設定が完了したら、設定モードから commit
を入力します。
user@device#show interfaces fe-0/0/0
unit 0 { family inet { filter { input webFilter; } address 198.51.100.1/24; } } user@device#show interfaces fe-0/0/1
unit 0 { family inet { address 192.0.2.1/24; } } user@device#show interfaces fe-0/0/2
unit 0 { family inet { address 203.0.113.1/24; } } user@device#show firewall
family inet { filter webFilter { term 1 { from { destination-port [ http https ]; } then { routing-instance webtraffic; } } term 2 { then accept; } } }
user@device# show routing-options
interface-routes {
rib-group inet FBF-rib;
}
static {
route 0.0.0.0/0 next-hop 203.0.113.2;
}
rib-groups {
FBF-rib {
import-rib [ inet.0 webtraffic.inet.0 ];
}
}
user@device# show routing-instances
webtraffic {
instance-type forwarding;
routing-options {
static {
route 0.0.0.0/0 next-hop 192.0.2.2;
}
}
}