ヘアピン NAT 機能

$Date: 2023/07/27 16:46:42 $

  1. 1. 概要
  2. 2. 対応機種とファームウェアリビジョン
  3. 3. 注意事項
  4. 4. 詳細
    1. 4-1. 基本構成
    2. 4-2. ヘアピン NAT 機能の動作
  5. 5. コマンド
  6. 6. 設定例
    1. 6-1. NAT の内側にある PC から同じ NAT の内側にあるサーバーに、NAT の外側アドレスで接続する (基本構成)
    2. 6-2. NAT の内側にある PC から同じ NAT の内側にあるサーバーに、NAT の外側アドレスで接続する (PPPoE(動的グローバル IP アドレス)+ ネットボランチ DNS)
    3. 6-3. 同じ NAT の内側にある PC どうしで、お互いの NAT の外側アドレスを使用して P2P で通信する
  7. 7. SYSLOG メッセージ一覧
  8. 8. 関連情報

1. 概要

ヘアピン NAT 機能とは、NAT(IP マスカレード)を使用してインターネットに接続する構成で、NAT の内側にある端末から同じ NAT の内側にある端末に NAT の外側アドレスを指定して接続できるようにする機能です。NAT ループバック機能と呼ばれることもあります。 ヘアピン NAT 機能により以下のことが可能になります。

(※)ヘアピン NAT 機能は、SIP パケットには対応していません。 WebRTC などの、SIP パケットを利用しない音声通話でヘアピン NAT 機能が利用可能です。

概要

▲ このドキュメントの先頭へ


2. 対応機種とファームウェアリビジョン

ヤマハルーターでは、以下の機種およびファームウェアで、ヘアピン NAT 機能をサポートしています。

機種 ファームウェア
RTX3510 Rev.23.01.01 以降
RTX1300 Rev.23.00.03 以降
RTX1220 Rev.15.04.04 以降
RTX830 Rev.15.02.24 以降
NVR510 Rev.15.01.23 以降
NVR700W Rev.15.00.23 以降

▲ このドキュメントの先頭へ


3. 注意事項

▲ このドキュメントの先頭へ


4. 詳細

4-1. 基本構成

NAT の内側にある PC から、同じ NAT の内側にある公開サーバーに NAT の外側アドレスを指定して接続するための基本的な設定例を示します。 ルーター全体の設定は「設定例」を参照してください。

構成の概要

構成図

構成図

CONFIG

ip lan1 address 192.168.100.1/24
ip lan2 address 203.0.113.1/24                               ...a
ip lan2 nat descriptor 1                                     ...b
nat descriptor type 1 masquerade hairpin=on                  ...c
nat descriptor address outer 1 primary                       ...d
nat descriptor masquerade static 1 1 192.168.100.200 tcp 80  ...e
  1. ルーターの LAN2 インターフェースに、固定グローバル IP アドレスを設定します。
  2. ルーターの LAN2 インターフェースに、ヘアピン NAT 機能を有効にした IP マスカレードを適用します。
  3. NAT ディスクリプター番号 1 番で ヘアピン NAT 機能を有効にします。
  4. NAT ディスクリプタ―番号 1 番の外側アドレスに、固定グローバル IP アドレス を設定します。
  5. Web サーバーをインターネットに公開するための設定です。

4-2. ヘアピン NAT 機能の動作

PC から Web サーバーに、NAT の外側アドレスで接続する場合の動作を説明します。ここでは、4-1. 基本構成を前提として説明します。

動作説明
  1. PC は Web サーバー宛てのパケットを送信します。このパケットの宛先 IP アドレスは、NAT の外側アドレスを指定します。
  2. ルーターはヘアピン NAT 機能によって設定された暗黙的な経路に従ってパケットを LAN2 に転送します。
    show ip route
    宛先ネットワーク  ゲートウェイ  インタフェース  種別      付加情報
    192.168.100.0/24  192.168.100.1  LAN1           implicit              ...i
    203.0.113.1/32    203.0.113.1    LAN2           implicit  hairpin:1   ...ii
        
    1. LAN1 の implicit 経路です。
    2. ヘアピン NAT 機能用の経路です。
      本経路は、ヘアピン NAT 機能が有効な NAT ディスクリプターを適用したインターフェースがリンクアップすると自動的に設定されます。 また、該当するインターフェースの IP アドレスが変更された場合は本経路も自動的に変更されます。
      本経路では、ヘアピン NAT を設定した NAT ディスクリプタ―の設定と一致する送信元 IP アドレス、宛先 IP アドレスのパケットのみ転送されます。
      • 送信元 IP アドレス:nat descriptor address inner DESCRIPTOR_ID コマンドの設定が反映されます。当該コマンドが設定されていない場合はすべての IP アドレスになります。
      • 宛先 IP アドレス:ip INTERFACE nat descriptor DESCRIPTOR_ID コマンドが設定されたインターフェースの IP アドレスが反映されます。
  3. ルーターは LAN2 に適用した NAT ディスクリプター(動的 IP マスカレード)の設定に従って、送信元 IP アドレス / ポート番号を LAN2 の NAT の外側アドレス / ポート番号に変換します。
  4. ルーターはヘアピン NAT 機能によってパケットを LAN1 へ折り返して転送します。
  5. ルーターは折り返したパケットをインターネット(または WAN)から入ってきたパケットと同様に、 静的 IP マスカレードの設定に従って宛先 IP アドレス / ポート番号を NAT の内側アドレス / ポート番号に変換します。
  6. ルーターは折り返したパケットを LAN1 に転送します。
    show ip route
    宛先ネットワーク  ゲートウェイ   インタフェース  種別      付加情報
    192.168.100.0/24  192.168.100.1  LAN1            implicit
    203.0.113.1/32    203.0.113.1    LAN2            implicit  hairpin:1
        
  7. Web サーバーにパケットが到達します。

▲ このドキュメントの先頭へ


5. コマンド

▲ このドキュメントの先頭へ


6. 設定例

6-1. NAT の内側にある PC から同じ NAT の内側にあるサーバーに、NAT の外側アドレスで接続する(基本構成)

[ネットワーク構成]
設定例1
[CONFIG 例]
ip route default gateway (ISP より指定されたデフォルトゲートウェイの IP アドレス)
ip lan1 address 192.168.100.1/24
ip lan2 address 203.0.113.1/24
ip lan2 nat descriptor 1
nat descriptor type 1 masquerade hairpin=on
nat descriptor address outer 1 primary
nat descriptor masquerade static 1 1 192.168.100.200 tcp www
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
dns server (ISP より指定された DNS サーバーの IP アドレス)
dns private address spoof on
    

6-2. NAT の内側にある PC から同じ NAT の内側にあるサーバーに、NAT の外側アドレスで接続する (PPPoE(動的グローバル IP アドレス)+ ネットボランチ DNS)

[ネットワーク構成]
設定例2
[CONFIG 例]
ip route default gateway pp 1
ip lan1 address 192.168.100.1/24
pp select 1
 pp keepalive interval 30 retry-interval=30 count=12
 pp always-on on
 pppoe use lan2
 pppoe auto disconnect off
 pp auth accept pap chap
 pp auth myname (ISP に接続する ID)(ISP に接続するパスワード)
 ppp lcp mru on 1454
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ppp ccp type none
 ip pp nat descriptor 1
 netvolante-dns hostname host pp server=1 yamaha.example.netvolante.jp
 pp enable 1
nat descriptor type 1 masquerade hairpin=on
nat descriptor masquerade static 1 1 192.168.100.200 tcp www
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
dns host lan1
dns server pp 1
dns private address spoof on
    

6-3. 同じ NAT の内側にある PC どうしで、お互いの NAT の外側アドレスを使用して P2P で通信する

[ネットワーク構成]
設定例3
[CONFIG 例]
ip route default gateway pp 1
ip lan1 address 192.168.100.1/24
pp select 1
 pp always-on on
 pppoe use lan2
 pp auth accept pap chap
 pp auth myname (ISP に接続する ID)(ISP に接続するパスワード)
 ppp lcp mru on 1454
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ppp ccp type none
 ip pp mtu 1454
 ip pp nat descriptor 1
 pp enable 1
nat descriptor type 1 masquerade hairpin=on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
dns server pp 1
dns private address spoof on
    

▲ このドキュメントの先頭へ


7. 関連情報

▲ このドキュメントの先頭へ