UPnP

UPnP(Universal Plug andPlay)機能を提供します。

UPnPを有効化すると、コントロールポイント(PCやゲーム機等の端末)からのリクエストによって自動的に静的NAPTルールを追加できます。

原則として Universal Plug andPlay Device Architecture 1.0 及び InternetGatewayDevice 1.0(http://www.upnp.org/) に従い実装されています。

サポートする自動設定機能
NAT(静的NAPT)
適用可能なインタフェース
静的NAPTルールの適用: LAN, PPPoE, PPP
UPnPリクエストの受信: lan0のみ
静的NAPTルール追加上限
256個
UPnPの通信に使用するポート番号
UDP 1900
TCP 3000

動作の概要

lan0インタフェースで受信したコントロールポイントからのリクエストによって、コンフィグで指定されたインタフェースに静的NAPTルールを追加します。

IGDの仕様に一部非準拠であり、切断要求については拒否し、ログを出力します。

有効期間

UPnPによる静的NAPTルールの有効期間は、初期値の指定方法を以下から設定できます。
  • コントロールポイントからリクエストされたパラメータ(NewLeaseDuration)に従う。(デフォルト)
  • タイマーを設定する。
    • 有効期間を明示的に指定する。
    • 有効期間をコントロールポイントのARPエントリに連動する。

ルールの削除・上書き

  • 有効期間が設定されておらず、上限(256個)に達した状態でリクエストを受信した場合、作成後1時間以上経過したルールが存在するのであれば、そのうち最も古いルールを削除した後に追加します。1時間以上経過したルールが存在しないのであれば、コントロールポイントにエラーを返します。
  • リクエストされたポート番号に該当するルールが既に存在する場合、コントロールポイントのMACアドレスが同一であればルールを上書きします。このとき、InternalClient の値(forward先のIPアドレス)の値は既存のルールと異なっていても上書します。

ポート開放の制限

以下に該当するポートはUPnPで利用できません。コントロールポイントからのリクエストを拒否します。
  • nat snaptコマンドの設定による静的NAPTルールが存在するポート番号
  • システムが使用するポート番号(下表)
表 1. UPnPで利用できないポート
ポート番号 プロトコル
0 TCP/UDP
22 TCP
23 TCP
53 TCP/UDP
67 UDP
80 TCP
123 UDP
161 UDP
179 TCP
443 TCP
500 UDP
520 UDP
521 UDP
1701 UDP
1723 TCP
1900 UDP
3000 TCP
4500 UDP
5001 UDP

システムが使用するポート番号について静的NAPTを適用する必要がある場合は、nat snaptコマンドによる静的NAPTルールを設定してください。