UTM / NAT


基本設定
ダイナミックENAT(IPマスカレード)
スタティックENAT(ポートフォワーディング)
スタティックNAT
設定と状態の確認


NAT機能はIPアドレス・TCP/UDPポートを変換する機能の総称です。
本製品はルーティング用インターフェースにおいて、下記のNAT機能をサポートしています。
Note - NAT機能の対象はIPv4パケットだけです。IPv6には対応していません。
Note - 本製品のNAT機能は、IPsec、PPTP、L2TPのパススルーに対応しているため、配下の装置から外部に対して、これらのプロトコルを使用したVPN接続が可能です。


NAT機能の具体的な使用例については、「設定例集」をご覧ください。

基本設定

NAT機能の設定は、NATモード(natコマンド)で行います。
NATルールの設定はruleコマンドで、NAT機能の有効化はenableコマンドで行います。

Note - 以下のコマンド例では、外部ゾーン「public」と内部ゾーン「private」を定義するコマンドは、各ゾーンにおいて他の設定が必要な場合を除き省略しています。「エンティティー」定義の詳細については、「UTM」/「エンティティー定義」をご覧ください。

ダイナミックENAT(IPマスカレード)

ダイナミックENAT(IPマスカレード)は、パケットの始点IPアドレスとTCP/UDPポート番号を動的に変換することで、限られたグローバルアドレスを複数のホストで共用させる機能です。

■ ダイナミックENATルールを設定するには、ruleコマンドでmasqアクションを指定し、適用対象のアプリケーションと送信元・宛先エンティティー定義を指定します。

たとえば、ゾーン「private」から「public」へのすべてのトラフィックに対し、始点IPアドレスを本製品の出力インターフェースのIPアドレスに変換するダイナミックENATルールを設定するには次のようにします。

awplus(config)# nat
awplus(config-nat)# rule masq any from private to public
awplus(config-nat)# enable

この例において、
を表します。
Note - NATルールでは、アプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンドでNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。

■ ダイナミックENATルールで変換後のIPアドレスを明示的に指定したいときは、変換後のIPアドレスを表すホストエンティティーを定義し、ruleコマンドの「with src」パラメーターで該当ホスト定義名を指定します。

たとえば、ISPからグローバルIPアドレスを複数割り当てられており、WAN側インターフェースをUnnumberedで運用しているような場合、割り当てられたアドレスの中から特定の1つをダイナミックENATの変換後アドレスとして使いたい場合は、まず次のようにして変換後のアドレスを表すホストエンティティー(ここでは「public.wan.enat」と命名)を定義します。
ここでは、ISPから割り当てられたアドレスが10.0.0.0/29(10.0.0.0〜10.0.0.7)であり、この中から変換後アドレスとして10.0.0.1を使うものとします。

awplus(config)# zone public
awplus(config-zone)# network wan
awplus(config-network)# ip subnet 0.0.0.0/0 interface ppp0
awplus(config-network)# host enat
awplus(config-host)# ip address 10.0.0.1
awplus(config-host)# exit
awplus(config-network)# exit
awplus(config-zone)# exit


その後、ruleコマンドでNATルールを作成するときに「with src」で該当ホスト定義名を指定します。

awplus(config)# nat
awplus(config-nat)# rule masq any from private to public with src public.wan.enat
awplus(config-nat)# enable

この例において、
を表します。
Note - NATルールでは、アプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンドでNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。
Note - 「with src」で指定するホスト定義にはIPv4アドレス(ip address)を1つだけ関連付けるようにしてください。「with src」は変換後のIPアドレスです。

「アプリケーション」と「エンティティー」の詳細は、「UTM」/「アプリケーション定義」「UTM」/「エンティティー定義」をご覧ください。

なお、ファイアウォール機能を併用している場合は、ダイナミックENATの対象トラフィックがファイアウォールで破棄されないよう、ファイアウォールモードのruleで、次のようなファイアウォールルールを設定する必要があります。

awplus(config)# firewall
awplus(config-firewall)# rule permit any from private to public


スタティックENAT(ポートフォワーディング)

スタティックENAT(ポートフォワーディング)は、本製品宛てに送信されたパケットの終点IPアドレスを変換することで、該当パケットをあらかじめ指定したホストに転送する機能です。TCP/UDPパケットの場合は、転送時にTCP/UDPポート番号を変換することもできます。この機能を利用すると、たとえばグローバルアドレスが1つしかない環境でも、複数のサーバー(サービス)を外部に公開することができます。

Note - スタティックENATルールにおいて転送後(変換後)のTCP/UDPポートを指定しない場合、ポート番号は変更しません。また、ICMPなどTCP/UDP以外のパケットに対しても、終点IPアドレスの書き換え(指定ホストへの転送)を行います。

■ スタティックENATルールを設定するには、ruleコマンドでportfwdアクションを指定し、適用対象のアプリケーションと送信元・転送先エンティティー定義を指定します。

たとえば、ゾーン「public」から本製品に宛てられたHTTP通信のパケットを、ゾーン「dmz」内のネットワーク「servernet」上にあるホスト「web」に転送するポートフォワーディングルールを設定するには次のようにします。

awplus(config)# nat
awplus(config-nat)# rule portfwd http from public with dst dmz.servernet.web
awplus(config-nat)# enable

この例において、
を表します。
Note - NATルールでは、アプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンドでNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。
Note - 「with dst」で指定するホスト定義にはIPv4アドレス(ip address)を1つだけ関連付けるようにしてください。「with dst」は転送先(変換後)のIPアドレスです。

■ スタティックENATルールで転送先のTCP/UDPポート番号を明示的に指定したい(TCP/UDPポート番号も変更したい)ときは、ruleコマンドでNATルールを作成するときに、転送先エンティティーの後に「dport」パラメーターで転送先(変換後)のポート番号を指定します。

たとえば、ゾーン「public」から本製品に宛てられたHTTP通信のパケットを、ゾーン「dmz」内のネットワーク「servernet」上にあるホスト「web」のポート8080番に転送するポートフォワーディングルールを設定するには次のようにします。

awplus(config)# nat
awplus(config-nat)# rule portfwd http from public with dst dmz.servernet.web dport 8080
awplus(config-nat)# enable

この例において、
を表します。
Note - NATルールでは、アプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンドでNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。
Note - 「with dst」で指定するホスト定義にはIPv4アドレス(ip address)を1つだけ関連付けるようにしてください。「with dst」は転送先(変換後)のIPアドレスです。

「アプリケーション」と「エンティティー」の詳細は、「UTM」/「アプリケーション定義」「UTM」/「エンティティー定義」をご覧ください。

なお、ファイアウォール機能を併用している場合は、ダイナミックENATの対象トラフィックがファイアウォールで破棄されないよう、ファイアウォールモードのruleで、次のようなファイアウォールルールを設定する必要があります。

awplus(config)# firewall
awplus(config-firewall)# rule permit http from public to dmz.servernet.web


スタティックNAT

スタティックNATは、パケットのIPアドレスを1対1で固定的に変換する機能です。
おもに、複数のグローバルIPアドレスを使用できる環境において、サーバーにはプライベートIPアドレスを設定しておき、外部からは各サーバー専用のグローバルIPアドレスでアクセスさせるようなケースで利用します。

スタティックNATルールは、外部から通信を始める場合(終点アドレスを変換する場合)と、内部から通信を始める場合(始点アドレスを変換する場合)で設定が異なります。

■ 「外 → 内」方向のスタティックNATルールを設定するには、ruleコマンドでportfwdアクションを指定し、適用対象のアプリケーションと送信元・宛先(変換前のグローバルIPアドレス)・転送先(変換後のプライベートIPアドレス)をそれぞれエンティティー定義で指定します。

たとえば、ゾーン「public」からグローバルIPアドレス「public.ip8.addr2」に宛てられたすべてのIPパケットを、ゾーン「private」内のネットワーク「lan」上にあるホスト「server2」に転送する「外 → 内」方向のスタティックNATルールを設定するには、まず次のようにして、外部から見た宛先(変換前のグローバルIPアドレス)を表すホストエンティティー(ここでは「global.ip8.addr2」と命名)と、転送先(変換後のプライベートIPアドレス)を表すホストエンティティー(ここでは「private.lan.server2」と命名)を定義します。
ここでは、ISPから割り当てられたグローバルIPアドレスが10.0.0.0/29(10.0.0.0〜10.0.0.7)であり、この中からスタティックNAT専用のアドレスとして10.0.0.2を使うものとします。

awplus(config)# zone global
awplus(config-zone)# network ip8
awplus(config-network)# ip subnet 10.0.0.0/29
awplus(config-network)# host addr2
awplus(config-host)# ip address 10.0.0.2
awplus(config-host)# exit
awplus(config-network)# exit
awplus(config-zone)# exit

awplus(config)# zone private
awplus(config-zone)# network lan
awplus(config-network)# ip subnet 192.168.10.0/24
awplus(config-network)# host server2
awplus(config-host)# ip address 192.168.10.2
awplus(config-host)# exit
awplus(config-network)# exit
awplus(config-zone)# exit


その後、ruleコマンドでNATルールを作成するときに各エンティティー定義名を指定します。

awplus(config)# nat
awplus(config-nat)# rule portfwd any from public to global.ip8.addr2 with dst private.lan.server2
awplus(config-nat)# enable

この例において、
を表します。
Note - NATルールでは、アプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンドでNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。
Note - 「to」、「with dst」で指定するホスト定義にはIPv4アドレス(ip address)を1つだけ関連付けるようにしてください。「to」は外部に見える変換前のグローバルIPアドレス、「with dst」は内部でしか見えない変換後のプライベートIPアドレスです。

なお、ファイアウォール機能を併用している場合は、スタティックNATの対象トラフィックがファイアウォールで破棄されないよう、ファイアウォールモードのruleで、次のようなファイアウォールルールを設定する必要があります。

awplus(config)# firewall
awplus(config-firewall)# rule permit any from public to private.lan.server2


■ 「内 → 外」方向のスタティックNATルールを設定するには、ruleコマンドでmasqアクションを指定し、適用対象のアプリケーションと送信元(変換前のプライベートIPアドレス)・宛先・変換後のグローバルアドレスをそれぞれエンティティー定義で指定します。

たとえば、ゾーン「private」内のネットワーク「lan」上にあるホスト「server2」からゾーン「public」へのすべてのトラフィックに対し、始点IPアドレスを「public.ip8.addr」が表すグローバルIPアドレスに変換するには、まず次のようにして、変換後のグローバルIPアドレスを表すホストエンティティー(ここでは「global.ip8.addr2」と命名)と、送信元(変換前のプライベートIPアドレス)を表すホストエンティティー(ここでは「private.lan.server2」と命名)を定義します。
ここでは、ISPから割り当てられたグローバルIPアドレスが10.0.0.0/29(10.0.0.0〜10.0.0.7)であり、この中からスタティックNAT専用のアドレスとして10.0.0.2を使うものとします。

awplus(config)# zone global
awplus(config-zone)# network ip8
awplus(config-network)# ip subnet 10.0.0.0/29
awplus(config-network)# host addr2
awplus(config-host)# ip address 10.0.0.2
awplus(config-host)# exit
awplus(config-network)# exit
awplus(config-zone)# exit

awplus(config)# zone private
awplus(config-zone)# network lan
awplus(config-network)# ip subnet 192.168.10.0/24
awplus(config-network)# host server2
awplus(config-host)# ip address 192.168.10.2
awplus(config-host)# exit
awplus(config-network)# exit
awplus(config-zone)# exit


その後、ruleコマンドでNATルールを作成するときに各エンティティー定義名を指定します。

awplus(config)# nat
awplus(config-nat)# rule masq any from private.lan.server2 to public with src global.ip8.addr2
awplus(config-nat)# enable

この例において、
を表します。
Note - NATルールでは、アプリケーションコントロール(DPI)によって判別されたアプリケーションは指定できません。ruleコマンドでNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションか、applicationコマンドで定義するカスタムアプリケーション、あるいは、すべてを意味する「any」キーワードを指定してください。
Note - 「from」、「with src」で指定するホスト定義にはIPv4アドレス(ip address)を1つだけ関連付けるようにしてください。「from」は内部でしか見えない変換前のプライベートIPアドレス、「with src」は外部から見える変換後のグローバルIPアドレスです。

なお、ファイアウォール機能を併用している場合は、スタティックNATの対象トラフィックがファイアウォールで破棄されないよう、ファイアウォールモードのruleで、次のようなファイアウォールルールを設定する必要があります。

awplus(config)# firewall
awplus(config-firewall)# rule permit any from private.lan.server2 to public

ただし、内部から外部への通信に対しては通常次のようなルールを設定するため、このようなルールが存在しており、なおかつ、前記のルールを包含しているのであれば、前記のルールは不要です。

awplus(config-firewall)# rule permit any from private to public


「アプリケーション」と「エンティティー」の詳細は、「UTM」/「アプリケーション定義」「UTM」/「エンティティー定義」をご覧ください。

設定と状態の確認

■ NAT機能の有効・無効はshow natコマンドで確認できます。

awplus# show nat
NAT is enabled


■ NATルールの情報はshow nat ruleコマンドで確認できます。

awplus# show nat rule

[* = Rule is not valid - see "show nat rule config-check"]
  ID     Action  App        From          To            With          Hits
--------------------------------------------------------------------------------
  10     masq    any        private       public        -             0
  20     portfw  http       public        -             private.lan.webhost
                                                                      0


■ NATルールが有効かどうかをチェックするには、show nat rule config-checkコマンドを使います。

NATルールの作成時にはエンティティーとアプリケーションの両定義を使用しますが、これらの定義が不完全な場合(指定したアプリケーションやエンティティーが未定義である、アプリケーション定義でIPプロトコルが未指定、など)、該当ルールは有効にならず無視されてしまいます。

このような事態を避けるには、ルール作成後にshow nat rule config-checkコマンドを実行してルールが有効かどうかをチェックしてください。

awplus# show nat rule config-check
Rule 30:
  "dst" entity must exist, and have exactly one IPv4 address

同コマンドでは、無効なルールがある場合、それが理由とともに示されます。

この例では、次の理由によりルール「30」が無効であることが示されています。

また、次の例では、すべてのルールが有効であることが示されています。

awplus# show nat rule config-check
All rules are valid


(C) 2015 アライドテレシスホールディングス株式会社

PN: 613-002107 Rev.F