はじめに
YAMAHA ルーター(RTX シリーズ)の NAT 設定は、FortiGate や Cisco とは体系がまったく異なります。中心となるのは NAT ディスクリプター という独自の概念で、変換ポリシーを番号付きの「定義」としてまとめ、それをインターフェイスに「適用」するという 2 段階の構造を持ちます。この構造を理解しないまま設定例をコピーすると、「定義したのに変換されない」「どのインターフェイスで変換されているのか分からない」という初歩的なつまずきにつながります。
本記事では、NAT ディスクリプターの仕組みと用語の整理から始め、IP マスカレード(インターネット接続の基本)、静的 IP マスカレード(ポート開放)・静的 NAT(サーバー公開)の設定手順、show nat descriptor 系コマンドでの確認方法までを解説します。コマンドはすべて RTpro の公式ドキュメントに基づきます。
なお、NAT・NAPT そのものの動作原理については、関連記事『NAT とは|変換テーブルの仕組みと NAPT・IP マスカレードの違い』を参照してください。
- NAT ディスクリプターの「定義」と「適用」の 2 段階構成
- 変換方式(nat / masquerade / nat-masquerade)の違いと選定基準
nat descriptor address outer/address innerの役割と範囲設計の落とし穴- 静的 IP マスカレード(ポート開放)と静的 NAT の設定手順、変換の優先順位
- NAT 動作タイプ(1 / 2 / 3)によるセッション数上限の違いと確認コマンド
先に結論を示すと、実務で構成する RTX の NAT の大半は、変換方式 masquerade のディスクリプターを WAN 側インターフェイスに適用し、サーバー公開が必要な場合に nat descriptor masquerade static(静的 IP マスカレード)を追加する という形に収まります。グローバル IP アドレスを複数保有し 1 対 1 の変換が必要な場合にのみ、nat または nat-masquerade 方式と静的 NAT を検討します。
NAT ディスクリプターの仕組みと用語整理
設定コマンドに入る前に、NAT ディスクリプターの構造を押さえます。ここが YAMAHA の NAT 設定の理解のすべての土台になります。
「定義」と「適用」の 2 段階構成
NAT ディスクリプターとは、NAT 機能における一連の変換ポリシー(変換方式・外側アドレス・内側アドレス・静的マッピングなど)を番号付きでまとめたものです。
参考: YAMAHA RTpro – NAT ディスクリプター
「NAT機能における一連の変換ポリシーをまとめたものを『NATディスクリプター』と呼んでおり、NATディスクリプターの設定を行うことでNAT機能を使用することができます」
https://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/index.html
重要なのは、NAT ディスクリプターは 「定義」しただけでは動作しない という点です。nat descriptor で始まる一連のコマンドはあくまでポリシーの定義であり、ip INTERFACE nat descriptor コマンドでインターフェイスに適用して初めて変換が行われます。
# 【定義】NAT ディスクリプター番号 1 番を IP マスカレード方式で定義
nat descriptor type 1 masquerade
# 【適用】LAN2 インターフェイスにディスクリプター 1 番を適用
ip lan2 nat descriptor 1
# PPPoE 接続(pp インターフェイス)に適用する場合はこちら
pp select 1
ip pp nat descriptor 1
この 2 段階構造には実務上の利点があります。定義と適用が分離されているため、先にディスクリプターの定義を作り込み、内容を確認してからインターフェイスに適用する、という安全な作業手順を取れます。定義が誤ったまま適用されると意図しない変換や通信断につながるため、公式ドキュメントでもこの手順が推奨されています。
なお、1 つのインターフェイスには複数の NAT ディスクリプターを適用でき(ip pp nat descriptor 1 2 のように列挙し、記述順に評価されます)、逆に 1 つのディスクリプターを複数のインターフェイスで使い回すこともできます。ただし構成の見通しの観点からは、WAN 回線ごとにディスクリプターを分ける 設計がシンプルで管理しやすくなります。
変換方式(nat / masquerade / nat-masquerade)の違いと選び方
ディスクリプターの定義で最初に決めるのが、nat descriptor type コマンドで指定する変換方式です。
nat descriptor type 1 masquerade指定できる主な方式は 3 つです。
| 方式 | 変換の動作 | 必要なグローバル IP 数 | 主な用途 |
|---|---|---|---|
nat | 内側アドレスと外側アドレスを 1 対 1 で動的に対応付け(動的 NAT) | 同時通信ホスト数分 | 1 対 1 変換が要件の対外接続 |
masquerade | 複数ホストが外側アドレスを共有し、ポート番号で識別(IP マスカレード=NAPT) | 1 個から可能 | インターネット接続全般(最頻出) |
nat-masquerade | まず動的 NAT で変換し、外側アドレスが枯渇したら IP マスカレードで救済 | 複数(設計による) | 1 対 1 を優先しつつ収容超過に備える構成 |
nat-masquerade の挙動は公式コマンド仕様に明記されており、例えば外側アドレスが 16 個利用可能な場合、先勝ちで 15 個が 1 対 1 の NAT 変換となり、残りの通信は IP マスカレードで変換されます。
参考: YAMAHA RTpro – NAT ディスクリプター コマンド仕様
https://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/command.html
選び方はシンプルで、グローバル IP アドレスが 1 個(PPPoE の動的払い出しを含む)なら masquerade 一択 です。他機種の用語と対応させると、masquerade は Cisco の PAT(overload)、FortiGate の Overload タイプ IP Pool に相当します。複数のグローバル IP を保有し、送信元を固定したい対外接続がある場合に nat や nat-masquerade が選択肢に入ります。
なお、nat descriptor type には hairpin=on オプションがあり、内部 LAN からグローバル IP 宛にアクセスする折り返し通信(ヘアピン NAT)に対応できます(対応機種・ファームウェアに条件があります)。「外部からは繋がるのに社内からだけ公開サーバーに繋がらない」という事象の原因と対処は、関連記事『ヘアピン NAT とは|内部からグローバル IP でアクセスできない原因と対処』で詳しく解説しています。
機器をまたいだ NAT 設計の考え方の違いは、関連記事『FortiGate NAT 設定の手順|VIP と IP Pool の使い分けと確認コマンド』もあわせて参照してください。
IP マスカレードの設定手順(インターネット接続の基本)
RTX の NAT で最も使用頻度が高いのが、LAN 内の複数ホストが 1 つのグローバル IP アドレスを共有してインターネットに接続する IP マスカレード(NAPT)です。定義するのは「変換方式(type)」「外側アドレス(address outer)」「内側アドレス(address inner)」の 3 要素と、インターフェイスへの適用です。
基本設定(type・address outer・address inner)
固定グローバル IP(LAN2 接続)の場合
# インターフェイスのアドレス設定
ip lan1 address 192.168.1.1/24
ip lan2 address 203.0.113.1/24
# 【定義】IP マスカレード方式のディスクリプターを定義
nat descriptor type 1 masquerade
nat descriptor address outer 1 primary # 外側アドレス = LAN2 のプライマリアドレス
nat descriptor address inner 1 192.168.1.1-192.168.1.254
# 【適用】WAN 側インターフェイスに適用
ip lan2 nat descriptor 1PPPoE(動的グローバル IP)の場合
pp select 1
ip pp nat descriptor 1 # PP インターフェイスに適用
pp enable 1
nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp # 外側アドレス = IPCP で取得したアドレス
nat descriptor address inner 1 192.168.1.1-192.168.1.254nat descriptor address outer は「変換後の外側アドレス」を指定するコマンドで、IP アドレスの直接指定のほかに、ニーモニック(primary=インターフェイスのプライマリアドレス、ipcp=IPCP で取得したアドレスなど)が使えます。ニーモニックは適用先インターフェイスによって使えるものが異なり、primary は LAN インターフェイス用、ipcp は PP インターフェイス用 です。初期値は ipcp のため、PPPoE 構成では address outer の行を省略しても動作しますが、設定の意図を明示する観点からは記述しておくことが推奨されます。
nat descriptor address inner は「変換対象となる内側アドレスの範囲」を指定します。外側と内側の 2 つのコマンドを対で設定することで、変換前後のアドレス空間の対応付けが定義されます。
参考: YAMAHA RTpro – コマンドリファレンス(NAT 機能)
「原則的に、これら 2 つのコマンドを対で設定することにより、変換前のアドレスと変換後のアドレスとの対応づけが定義されます」
https://www.rtpro.yamaha.co.jp/RT/manual/rt-common/nat/nat_chapter.html
なお、変換方式が masquerade の場合、address outer に複数のアドレスを指定しても 使用されるのは先頭の 1 個のみ です(公式コマンド仕様に明記されています)。複数のグローバル IP を変換に使いたい場合は、nat または nat-masquerade 方式、もしくは複数ディスクリプターの構成を検討します。
address inner の範囲設計と落とし穴
address inner の初期値は auto(すべての内側アドレスが対象)ですが、範囲を明示的に指定した場合の挙動には重要な仕様があります。指定した範囲外のアドレスを送信元とするパケットは、NAT ディスクリプターの処理対象にならず、変換されないままインターフェイスを通過します。
参考: YAMAHA RTpro – NAT ディスクリプター機能 概要
「その端末のアドレスが、設定した内側アドレスの範囲外であれば、NATディスクリプターは動作しません。つまり、パケットは何も変換されないままで通過します」
https://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/nat-abstruct.html
エラーになる・破棄されるのではなく「素通し」である点がポイントです。この仕様は、次のような原因特定の難しいトラブルにつながります。
- ネットワークにセグメントを追加した際(例:
192.168.2.0/24を新設)、address innerの更新を忘れる。 - 新セグメントの端末からの通信は、プライベート IP アドレスのまま WAN へ送出される。
- パケットは ISP 網で破棄され、「新しいセグメントだけインターネットに出られない」という事象になる。ルーター上の経路もフィルタも正常なため、NAT を疑わないと原因にたどり着きにくい。

設計指針としては以下の使い分けが実務的です。
- 単一セグメントの小規模構成
-
初期値の
autoのままで問題ありません。素通しのリスク自体が発生しません。 - 複数セグメント構成・今後の増設が見込まれる構成
-
autoを維持するか、明示する場合は「セグメント追加時にaddress innerを更新する」ことを構築手順書・変更手順書に組み込みます。 - ゲストセグメントなど、意図的に変換対象から外したい範囲がある構成
-
範囲の明示が有効です。その場合、範囲外セグメントからの WAN 向け通信はフィルタで明示的に遮断し、「素通し」が起きない設計にしておくと安全です。
静的変換の設定手順(サーバー公開)
外部からの着信を内部サーバーへ届けるには、動的な IP マスカレードに加えて静的な変換の定義が必要です。RTX には「静的 IP マスカレード(ポート単位)」と「静的 NAT(アドレス単位の 1 対 1)」の 2 つの静的変換があり、グローバル IP アドレスが 1 個ならポート単位、公開サーバー専用のグローバル IP を割り当てられるなら 1 対 1 という使い分けが基本です。
静的 IP マスカレード(ポート単位の公開)
IP マスカレード動作時に、特定のポート宛の着信を特定の内側アドレスに固定する設定です。いわゆる「ポート開放」「ポートフォワーディング」に相当します。nat descriptor masquerade static コマンドで、エントリ番号を変えながら必要なポート分を定義します。
nat descriptor type 1 masquerade
nat descriptor address outer 1 primary
ip lan2 nat descriptor 1
# エントリ 1: 外側 203.0.113.1:443 宛の着信を 192.168.1.80:443 へ
nat descriptor masquerade static 1 1 192.168.1.80 tcp 443
# エントリ 2: 外側ポート 8080 宛の着信を、内側ポート 80 へ変換して転送
nat descriptor masquerade static 1 2 192.168.1.81 tcp 8080=80コマンドの構文は「ディスクリプター番号、エントリ番号、内側アドレス、プロトコル、ポート」の順です。ポートの指定方法が 2 通りある点に注意が必要です。
tcp 443(=なし): ポート番号を変換せず、外側 443 宛をそのまま内側 443 へ転送します。tcp 8080=80(外側ポート=内側ポート): 外側 8080 宛の着信を内側 80 へ、ポート番号を変換して転送します。1 つのグローバル IP で複数の Web サーバーを公開する場合などに使用します。
参考: YAMAHA RTpro – コマンドリファレンス 静的 IP マスカレードエントリの設定
https://www.rtpro.yamaha.co.jp/RT/manual/rt-common/nat/nat_descriptor_masquerade_static.html
TCP・UDP 以外のプロトコルも指定でき、公式ドキュメントでは PPTP サーバー公開のために GRE を静的マスカレードする例(nat descriptor masquerade static 1 2 192.168.0.1 gre *)が示されています。ポート番号を持たないプロトコルの転送が必要な場合の定石です。
運用上の注意点は 2 つです。
- 静的 IP マスカレードは「変換」の定義であり、「通過許可」ではありません
-
ip pp secure filter inなどでフィルタを適用している構成では、該当ポートの着信を許可するフィルタを別途定義しないと通信は成立しません。「ポート開放したのに繋がらない」原因の多くはフィルタ側にあります。 - 動作確認は必ず外部の回線から行います
-
内部 LAN からグローバル IP 宛にアクセスする確認方法は、前章で触れたヘアピン NAT の問題(
hairpin=on未設定では折り返し通信が成立しない)により失敗するため、設定不備との切り分けができません。スマートフォンのテザリングなど、外部からの確認が確実です。
静的 NAT(1 対 1 変換)と変換の優先順位
公開サーバー専用のグローバル IP アドレスを割り当てられる場合は、nat descriptor static でアドレス単位の 1 対 1 変換を定義します。
# 外側 203.0.113.80 と内側 192.168.1.80 を 1 対 1 で対応付け
nat descriptor static 1 1 203.0.113.80=192.168.1.80
# 連続アドレスをまとめて対応付ける場合(開始アドレスから 4 個分)
nat descriptor static 1 2 203.0.113.81=192.168.1.81 4構文は「外側アドレス=内側アドレス」で、末尾に個数を付けると連続範囲の一括定義、/netmask 形式でのネットワーク単位の定義もできます。なお、静的 NAT の外側アドレスは、address outer で NAT 処理対象として設定されているアドレスである必要はありません(公式コマンドリファレンスに明記されています)。
変換の優先順位も公式に定義されており、静的 NAT のバインドは NAT ディスクリプターの中で最優先 で処理されます。IP マスカレードや動的 NAT で処理可能なパケットであっても、静的 NAT のバインドに該当すればそちらが適用されます。この優先順位により、masquerade タイプのディスクリプターに静的 NAT エントリを共存させる構成が成立します。公式設定例集にも、IP マスカレードでインターネット接続しつつ、特定サーバーだけ別のグローバル IP で 1 対 1 公開する構成が掲載されています。
参考: YAMAHA RTpro – NAT ディスクリプターの設定例
http://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/example/2.html
静的 NAT を使う場合の重要な注意が、公式コマンドリファレンスに記載されています。
参考: YAMAHA RTpro – コマンドリファレンス 静的 NAT エントリの設定
「初期値がそれぞれ ipcp と auto であるので、例えば何らかの IP アドレスをダミーで設定しておくことで動的動作しないようにする」
https://www.rtpro.yamaha.co.jp/RT/manual/rt-common/nat/nat_descriptor_static.html
これは、静的 NAT のみを使いたい構成でも、address outer(初期値 ipcp)と address inner(初期値 auto)が生きているため、意図しない動的変換が発生し得る という注意です。静的 NAT 専用のディスクリプターを構成する場合は、ダミーのアドレスを設定するなどして動的変換を無効化しておきます。
また、静的 NAT で追加のグローバル IP アドレスを LAN インターフェイス(LAN2 など)で使用する場合、同一セグメントからの ARP 要求に対しては RTX が外側アドレスの代理応答を行う 仕様のため、対向ルーターが同一セグメントにいる構成では追加の経路設定なしで到達性が確保されます。対向がセグメント外の場合は、外側アドレス宛の経路を RTX に向ける設計が必要です。
動作確認とトラブルシューティング
RTX の NAT の切り分けは、show nat descriptor 系コマンドで「ディスクリプターがどのインターフェイスに適用されているか」「どのバインド(変換の対応付け)が生成されているか」を確認することから始まります。あわせて、機種・ファームウェアによって異なる NAT 動作タイプの仕様を押さえておくと、セッション枯渇系の問題に対応できます。
show nat descriptor 系コマンドの使い方
用途別に、主に以下の 3 コマンドを使い分けます。
# すべてのインターフェースについてバインド(変換の対応付け)を表示
show nat descriptor address
# 特定インターフェースのバインドを表示
show nat descriptor interface address lan2
# インターフェースとディスクリプターの適用関係を表示
show nat descriptor interface bind lan2show nat descriptor interface bind の「bind」は変換の対応付けではなく、インターフェイスとディスクリプターの対応付け(適用状態) を指します(公式ドキュメントで用語の使い分けが説明されています)。前章で整理した「定義と適用の 2 段階構成」の確認コマンドがこれで、「設定したのに変換されない」場合の最初の確認ポイント です。定義(nat descriptor type など)が show config に見えていても、このコマンドで適用が確認できなければ変換は行われません。
参考: YAMAHA RTpro – NAT ディスクリプター機能 概要(確認コマンドの解説)
https://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/nat-abstruct.html
動的なバインドのクリアには clear nat descriptor dynamic コマンドが用意されています(指定方法は機種別のコマンドリファレンスを参照してください)。また、バインドの保持期間は nat descriptor timer コマンドで調整でき、TCP/FIN 通過後のタイマーを短くすることで NAT テーブルの使用量を抑える設計が公式に案内されています。
NAT 動作タイプ(1 / 2 / 3)とセッション数上限
RTX の IP マスカレードには、ポート番号の割り当て方式が異なる 3 つの動作タイプがあり、機種・ファームウェアによってサポート状況と既定の動作が異なります。
| 動作タイプ | ポート割り当て | セッション数の上限の考え方 |
|---|---|---|
| タイプ 1 | セッションごとに異なる外側ポートを順に割り当て | ほぼ「使用できる外側ポート番号の個数」で頭打ち。nat descriptor masquerade port range で調整 |
| タイプ 2 | TCP でポートセービング(宛先が異なれば同一ポートを再利用) | ポート数とセッション数が対応しない。nat descriptor masquerade session limit total で上限を設定 |
| タイプ 3 | TCP・UDP の両方でポートセービング | タイプ 2 と同様 |
ポートセービング IP マスカレード(タイプ 2 以降)では、同じ外側ポート番号を宛先の異なる複数セッションで再利用するため、少ないポート数で多数のセッションを収容できます。一方で上限管理の考え方が変わり、タイプ 2 以降ではセッション総数の上限をコマンドで設定します。
参考: YAMAHA RTpro – NAT 動作タイプの違いについて
「このコマンドで設定した上限を超えるセッションは外側ポート番号の割り当てがされず、パケットは破棄されます」
https://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/nat-compatibility.html
実務上の要点は、動作タイプによって使用する確認コマンドが変わる ことです。
- タイプ 1:
show nat descriptor masquerade port summary(使用中の外側ポート番号の個数を表示) - タイプ 2 以降:
show nat descriptor masquerade session summary(管理中のセッション数とピーク値を表示。タイプ 2 以降ではport summaryは使用できません)
セッション数のピーク値が上限に近い状態が続く場合は、上限値の見直しや、タイマー調整による解放の促進を検討します。
よくあるトラブルと切り分け
- トラブル 1: 設定したのに変換されない
-
確認の順序は以下が定石です。
STEPshow nat descriptor interface bindで、ディスクリプターがインターフェイスに 適用 されているか確認する(定義のみで適用漏れが最頻出)STEPaddress innerの範囲を確認する(前章で解説した通り、範囲外の送信元は変換されず素通しになります)STEPshow nat descriptor addressで、実際に生成されているバインドを確認する。 - トラブル 2: ポート開放したのに外部から繋がらない
-
静的 IP マスカレードの定義に加えて、以下を確認します。
STEPフィルタ(
ip pp secure filter in等)で該当ポートの着信が許可されているか。変換とフィルタは独立した機能であり、両方が揃って初めて通信が成立します。STEP確認を外部の回線から行っているか。内部 LAN からグローバル IP 宛の確認は、ヘアピン NAT が構成されていない限り失敗します。
STEPping での確認に頼っていないか。公式ドキュメントに明記されている通り、外側アドレス宛の外部からの ping には、NAT ディスクリプターの設定内容に関係なく常にルーターが応答します。ping が通ることは「静的マスカレードが機能していること」の確認にはならないため、公開しているポートそのもの(
443なら HTTPS アクセス等)で確認します。 - トラブル 3: セッション数の枯渇が疑われる
-
多数の端末・大量の短命セッションを収容する環境では、動作タイプに応じた確認(前述の
port summary/session summary)でセッション状況を把握し、上限値・タイマー・ポート範囲の調整を検討します。特にピーク値の把握は増設・更改の判断材料になるため、定常的な監視項目に加えておく ことが推奨されます。
制約事項・設計上の注意
最後に、RTX の NAT を設計に組み込む際に把握しておきたい制約と注意点を整理します。
- ペイロードにアドレスを含むプロトコルへの対応は個別仕様を確認する
-
SIP メッセージ内の IP アドレス書き換えは
nat descriptor sipコマンドで制御でき、ファームウェアリビジョンによって初期値が異なります(Rev.8.02.35 以降で off から on に変更)。FTP など他のプロトコルにも個別の対応仕様があるため、NAT 越しに特定アプリケーションだけが失敗する場合は、コマンド仕様の該当項目を確認します。 - ヘアピン NAT は対応機種・ファームウェアの条件がある
-
内部 LAN からグローバル IP 宛にアクセスする折り返し通信には
hairpin=onの設定が必要で、RTX1300(Rev.23.00.03 以降)・RTX1220(Rev.15.04.04 以降)・RTX830(Rev.15.02.24 以降)などの対応条件があります。RTX1210 以前の機種は非対応です。詳細は関連記事『ヘアピン NAT とは|内部からグローバル IP でアクセスできない原因と対処』を参照してください。 - MAP-E / DS-Lite 環境では NAT の設計自体が変わる
-
IPoE 接続で MAP-E(IP 共有契約)を利用する場合は使用できるポート範囲に制約があり、DS-Lite では IPv4 の NAT がキャリア側で行われるため、本記事で解説した静的 IP マスカレードによるサーバー公開がそのまま成立しない構成があります。回線方式の特性を踏まえた設計が必要です。
- 動作タイプ 3 では UDP のポート割り当て仕様に注意する
-
動作タイプ 3 は UDP でもポートセービングを行うため、公式ドキュメントでは、ヘアピン動作を介した P2P 通信が困難になる旨が注記されています。UDP ベースの P2P アプリケーション(WebRTC 等)を扱う環境では、動作タイプの選択も設計要素になります。
まとめ
本記事では、YAMAHA RTX の NAT 設定を、NAT ディスクリプターの構造から静的変換・確認コマンドまで整理しました。「定義と適用の 2 段階」「address inner 範囲外は素通し」「静的 NAT のバインドは最優先」という 3 つの仕様を押さえておけば、構築から切り分けまで一貫した理解で対応できます。
- NAT ディスクリプターは定義と適用の 2 段階で、適用して初めて動作する
- 変換方式はグローバル IP が 1 個なら masquerade 一択
- address inner の範囲外は変換されず素通しになるため範囲設計に注意
- ポート開放は nat descriptor masquerade static とフィルタ許可のセットで構成
- 静的 NAT のバインドはディスクリプター内で最優先処理
- 動作タイプ 2 以降のセッション確認は session summary を使用
- 外側アドレス宛の ping は常にルーターが応答するため公開確認には不向き
以上、最後までお読みいただきありがとうございました。
