[index] AT-AR4000S-Cloud リファレンスマニュアル 5.5.5

# rule

モード: NATモード
カテゴリー: UTM / NAT

`(config-nat)# rule [<1-65535>] masq {APPNAME|any} from SRC_ENTITY to DST_ENTITY [with src ADDR_ENTITY]`

`(config-nat)# rule [<1-65535>] netmap {APPNAME|any} from SRC_ENTITY to DST_ENTITY with {dst|src} NET_ENTITY`

`(config-nat)# rule [<1-65535>] portfwd {APPNAME|any} from SRC_ENTITY [to DST_ENTITY] with dst ADDR_ENTITY [dport <1-65535>]`

`(config-nat)# no rule {<1-65535>|all}`

NATルールを追加する。
no形式で実行した場合は指定したルールを削除する。
ルールの指定にはエンティティーとアプリケーションの両定義を使用するが、これらの定義が不完全な場合（指定したアプリケーションやエンティティーが未定義である、アプリケーション定義でIPプロトコルが未指定、など）、該当ルールは有効にならないので注意。ルールが有効化どうかは、show nat rule config-checkコマンドでチェックできる。
なお、ルールの順番はmove ruleコマンドで変更可能。

### パラメーター

`<1-65535>` | ルール番号。省略時はリストの最後尾に新規ルールが追加される。このときのルール番号決定方法については「注意・補足事項」を参照
`masq` | NATアクションとしてダイナミックENAT（IPマスカレード）または「内 → 外」方向のスタティックNATを指定する。「SRC_ENTITY」が単一アドレスを表しており、なおかつ「with src ADDR_ENTITY」で本ルール専用の（他で使われていない）変換後アドレスが指定されている場合は、「SRC_ENTITY」から「DST_ENTITY」に宛てられた「APPNAME」トラフィックの始点IPアドレスだけを「ADDR_ENTITY」に変換するスタティックNATの動作となる。それ以外の場合は、「SRC_ENTITY」から「DST_ENTITY」に宛てられた「APPNAME」トラフィックの始点IPアドレスとポート番号を動的に変換するダイナミックENATの動作となる（ポート番号の変換は必要なときだけ行われる）。変換後のIPアドレスは、「with src ADDR_ENTITY」が指定されている場合はADDR_ENTITYに関連付けられたホストアドレス、そうでないときは、該当パケットの出力インターフェースのIPアドレスとなる
`netmap` | NATアクションとしてサブネットベースNATを指定する。サブネットベースNATでは、「SRC_ENTITY」から「DST_ENTITY」に宛てられた「APPNAME」トラフィックにおいて、「with dst NET_ENTITY」が指定されている場合は終点アドレスのサブネット部だけを「NET_ENTITY」で指定されたものに、「with src NET_ENTITY」が指定されている場合は始点アドレスのサブネット部だけを「NET_ENTITY」で指定されたものに変換する。サブネットベースNATでは、アドレスのホスト部は変換されない
`portfwd` | NATアクションとしてスタティックENAT（ポートフォワーディング）または「外 → 内」方向のスタティックNATを指定する。「DST_ENTITY」で本ルール専用の変換前アドレス（グローバル側アドレス）が指定されており、ポート変換の指定（dport）がない場合は、「SRC_ENTITY」から「DST_ENTITY」に宛てられた「APPNAME」トラフィックの終点IPアドレスだけを「ADDR_ENTITY」に変換するスタティックNATの動作となる。それ以外の場合は「SRC_ENTITY」から本製品に宛てられた「APPNAME」トラフィックの終点IPアドレスを「ADDR_ENTITY」のIPアドレスに変換して転送するスタティックENATの動作となる。このとき、ポート変換の指定（dport）があればTCP/UDPポート番号も変換する。スタティックENATは本製品宛てのIPv4パケットに対してのみ作用する
`APPNAME` | 制御対象のアプリケーション名。指定可能なアプリケーションはshow application detailで確認可能（ただし、DPIアプリケーションは指定できない）。詳細は解説編を参照
`any` | すべてのトラフィックをNAT対象にする
`from SRC_ENTITY` | NAT対象トラフィックの送信元エンティティー名（show entityで一覧表示可能）
`to DST_ENTITY` | NAT対象トラフィックの宛先エンティティー名（show entityで一覧表示可能）
`with src ADDR_ENTITY` | ダイナミックENATおよび「内 → 外」方向のスタティックNATにおいて変換後のIPアドレスを表すエンティティー名（show entityで一覧表示可能）。「ゾーン.ネットワーク.ホスト」形式のホスト定義名で指定する。該当ホスト定義にはIPv4アドレス（ip address）を1つだけ関連付けること。アクションがmasqのときだけ有効。なお、本パラメーター省略時は、該当パケットの出力インターフェースのIPアドレスが変換後の始点アドレスとなる
`with {dst|src} NET_ENTITY` | サブネットベースNATルールにおける変換後のサブネットアドレスを表すエンティティー名（show entityで一覧表示可能）。「ゾーン.ネットワーク」形式のネットワーク定義名で指定する。該当ネットワーク定義にはIPv4サブネット（ip subnet）を1つだけ関連付けること。「with dst」の場合は終点アドレスのサブネット部、「with src」の場合は始点アドレスのサブネット部が NET_ENTITY で指定したサブネットアドレスに変換される。アクションがnetmapのときだけ有効
`with dst ADDR_ENTITY` | スタティックENATおよび「外 → 内」方向のスタティックNATにおける転送先ホスト（変換後アドレス）のエンティティー名（show entityで一覧表示可能）。「ゾーン.ネットワーク.ホスト」形式のホスト定義名で指定する。該当ホスト定義にはIPv4アドレス（ip address）を1つだけ関連付けること。アクションがportfwdのときだけ有効
`dport <1-65535>` | スタティックENATにおいて、終点TCP/UDPポートを書き換えたい場合に変換後のポート番号を指定する。未指定時は終点TCP/UDPポートの書き換えは行わない
`all` | no形式ですべてのNATルールを削除するときに指定する

### 使用例

■ ゾーン「private」から「public」へのトラフィックにダイナミックENATを適用するNATルールを追加する。

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

■ ネットワーク「private.netA1」から「private.netB2」へのトラフィックについて、始点アドレスのサブネット部だけを「private.netA1」のアドレスから「private.netB1」のアドレスに変換するサブネットベースNATルールを追加する。

    awplus(config-nat)# rule netmap any from private.netA1 to private.netB2 with src private.netB1 ↓

■ ゾーン「public」から本製品に宛てられたHTTPトラフィックをゾーン「private」内ネットワーク「wired」上のホスト「webhost」に転送するポートフォワーディングルールを追加する。

    awplus(config-nat)# rule portfwd http from public with dst private.wired.webhost ↓

■ ホスト「private.lan.srcA」から「private.lan.dstA」へのトラフィックについて、終点アドレスを「public.wan.dstA」に、始点アドレスを「public.wan.srcA」に変換するダブルNATを設定する。

    awplus(config-nat)# rule portfwd any from private.lan.srcA to private.lan.dstA with dst public.wan.dstA ↓
    awplus(config-nat)# rule masq any from private.lan.srcA to public.wan.dstA with src public.wan.srcA ↓

■ NATルール「20」を削除する。ルール番号はshow nat ruleコマンドで確認すること。

    awplus(config-nat)# no nat rule 20 ↓

### 注意・補足事項

■ ルールの処理順序については解説編を参照。
■ 本コマンドでルール番号を指定しなかったときはリストの最後尾に新規ルールが追加される。このときのルール番号は次のようにして決まる。

- (1) 原則：既存の最後尾ルールより大きい直近の10の倍数になる
  - ルールが存在しない状態でルール番号を省略して作成したルールの番号は10（有効範囲内にある最小の10の倍数）
  - 最後尾のルール番号が10～18の状態でルール番号を省略して作成したルールの番号は20
- (2) 例外：既存の最後尾ルール番号の一の位が9のときは、「+11」した値（直近ではなくその次の10の倍数）になる
  - 最後尾のルール番号が19の状態でルール番号を省略して作成したルールの番号は20ではなく30（=19+11）
    ※この動作は、既存の最後尾ルールと新規に追加したルールの間に、後から別のルールを挿入する余地を残すため。
- その他：前述の仕様 (1) (2) により、最後尾のルール番号が65529以上の時は、ルール番号を省略して新規ルールを追加することはできない（65529 + 11 = 65540となりルール番号の最大値 65535 を超えてしまうため）。その場合はルール番号を明示的に指定して追加すること。

■ ポートフォワーディングでは、dportパラメーターを指定したときだけTCP/UDPのポート番号の変換を行う。dportパラメーター未指定時は変換せず、またICMPなどTCP/UDP以外のパケットに対しても終点IPアドレスの書き換え（指定ホストへの転送）を行う。
■ NAT機能の対象はIPv4アドレスのみ。IPv6アドレスには対応していない。
■ NATルールでは、アプリケーションコントロール（DPI）によって判別されたアプリケーションは指定できない。APPNAMEパラメーターでNAT対象トラフィックを指定するときは、あらかじめ定義されている事前定義済みアプリケーションかapplicationコマンドで定義したカスタムアプリケーションを指定すること。あるいは、すべてのトラフィックを意味する「any」キーワードを指定すること。
■ 既存のルールを変更したときに、変更前のルールに該当するセッション情報がすでに登録されている場合は、clear firewall connectionsコマンドで古いセッション情報を削除すること。
■ NATルールの適用タイミングは、NATアクションによって次のように異なる。

- portfwd, netmap with dst - ファイアウォールルールの前に適用
- masq, netmap with src - ファイアウォールルールの後に適用

設定によっては、同一のトラフィックに対して2つのNATアクションが適用される場合があるため、不要なNATルールが適用されないよう、エンティティー定義を考慮すること。
■ サブネットベースNAT（netmapアクション）は以下の機能と併用できない。

- Webコントロール
- Webリダイレクト

### コマンドツリー

    nat (グローバルコンフィグモード)
        |
        +- rule（NATモード）

### 関連コマンド

application（グローバルコンフィグモード）
learning（DPIモード）
move rule（NATモード）
show application（特権EXECモード）
show application detail（特権EXECモード）
show entity（特権EXECモード）
show nat rule（特権EXECモード）
show nat rule config-check（特権EXECモード）
zone（グローバルコンフィグモード）

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

PN: 613-003066 Rev.Q