ヤマハルーター(RTXシリーズ)でアドレス変換の設定を行うには、まず基本概念を押さえておく必要があります。
本記事では、NATとIPマスカレードの違い、NATディスクリプタの考え方を整理したうえで、実務でよく使う代表的な設定例を4つ紹介します。

基本概念

「NAT」と「IPマスカレード」の違い

  • NAT:IPアドレス(始点/終点)のみを1対1で変換する機能
  • IPマスカレード:ポート番号の変換も伴うことで、1つのグローバルIPアドレスを複数の端末で共有できるようにする機能(NAPT)

NATディスクリプタ

ヤマハルーターでは、アドレスの変換規則を「NATディスクリプタ」というグループ(番号)で定義し、それを各インターフェース(PPやトンネル、LANなど)に適用して動作させます。

例①:IPマスカレード(一般的なインターネット接続・NAPT)

プロバイダ接続(PPPoEなど)で自動取得した1つのグローバルIPアドレスを使って、LAN内の複数の端末が同時にインターネット接続を行えるようにする、最も標準的な設定です。

# 1. NATディスクリプタ 1 を「IPマスカレード」として定義
nat descriptor type 1 masquerade

# 2. 外側IPアドレスとして、PP接続先から自動通知されるIP(ipcp)を指定
nat descriptor address outer 1 ipcp

# 3. 内側IPアドレスとして、変換対象(すべて=auto)を指定
nat descriptor address inner 1 auto

# 4. インターフェース(例:pp 1)にNATディスクリプタを適用
pp select 1
 ip pp nat descriptor 1

例②:静的IPマスカレード(ポート開放/ポートフォワーディング)

外部(インターネット側)からルーター宛てに届いた「特定のポート番号」への通信を、LAN内にある特定のサーバーに自動転送する設定です。
例として、外部からTCPの80番ポート(HTTP)宛てに届いたアクセスを、内部のWebサーバー192.168.100.10に転送する場合を示します。

例①の基本設定に加えて、静的エントリ(masquerade static)を定義します。

# 静的エントリを追加([ディスクリプタ番号] [識別ID] [転送先内部IP] [プロトコル] [ポート番号]
nat descriptor masquerade static 1 1 192.168.100.10 tcp 80

補足として、外部ポートと内部ポートを異なる番号に変えて転送したい場合は、8080=80(外側8080番を内側80番へ変換)のように記述します。

例③:静的NAT(固定IP 1対1アドレス変換)

プロバイダから固定グローバルIPを複数取得している環境で、特定のグローバルIPと社内の特定のサーバーをポートを変更せず1対1で固定マッピングさせ、外部に直接公開する設定です。

# 1. 新しいNATディスクリプタ 2 を「NAT」タイプで定義
nat descriptor type 2 nat

# 2. 静的NATとして、外側アドレスと内側アドレスを1対1で固定対応づけ
nat descriptor static 2 1 203.0.113.2=10.254.0.2

# 3. 動的動作をさせないよう、対象のアドレス範囲を明示的に指定
nat descriptor address outer 2 203.0.113.2
nat descriptor address inner 2 10.254.0.2

# 4. インターフェース(例:pp 1)に適用
pp select 1
 ip pp nat descriptor 2

例④:ヘアピンNAT(NATループバック)

LAN内のPCが、LAN内に公開されているサーバーに「グローバルIPアドレス(またはDDNSなどのホスト名)」でアクセスした際、ルーターが内側でパケットを折り返して正常にサーバーに届くようにする設定です。これが設定されていないと、LAN内からはグローバルIP経由で社内サーバーを開くことができません。

nat descriptor typeコマンドにhairpin=onオプションを追記します。

# ヘアピンNATを有効にしてIPマスカレードを設定
nat descriptor type 1 masquerade hairpin=on

複数セグメントをまとめてマスカレードする場合の応用例

MAP-E(OCNバーチャルコネクトなど)接続でトンネルインターフェースを使う環境では、固定の送信元グローバルIPを指定し、複数の内部セグメントをまとめてIPマスカレード変換する構成もよく使われます。

# トンネルにNATディスクリプタを適用
tunnel select 1
 ip tunnel nat descriptor 1000

# 固定の送信元グローバルIPを指定して、複数セグメントのIPマスカレードを実行
nat descriptor type 1000 masquerade
nat descriptor address outer 1000 <固定グローバルIP>
nat descriptor address inner 1000 <内部セグメント1> <内部セグメント2> <内部セグメント3> <内部セグメント4>

outerに固定の外側アドレスを、innerに複数の内部プライベートIPレンジをスペース区切りで並べることで、指定した全セグメントからの通信を1つの固定グローバルIPでマスカレードできます。

まとめ

  • NATはIPアドレスのみの1対1変換、IPマスカレード(NAPT)はポート番号も含めた多対1変換
  • ヤマハルーターでは変換規則を「NATディスクリプタ」として定義し、インターフェースに適用する
  • 用途に応じて「IPマスカレード」「静的IPマスカレード(ポート開放)」「静的NAT」「ヘアピンNAT」を使い分ける

特定の内部サーバーを外部に公開したい場合は、まず例②の静的IPマスカレードから検討するのが実務では定番の流れです。