VRF ルーティング インスタンスの NAT
NAT の概要
ネットワーク アドレス変換 (NAT) は、パケット ヘッダー内のネットワーク アドレス情報を変更または変換する方法です。NAT は、IPv4 アドレス枯渇の問題を解決するために RFC 1631 で記述されました。NATは、ファイアウォール、トラフィックリダイレクト、負荷分散、およびネットワーク移行に便利なツールです。
SD-WANの導入では、SRXシリーズファイアウォールがハブアンドスポークの場所に導入されます。スポークSRXシリーズファイアウォールには、さまざまなサイトが接続されています。パケットは、これらのサイトからパブリックインターネットサーバーまたはリモートサイトに送信されます。ハブでは、セキュリティ処理が完了した後、宛先がパブリック インターネット サーバーか MPLS ネクストホップ デバイスかを判別するためにパケットが検査されます。宛先がパブリック インターネット サーバの場合、NAT は仮想ルーティングおよび転送(VRF)プライベート IP アドレスをパブリック IP アドレスに変換し、セッションを確立します。同様に、パブリック インターネット サーバーからのトラフィックが VRF プライベート ネットワークに到達するには、NAT が必要です。
ジュニパーネットワークスのデバイスでは、以下のタイプのNATがサポートされています。
静的 NAT
宛先 NAT
ソースNAT
例:VRF インスタンスのプライベート IP アドレスを別の VRF インスタンスのプライベート IP アドレスに変換する送信元 NAT の設定
この例では、2 つの MPLS ネットワーク間で送信元 NAT を設定する方法を説明します。
要件
始める前に
-
SRXシリーズファイアウォールがNAT向けのSD-WAN導入でどのように機能するかを理解する。 「NAT の概要」を参照してください。
-
仮想ルーティングと転送インスタンスについて理解する。 SD-WAN導入における仮想ルーティングおよび転送インスタンスを参照してください。
前提条件の例
-
ソフトウェア要件:Junos OSリリース15.1X49-D160でのみサポートされています。
-
ハードウェア要件: SRXシリーズファイアウォールデバイス。
概要
送信元NATは、ジュニパーネットワークスのデバイスから送信されるパケットの送信元IPアドレスの変換です。ソースNATは、プライベートIPアドレスを持つホストがパブリックネットワークにアクセスできるようにするために使用されます。
この例では、SRXシリーズファイアウォールが2つのMPLSプライベートネットワークに接続し、プライベートIPアドレスを1つのVRFのプライベートIPアドレスから別のVRFのプライベートIPアドレスに変換します。 図1では、スポークSRXシリーズファイアウォールは、ハブSRXシリーズファイアウォールに接続されたVRF-aおよびVRF-bルーティングインスタンスで構成されています。サイトCとサイトDは、別のスポークSRXシリーズファイアウォールに接続されています。ハブSRXシリーズファイアウォールでは、VRF-aおよびVRF-bルーティングインスタンスからの送信元IPアドレス192.168.1.200および192.168.1.201は、203.0.113.200および203.0.113.201に変換されます。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します commit
。
set routing-instances VRF-a instance-type vrf set routing-instances VRF-a route-distinguisher 30:200 set routing-instances VRF-a vrf-target target:100:100 set routing-instances VRF-a vrf-table-label set routing-instances VRF-b instance-type vrf set routing-instances VRF-b route-distinguisher 40:200 set routing-instances VRF-b vrf-target target:200:100 set routing-instances VRF-b vrf-table-label set routing-instances VRF-a1 instance-type vrf set routing-instances VRF-a1 route-distinguisher 60:200 set routing-instances VRF-a1 vrf-target target:300:100 set routing-instances VRF-a1 vrf-table-label set routing-instances VRF-b1 instance-type vrf set routing-instances VRF-b1 route-distinguisher 50:200 set routing-instances VRF-b1 vrf-target target:400:100 set routing-instances VRF-b1 vrf-table-label set security nat source pool vrf-a_p address 203.0.113.200 set security nat source rule-set vrf-a_rs from routing-instance VRF-a set security nat source rule-set vrf-a_rs to routing-instance VRF-a1 set security nat source rule-set vrf-a_rs rule rule1 match source-address 192.168.1.200 set security nat source rule-set vrf-a_rs rule rule1 then source-nat pool vrf-a_p set security nat source pool vrf-b_p address 203.0.113.201 set security nat source rule-set vrf-b_rs from routing-instance VRF-b set security nat source rule-set vrf-b_rs to routing-instance VRF-b1 set security nat source rule-set vrf-b_rs rule rule2 match source-address 192.168.1.201 set security nat source rule-set vrf-b_rs rule rule2 then source-nat pool vrf-b_p
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。
ソースNATマッピングを設定するには:
レイヤー3 VPN には、ネットワーク内でルートを分散するための VRF テーブルが必要です。VRF インスタンスを作成し、値 vrfを指定します。
[edit routing-instances] user@host#set VRF-a instance-type vrf user@host#set VRF-b instance-type vrf user@host#set VRF-a1 instance-type vrf user@host#set VRF-b1 instance-type vrf
ルーティングインスタンスにルート識別子を割り当てます。
[edit routing-instances] user@host#set VRF-a route-distinguisher 30:200 user@host#set VRF-b route-distinguisher 40:200 user@host#set VRF-a1 route-distinguisher 60:200 user@host#set VRF-b1 route-distinguisher 50:200
すべてのルートをインポートまたはエクスポートするコミュニティポリシーを作成します。
[edit routing-instances] user@host#set VRF-a vrf-target target:100:100 user@host#set VRF-b vrf-target target:200:100 user@host#set VRF-a1 vrf-target target:300:100 user@host#set VRF-b1 vrf-target target:400:100
VRF 内のすべてのルートに 1 つの VPN ラベルを割り当てます。
[edit routing-instances] user@host#set VRF-a vrf-table-label user@host#set VRF-a1 vrf-table-label user@host#set VRF-b vrf-table-label user@host#set VRF-b1 vrf-table-label
送信元 NAT プールを作成します。
[edit security nat source] user@host#set vrf-a_p address 203.0.113.200 user@host#set vrf-b_p address 203.0.113.201
ソース NAT ルール セットを作成します。
[edit security nat source] user@host#set rule-set vrf-a_rs from routing-instance VRF-a user@host#set rule-set vrf-a_rs to routing-instance VRF-a1 user@host#set rule-set vrf-b_rs from routing-instance VRF-b user@host#set rule-set vrf-b_rs to routing-instance VRF-b1
パケットを照合し、送信元 IP アドレスを送信元 NAT プール内の IP アドレスに変換するルールを設定します。
[edit security nat source] user@host# set rule-set vrf-a_rs rule rule1 match source-address 192.168.1.200 user@host# set rule-set vrf-a_rs rule rule1 then source-nat pool vrf-a_p user@host# set rule-set vrf-b_rs rule rule2 match source-address 192.168.1.201 user@host# set rule-set vrf-b_rs rule rule2 then source-nat pool vrf-b_p
結果
設定モードから、 および show routing-instances
コマンドを入力してshow security nat
設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security nat source { pool vrf-a_p { address { 203.0.113.200/32; } } pool vrf-b_p { address { 203.0.113.201/32; } } rule-set vrf-a_rs { from routing-instance VRF-a; to routing-instance VRF-a1; rule rule1 { match { source-address 192.168.1.200/32; } then { source-nat { pool { vrf-a_p; } } } } } rule-set vrf-b_rs { from routing-instance VRF-b; to routing-instance VRF-b1; rule rule2 { match { source-address 192.168.1.201/32; } then { source-nat { pool { vrf-b_p; } } } } } }
[edit] user@host# show routing-instances VRF-a { instance-type vrf; route-distinguisher 30:200; vrf-target target:100:100; vrf-table-label; } VRF-a1 { instance-type vrf; route-distinguisher 60:200; vrf-target target:300:100; vrf-table-label; } VRF-b { instance-type vrf; route-distinguisher 40:200; vrf-target target:200:100; vrf-table-label; } VRF-b1 { instance-type vrf; route-distinguisher 50:200; vrf-target target:400:100; vrf-table-label; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
送信元NATルール使用の確認
目的
送信元NATルールに一致するトラフィックがあることを確認します。
アクション
動作モードから コマンド show security nat source rule all
を入力します。[変換ヒット] フィールドで、送信元 NAT ルールに一致するトラフィックがあるかどうかを確認します。
user@host>show security nat source rule all Total rules: 2 Total referenced IPv4/IPv6 ip-prefixes: 2/0 source NAT rule: rule1 Rule-set: vrf-a_rs Rule-Id : 1 Rule position : 1 From routing instance : VRF-a To routing instance : VRF-a1 Match Source addresses : 192.168.1.200 - 192.168.1.200 Action : vrf-a_p Persistent NAT type : N/A Persistent NAT mapping type : address-port-mapping Inactivity timeout : 0 Max session number : 0 Translation hits : 0 Successful sessions : 0 Failed sessions : 0 Number of sessions : 0 source NAT rule: rule2 Rule-set: vrf-b_rs Rule-Id : 2 Rule position : 2 From routing instance : VRF-b To routing instance : VRF-b1 Match Source addresses : 192.168.1.201 - 192.168.1.201 Action : vrf-b_p Persistent NAT type : N/A Persistent NAT mapping type : address-port-mapping Inactivity timeout : 0 Max session number : 0 Translation hits : 0 Successful sessions : 0 Failed sessions : 0 Number of sessions : 0
例:パブリック IP アドレスを VRF インスタンスの VRF の単一プライベート IP アドレスに変換する宛先 NAT の設定
この例では、パケットを正しい VRF インスタンスに送信するために、パブリック IP アドレスから単一の VRF のプライベート アドレスへの宛先 NAT マッピングを設定する方法について説明します。
要件
SRXシリーズファイアウォールがNAT向けのSD-WAN導入でどのように機能するかを理解する。 「NAT の概要」を参照してください。
仮想ルーティングと転送インスタンスについて理解する。 SD-WAN導入における仮想ルーティングおよび転送インスタンスを参照してください。
概要
宛先NATは、ジュニパーネットワークスのデバイスに入るパケットの宛先IPアドレスの変換です。宛先NATは、仮想ホスト(元の宛先IPアドレスで識別)宛てのトラフィックを実際のホスト(変換された宛先IPアドレスで識別)にリダイレクトするために使用されます。
この例では、パブリック IP アドレスを VRF インスタンスの VRF プライベート IP アドレスに変換するために、宛先 NAT を使用して SRX シリーズファイアウォールが設定されています。パブリック IP アドレスは、VRF インスタンスごとに設定できます。 図2では、SRXシリーズファイアウォールがVRF-aとVRF-bの2つのVRFインスタンスで構成されています。SRXシリーズファイアウォールは、パブリックIPアドレスをVRFインスタンスのプライベートIPアドレスに変換します。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します commit
。
set routing-instances VRF-a instance-type vrf set routing-instances VRF-a route-distinguisher 30:200 set routing-instances VRF-a vrf-target target:100:100 set routing-instances VRF-a vrf-table-label set routing-instances VRF-b instance-type vrf set routing-instances VRF-b route-distinguisher 40:200 set routing-instances VRF-b vrf-target target:200:100 set routing-instances VRF-b vrf-table-label set security nat destination pool vrf-a_p routing-instance VRF-a set security nat destination pool vrf-a_p address 192.168.1.200 set security nat destination rule-set rs from interface ge-0/0/0 set security nat destination rule-set rs rule vrf-a_r match destination-address 203.0.113.200 set security nat destination rule-set rs rule vrf-a_r then destination-nat pool vrf-a_p set security nat destination pool vrf-b_p routing-instance VRF-b set security nat destination pool vrf-b_p address 192.168.1.201 set security nat destination rule-set rs from interface ge-0/0/1 set security nat destination rule-set rs rule vrf-b_r match destination-address 203.0.113.201 set security nat destination rule-set rs rule vrf-b_r then destination-nat pool vrf-b_p
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。
単一の VRF の宛先 NAT マッピングを設定するには、次の手順を実行します。
レイヤー3 VPN には、ネットワーク内でルートを分散するための VRF テーブルが必要です。VRF インスタンスを作成し、値 vrfを指定します。
[edit routing-instances] user@host#set VRF-a instance-type vrf user@host#set VRF-b instance-type vrf
ルーティングインスタンスにルート識別子を割り当てます。
[edit routing-instances] user@host#set VRF-a route-distinguisher 30:200 user@host#set VRF-b route-distinguisher 40:200
すべてのルートをインポートまたはエクスポートするコミュニティポリシーを作成します。
[edit routing-instances] user@host#set VRF-a vrf-target target:100:100 user@host#set VRF-b vrf-target target:200:100
VRF 内のすべてのルートに 1 つの VPN ラベルを割り当てます。
[edit routing-instances] user@host#set VRF-a vrf-table-label user@host#set VRF-b vrf-table-label
宛先 NAT IP アドレス プールを指定します。
[edit security nat destination] user@host# set pool vrf-a_p address 192.168.1.200 user@host# set pool vrf-b_p address 192.168.1.201
ルーティングインスタンスを宛先プールに割り当てます。
[edit security nat destination] user@host# set pool vrf-a_p routing-instance VRF-a user@host# set pool vrf-b_p routing-instance VRF-b
宛先 NAT ルール セットを作成します。
[edit security nat destination] user@host# set rule-set rs from interface ge-0/0/0 user@host# set rule-set rs from interface ge-0/0/1
パケットを照合し、宛先 IP アドレスを宛先 NAT IP アドレス プール内の IP アドレスに変換するルールを設定します。
[edit security nat destination] user@host# set rule-set rs rule vrf-a_r match destination-address 203.0.113.200 user@host# set rule-set rs rule vrf-a_r then destination-nat pool vrf-a_p user@host# set rule-set rs rule vrf-b_r match destination-address 203.0.113.201 user@host# set rule-set rs rule vrf-b_r then destination-nat pool vrf-b_p
結果
設定モードから、 および show routing-instances
コマンドを入力してshow security nat
設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security nat destination { pool vrf-a_p { routing-instance { VRF-a; } address 192.168.1.200/32; } pool vrf-b_p { routing-instance { VRF-b; } address 192.168.1.201/32; } rule-set rs { from interface [ ge-0/0/0.0 ge-0/0/1.0 ]; rule vrf-a_r { match { destination-address 203.0.113.200/32; } then { destination-nat { pool { vrf-a_p; } } } } rule vrf-b_r { match { destination-address 203.0.113.201/32; } then { destination-nat { pool { vrf-b_p; } } } } } }
[edit] user@host# show routing-instances VRF-a { instance-type vrf; route-distinguisher 30:200; vrf-target target:100:100; vrf-table-label; } VRF-b { instance-type vrf; route-distinguisher 40:200; vrf-target target:200:100; vrf-table-label; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
宛先NATルール使用の確認
目的
宛先NATルールに一致するトラフィックがあることを確認します。
アクション
動作モードから コマンド show security nat destination rule all
を入力します。[変換ヒット] フィールドで、宛先 NAT ルールに一致するトラフィックがあるかどうかを確認します。
user@host> show security nat destination rule all Total destination-nat rules: 2 Total referenced IPv4/IPv6 ip-prefixes: 2/0 Destination NAT rule: vrf-a_r Rule-set: rs Rule-Id : 1 Rule position : 1 From interface : ge-0/0/0.0 : ge-0/0/1.0 Destination addresses : 203.0.113.200 - 203.0.113.200 Action : vrf-a_p Translation hits : 0 Successful sessions : 0 Failed sessions : 0 Number of sessions : 0 Destination NAT rule: vrf-b_r Rule-set: rs Rule-Id : 2 Rule position : 2 From interface : ge-0/0/0.0 : ge-0/0/1.0 Destination addresses : 203.0.113.201 - 203.0.113.201 Action : vrf-b_p Translation hits : 0 Successful sessions : 0 Failed sessions : 0 Number of sessions : 0
例:VRF インスタンスのプライベート IP アドレスをパブリック IP アドレスに変換するスタティック NAT の設定
この例では、VRF シングルプライベート IP アドレスからパブリック IP アドレスへのスタティック NAT マッピングを設定する方法について説明します。
要件
SRXシリーズファイアウォールがNAT向けのSD-WAN導入でどのように機能するかを理解する。 「NAT の概要」を参照してください。
概要
この例では、SRXシリーズファイアウォールが静的NATで設定され、VRFインスタンスのVRFプライベートIPアドレスをVRFインスタンスのパブリックIPアドレスに変換します。静的NATは、送信元NATと宛先NATに適用できます。 図3では、SRXシリーズファイアウォールがVRF-aとVFR-bの2つのVRFインスタンスで構成されています。SRXシリーズファイアウォールは、VRFインスタンスのプライベートIPアドレスをパブリックIPアドレスに変換します。
構成
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルでCLI [edit]
にコピーアンドペーストして、設定モードから を入力します commit
。
set routing-instances VRF-a instance-type vrf set routing-instances VRF-a route-distinguisher 30:200 set routing-instances VRF-a vrf-target target:100:100 set routing-instances VRF-a vrf-table-label set routing-instances VRF-b instance-type vrf set routing-instances VRF-b route-distinguisher 40:200 set routing-instances VRF-b vrf-target target:200:100 set routing-instances VRF-b vrf-table-label set security nat static rule-set rs from interface ge-0/0/0 set security nat static rule-set rs rule vrf-a_r match static-address 203.0.113.200 set security nat static rule-set rs rule vrf-a_r then static-nat prefix 192.168.1.200 set security nat static rule-set rs rule vrf-a_r then static-nat prefix routing-instance VRF-a set security nat static rule-set rs from interface ge-0/0/1 set security nat static rule-set rs rule vrf-b_r match static-address 203.0.113.201 set security nat static rule-set rs rule vrf-b_r then static-nat prefix 192.168.1.201 set security nat static rule-set rs rule vrf-b_r then static-nat prefix routing-instance VRF-b
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。
単一 VRF の IP アドレスのスタティック NAT マッピングを設定するには、次の手順を実行します。
レイヤー3 VPN には、ネットワーク内でルートを分散するための VRF テーブルが必要です。VRF インスタンスを作成し、値 vrfを指定します。
[edit routing-instances] user@host#set VRF-a instance-type vrf user@host#set VRF-b instance-type vrf
ルーティングインスタンスにルート識別子を割り当てます。
[edit routing-instances] user@host#set VRF-a route-distinguisher 30:200 user@host#set VRF-b route-distinguisher 40:200
すべてのルートをインポートまたはエクスポートするコミュニティポリシーを作成します。
[edit routing-instances] user@host#set VRF-a vrf-target target:100:100 user@host#set VRF-b vrf-target target:200:100
VRF 内のすべてのルートに 1 つの VPN ラベルを割り当てます。
[edit routing-instances] user@host#set VRF-a vrf-table-label user@host#set VRF-b vrf-table-label
静的 NAT ルール セットを作成します。
[edit security nat static] user@host# set rule-set rs from interface ge-0/0/0 user@host# set rule-set rs from interface ge-0/0/1
パケットを照合し、パケット内の宛先アドレスをプライベートIPアドレスに変換するルールを設定します。
[edit security nat static] user@host# set rule-set rs rule vrf-a_r match static-address 203.0.113.200 user@host# set rule-set rs rule vrf-a_r then static-nat prefix 192.168.1.200 user@host# set rule-set rs rule vrf-a_r then static-nat prefix routing-instance VRF-a user@host# set rule-set rs rule vrf-b_r match static-address 203.0.113.201 user@host# set rule-set rs rule vrf-b_r then static-nat prefix 192.168.1.201 user@host# set rule-set rs rule vrf-b_r then static-nat prefix routing-instance VRF-b
結果
設定モードから、 および show routing-instances
コマンドを入力してshow security nat
設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show security nat static { rule-set rs { from interface [ ge-0/0/0.0 ge-0/0/1.0 ]; rule vrf-a_r { match { destination-address 203.0.113.200/32; } then { static-nat { prefix { 192.168.1.200/32; routing-instance VRF-a; } } } } rule vrf-b_r { match { destination-address 203.0.113.201/32; } then { static-nat { prefix { 192.168.1.201/32; routing-instance VRF-b; } } } } } }
[edit] user@host# show routing-instances VRF-a { instance-type vrf; route-distinguisher 30:200; vrf-target target:100:100; vrf-table-label; } VRF-b { instance-type vrf; route-distinguisher 40:200; vrf-target target:200:100; vrf-table-label; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
静的NATルール使用の確認
目的
静的NATルールに一致するトラフィックがあることを確認します。
アクション
動作モードから コマンド show security nat static rule
を入力します。[変換ヒット] フィールドで、静的 NAT ルールに一致するトラフィックがあるかどうかを確認します。
user@host> show security nat static rule all Total static-nat rules: 2 Total referenced IPv4/IPv6 ip-prefixes: 4/0 Static NAT rule: vrf-a_r Rule-set: rs Rule-Id : 1 Rule position : 1 From interface : ge-0/0/0.0 : ge-0/0/1.0 Destination addresses : 203.0.113.200 Host addresses : 192.168.1.200 Netmask : 32 Host routing-instance : VRF-a Translation hits : 0 Successful sessions : 0 Failed sessions : 0 Number of sessions : 0 Static NAT rule: vrf-b_r Rule-set: rs Rule-Id : 2 Rule position : 2 From interface : ge-0/0/0.0 : ge-0/0/1.0 Destination addresses : 203.0.113.201 Host addresses : 192.168.1.201 Netmask : 32 Host routing-instance : VRF-b Translation hits : 0 Successful sessions : 0 Failed sessions : 0 Number of sessions : 0