SEILシリーズのNAT/NAPTでは、NAT/NAPT処理を行うインタフェースを指定可能です。「LAN側からWAN側へ出る通信」といった拘束は無く、PPPoEやVLANといった仮想インタフェース上でも処理可能ですので、環境に合わせて柔軟な運用が可能です。
| NATセッション保持数上限 (動的に生成されるセッション) |
2048 [128] [T1] [2FE] 4096 [Plus] 16384 [Turbo],[X1] 32768 [X2] ※上限に達していると新たなセッションを張ることはできません。 |
| NAT:設定数上限 | 8 (対象のアドレスを範囲指定可能) |
| 静的NAT:設定数上限 | 8 [128] [T1] [2FE] 32 [Plus] [Turbo] 対象のアドレスを範囲指定可能 |
| NAPT:設定数上限 | 8 (対象のアドレスを範囲指定可能) |
| 静的NAPT:設定数上限 | 256 ([128] [T1] [2FE] のver.1系ファームウェアでは 64 ) |
| NAPT Global Address:設定数上限 | 1 |
| Reflect NAT:設定数上限 | 8 |
| その他機能 | loggingのON/OFF NATテーブルの有効期間設定 複数のPPTPクライアントに対応(静的NAT) |
NATでは割り当てられたグローバルアドレスのいくつかを、プライベートネットワークからパブリックネットワーク側へ通信しようとするホストへ先着順で1対1のペアとして変換し、グローバルアドレスと同数のホストを同時にパブリックネットワークと通信可能にします。
使用可能なグローバルアドレスよりパブリックネットワーク側へ通信しようとするホストのほうが多いとき、グローバルアドレスがすべて使用されていると新たな対応付けはできず、セッションが終了すると、また先着順で空いたグローバルアドレスとペアとして変換します。
| NATで使用するグローバルアドレス | 10.0.0.2 - 10.0.0.6 (5個) |
| NAT対象とするプライベートアドレス | 192.168.0.10 - 192.168.0.19 (10個) |
| NATを行うインタフェース | pppoe0 |
# nat dynamic add global 10.0.0.2-10.0.0.6 interface pppoe0 # nat dynamic add private 192.168.0.10-192.168.0.19 interface pppoe0
グローバルアドレスの範囲とプライベートアドレスの範囲は分けて設定します。
この設定で、192.168.0.10-192.168.0.19のホストは同時に5台まで、先着順でグローバルアドレスと1対1で対応付けられてパブリックネットワークと通信可能になります。
| プライベートアドレス | 192.168.0.1 |
| グローバルアドレス | 10.0.0.1 |
| NATを行うインタフェース | pppoe0 |
| プライベートアドレス | 192.168.0.10 - 192.168.0.19 (10個) |
| グローバルアドレス | 10.0.0.100 - 10.0.0.109 (10個) |
| NATを行うインタフェース | pppoe0 |
1| # nat static add 192.168.0.1 10.0.0.1 interface pppoe0 2| # nat static add 192.168.0.10-192.168.0.19 10.0.0.100-10.0.0.109 interface pppoe0
| 1行目 | 静的NAT-1の設定です。 プライベートアドレスとグローバルアドレスを1つづつ指定し、固定のペアでNATが行われます。 |
|---|---|
| 2行目 | 静的NAT-2 の設定です。 "-"で繋げてアドレスの範囲を指定することで、複数の連続したアドレスを静的NAT対象とすることができます。 プライベートアドレスの範囲とグローバルアドレスの範囲は同数である必要があり、双方の先頭アドレスから順に固定のペアとなります。 指定範囲の制限はありませんが、同時にセッションを張ることができる最大数は機種ごとのセッション数上限に依存します。 |
| プライベートネットワークのアドレス NAPT対象とするアドレスの範囲) |
192.168.0.0 - 192.168.255.255 |
| NAPTを行うインタフェース | pppoe0 |
# nat napt add private 192.168.0.0-192.168.255.255 interface pppoe0
指定したプライベートネットワークのホストからの通信がpppoe0インタフェースを通過しようとするとき、Sourceアドレスはpppoe0インタフェースのアドレスに変換し、Sourceポート番号も書き換えてNATセッションエントリに登録します。
パブリックネットワークからの通信がNATセッションエントリにマッチした場合(戻りパケット等)は、DestinationアドレスとDestinationポート番号を書き換え(元に戻し)、プライベートネットワークへ転送します。
グローバルアドレスを複数使用できる場合は、NAPTで使用するグローバルアドレスを指定することができます。
# nat napt add global 10.0.0.5 interface pppoe0
pppoe0インタフェースでnaptが適用されるとき、グローバルアドレスは10.0.0.5になります。
プライベートネットワーク内のホストに対して、特定ポートに限りグローバルネットワークからのアクセスを可能にする場合等に使用します。
| 転送対象のプロトコル 転送対象のポート番号 |
TCP 80 (http) |
| 転送先のアドレス 転送先のポート番号 |
192.168.0.8 80 (http) |
| 静的NAPTを行うインタフェース | pppoe0 |
# nat snapt add protocol tcp listen 80 forward 192.168.0.8 80 enable interface pppoe0
pppoe0インタフェースのアドレスに対してTCP 80番ポートへのアクセスがあった場合、192.168.0.8の80番ポートへフォワードします。その際NATセッション情報も追加し、転送先のホストからNATセッション情報にマッチする通信(戻りパケット等)があった場合はアドレスとポートを変換してアクセス元へ送信します。
グローバルアドレスを複数使用できる場合は、NAPTで使用するグローバルアドレスを指定することができます。(NAPTと静的NAPTで共用します)
# nat napt add global 10.0.0.5 interface pppoe0
# nat snapt add default 192.168.0.254 interface pppoe0
pppoe0インタフェースのアドレスに対するアクセスで、listenする指定の無いポートへのアクセスを192.168.0.245へフォワードします。
※ 公開サーバと同一セグメント内のホストから公開サーバのホスト名でアクセスするために、外部公開用に設置されたDNSで名前解決を行う環境等で有効です。
※ SEILがNAT処理する通信が増加するため、Reflect NATを設定しない場合に比べてNATセッション数が増加します。
Reflect NAT設定の追加例
# nat reflect add interface lan0
lan0インタフェースからの通信にNAT/NAPTが適用され、かつlan0インタフェースから出力される場合に、Destinationアドレスの変換に加えSourceアドレスをlan0インタフェースのアドレスに変換します。Reflect NAT設定が無い場合はDestinationアドレスのみ書き換えるため、公開サーバからの戻りパケットは、SEILを経由せず、Sourceアドレスが公開サーバのプライベートアドレスのままになるため、アクセス元ホストでは送受信したパケットのアドレスの食い違いで通信が成立しません。
有効期間設定例
# nat timeout 180
NATセッションの有効期間を180秒とします。
# show status nat List of active IP mapping: List of active sessions: snapt pppoe0 udp 192.168.0.193:137 = 172.16.0.193:137 <-> 200.21.100.12:1027 [00:06:57] snapt lan0 udp 202.32.45.9:123 = 202.32.45.9:123 <-> 218.219.153.198:123 [00:14:15] snapt pppoe0 tcp 202.32.45.9:139 = 202.32.45.10:139 <-> 212.247.77.130:4945 [00:09:53] napt lan0 icmp 202.32.45.9 = 202.32.45.9 <-> 202.32.45.12 [00:09:46] napt lan0 icmp 202.32.45.9 = 202.32.45.9 <-> 202.32.45.12 [00:00:29] #
# clear nat-session clear all active NAT mappings?[y/N] y 7 entries flushed from NAT table #
実行すると確認メッセージが表示されます。 [y]を入力すると消去されたNATテーブル数が表示されます。
NATとNAPTは、設定によっては変換対象となるIPアドレスが重複することがありますが、次の評価順で処理されます。
| 静的NAT > 動的NAT > NAPT/静的NAPT |
工場出荷時はOFFが設定されておりNATログは出力されませんので、必要に応じて設定を変更してください。
NATのログを出力する
# nat logging on
onを指定すると、それ以降のNAT/NAPT処理についてログが出力されます。
NATのログ出力を停止する
# nat logging off
off を指定するとNAT/NAPT処理を行ってもログは出力されません。
プライベート側ネットワーク内のPPTP クライアントから、グローバル側ネットワークのPPTP サーバへの接続を可能とします。PPTPセッション1個につき2個のNAT セッションを消費します。また、NAT最大セッション保持数による制限を除き、同時接続可能なPPTPセッション数に上限はありません。
この機能について設定コマンドは必要無く、常に有効です。
1個のSIP端末につき、3個のNATセッションを消費します。
工場出荷時のSIP Proxy設定
# show config nat nat timeout 900 nat logging off nat upnp off nat upnp interface lan1 nat napt add private 192.168.0.0-192.168.255.255 interface pppoe0 nat proxy sip add port 5060 protocol tcpudp
※ SEILをSIP端末より後に起動した場合、もしくは本装置を再起動した場合は、一定時間着信ができません。
LANインタフェース(ブロードキャストインタフェース)でNATを有効にし、かつ外部からの接続要求を受け付ける場合(静的NAT/静的NAPTでサーバを公開するなど)に使用します。
【参考】ブロードキャストインタフェースでNAT/NAPTを使用する場合
NAT連動Proxy ARP機能を有効にする
# arp reply-nat on
NAT/NAPTは、"nat ~ interface
1| # route add default pppoe0 2| # route add default pppoe1 3| 4| # nat napt add private 192.168.0.0-192.168.255.255 interface pppoe0 5| # nat napt add private 192.168.0.0-192.168.255.255 interface pppoe1 6| 7| # nat static add 192.168.0.80 10.0.0.3 interface pppoe0 8| # nat static add 192.168.0.80 10.0.0.3 interface pppoe1
| 1行目 ~2行目 |
デフォルト経路をpppoe0とpppoe1へのMultiPath設定としています。 |
|---|---|
| 4行目 ~5行目 |
PCの所属するプライベートネットワークからパブリックネットワークへの通信が、MultiPathによりpppoe0とpppoe1のどちらから送信されてもNAPT対象となるよう、両方のインタフェースでNAPTを設定しています。 |
| 7行目 ~8行目 |
公開サーバからパブリックネットワークへの通信が、MultiPathによりpppoe0とpppoe1どちらから送信されてもSourceが10.0.0.3となるよう、両方のインタフェースで静的NATを設定しています。 |
※パブリックネットワークから公開サーバへのアクセスはpppoe0からの入力となりますが、公開サーバからパブリックネットワークへのアクセスはMultiPathによりpppoe0又はpppoe1いずれかから出力されます。
Ethernet(LAN,VLANインタフェース等)で構成するネットワークで、SEILでNAT/NAPTを設定してLAN内からのゲートウェイとし、さらにLAN内のホストを静的NAT/静的NAPTによりWAN側へ公開しようとするとき、構成や機器の設定によってはWAN側から公開ホストへのアクセスができない場合があります。
LANインタフェースやVLANインタフェースといったブロードキャストインタフェースでは、同一リンク上のアドレスへパケットを送信する際にARPによる近隣探索を行います。
SEILは通常、インタフェースに付加されているアドレス以外に対するARPリクエストには応答しません。このため、ブロードキャストインタフェース側ネットワークの、インタフェースに付加されていないアドレス(空きアドレス)をNATやNAPTのグローバルアドレスとして使用すると、NAT/NAPTのグローバルアドレスに対して同一リンク上の機器からSEILへの送信が行われない構成となってしまう場合があります。(ARPリクエストに対してリプライが無いため送信されない)
このような場合には次のような回避手段が考えられます。
対応機種: [2FE], [Plus], [Turbo], [X1], [X2]
| 準拠する規格 | Universal Plug and Play Architecture 1.0 InternetGatewayDevice 1.0 |
確認済みの機器 / アプリケーション
※MSN Messenger 6.2 では、ビデオチャット及び音声チャット使用時に正しく動作しない可能性があります。
VoIP アダプタの場合は、転送元/転送先のポートが固定となっているため、複数の VoIP アダプタを接続した場合には最後に接続した1台のみ使用できることになります。
複数の VoIP アダプタを同時に使用したい場合には、SIP Proxy 機能を用いることで実現可能です。
エントリが削除される条件、またはエントリを削除する手段としては、以下の例が挙げられます。
WAN側(lan1, pppoe0-3)からのUPnPによる新規の接続要求は受け付け無いため、リモートからの不正アクセスをLAN側の端末へ中継することはありませんが、LAN側に接続されているクライアントマシンのウィルス感染等には充分に注意した上で運用してください。
※UPnP機能は1つのインタフェースでのみ使用可能です。
工場出荷状態のUPnP (NAT) 設定
1|# show config nat 2| nat timeout 900 3| nat logging off 4|nat upnp off 5|nat upnp interface lan1 6| nat napt add private 192.168.0.0-192.168.255.255 interface pppoe0 7| nat proxy sip add port 5060 protocol tcpudp
| 4行目 ~5行目 |
UPnP機能自体は無効になっています。 また、UPnP機能を使用するインタフェースはlan1となっています。 |
|---|
UPnP機能の有効化
1| nat upnp interface pppoe0 2| nat upnp on
| 1行目 | UPnP機能を使用するインタフェースをpppoe0に変更します。 (既存のインタフェース指定を上書きします) |
|---|---|
| 2行目 | UPnP機能を有効にします。 "off"を指定するとUPnP機能は無効になります。 |
UPnP機能が有効になると、UPnP対応アプリケーション/機器と相互に検知/制御し、pppoe0インタフェースでNAT越しのSIP通信が可能となるよう静的NAPTエントリを自動生成します。
UPnPによる静的NAPTエントリがある場合のステータス
# show status nat
UPNP STAT:
Total 3 entries
External Internal LifeTime CreateTime Flag
UDP 5060 -> 10.1.2.50:5060 Infinite 11/09/04 17:15:12 On
UDP 5090 -> 10.1.2.50:5090 Infinite 11/09/04 17:15:14 On
UDP 5091 -> 10.1.2.50:5091 Infinite 11/09/04 17:15:17 On
List of active IP mapping:
List of active sessions:
napt lan0 udp 10.1.2.2:1900 = 10.1.2.2:1900 <-> 10.1.2.50:1358 [00:05:16]
napt lan0 udp 10.1.2.2:1900 = 10.1.2.2:1900 <-> 239.255.255.250:1900 [00:14:10]
napt lan0 udp 10.1.2.2:65534 = 10.1.2.2:65534 <-> 10.1.2.1:514 [00:14:59]
napt pppoe0 udp 10.1.2.1:65534 = 172.16.109.140:65534 <-> 172.24.4.139:53 [00:00:08]
snapt pppoe0 tcp 10.1.2.1:22 = 172.16.109.140:22 <-> 172.20.30.196:15407 [00:15:00]
napt pppoe0 udp 10.1.2.1:123 = 172.16.109.140:123 <-> 172.22.160.27:123 [00:07:27]
napt lan0 tcp 10.1.2.2:23 = 10.1.2.2:23 <-> 10.1.2.1:65010 [00:15:00]
snapt pppoe0 tcp 10.1.2.1:80 = 172.16.109.140:80 <-> 172.18.208.67:54752 [00:00:01]
snapt pppoe0 tcp 10.1.2.1:80 = 172.16.109.140:80 <-> 172.18.208.67:54617 [00:00:01]
接続するアプリケーションや機器により、それぞれが使用するポート・ポート数は異なります。