2.10. NAT/NAPTの設定
NAT(ネットワークアドレス変換)とNAPT(ネットワークアドレスポート変換)機能に対応しています。NATはIPv4アドレスのみを変換し、NAPTはIPv4アドレスの他、TCP/UDPのポート番号などを変換することで、端末のアドレスとは異なるアドレスで通信可能です。
プライベートアドレスとして使用できるIPv4アドレスは、RFC1918によって次のように定義されています。これ以外のアドレスでも変換は可能です。
10.0.0.0 ~ 10.255.255.255 (10/8 prefix)
172.16.0.0 ~ 172.31.255.255 (172.16/12 prefix)
192.168.0.0 ~ 192.168.255.255 (192.168/16 prefix)
2.10.1. NATの設定
ネットワークアドレス変換(NAT)は、プライベートIPv4アドレスを、グローバルIPv4アドレスに変換する機能です。 NATの登録は、次のように大別することができます。
項目
説明
静的NAT(Static NAT)
内部ネットワークの端末のアドレスと外部ネットワーク用に取得したアドレスを、固定的に一対一にマッピングします。動的NAT(Dynamic NAT)
外部ネットワーク用に取得した複数のアドレスをプールし、内部ネットワークの端末が外部にアクセスする際に、動的に外部ネットワークアドレスを割り当てて通信を行います。
静的NATまたは動的NATで範囲指定内に設定されていないパケットを外部ネットワークから受信した場合は、内部ネットワーク内にグローバルアドレス空間があるものと判断し、内部ネットワーク向きにパケットを転送します。
2.10.1.1. 静的NAT(Static NAT)の設定
静的NATは、プロバイダから割り当てられたIPv4アドレスに対して、プライベートアドレス空間の端末のIPv4アドレスを、一対一で割り当てます。グローバルアドレスが十分確保できる場合は、この設定を利用してください。
静的NATの設定および確認は次のコマンドを使用します。
インタフェースコンフィグモード
項目
説明
ip nat enable
NATの有効
ip nat static
変換テーブルの登録
表示コマンド
項目
説明
show ip nat translation
変換テーブルの表示
show ip nat statistics
統計情報の表示
interface GigaEthernet0.0 ip address 10.0.0.254/24 ip nat enable ip nat static 192.168.0.1 10.0.0.1 ip nat static 192.168.0.2 10.0.0.2 no shutdown
ネットワーク単位で静的NATの指定を行うことができます。この場合、アドレス部分は同じ値となります。複数の設定が重なっている場合は、プレフィックス長の長い方が優先されます。
192.168.0.xを10.0.0.xに変換(xは0~127) interface GigaEthernet0.0 ip address 10.0.0.254/24 ip nat enable ip nat static network 192.168.0.0/25 10.0.0.0/25 no shutdown
2.10.1.2. 動的NAT(Dynamic NAT)の設定
動的NATは、グローバルアドレスの数が不足している場合に有効です(ただしNAPTの方が有効なので通常はNAPTを利用してください)。複数のIPv4アドレスをあらかじめプールに格納しておくことで、端末からグローバルアドレス空間へのアクセスがあった場合に、そのプールから自動的に送信元IPv4アドレスを割り当てます。
変換情報は通信が無くなった後も一定時間保持し、保持している間は同じアドレスで変換を行うことができます。情報を保持する時間はデフォルトでは3600秒で、変更することも可能です。
動的NATの設定および確認は次のコマンドを使用します。
グローバルコンフィグモード
項目
説明
ip nat pool
グローバルIPv4アドレスのプールの設定
インタフェースコンフィグモード
項目
説明
ip nat enable
NATの有効
ip nat dynamic
動的NATの設定
ip nat translation
NATキャッシュ最大エントリ数,保持時間設定
表示コマンド
項目
説明
show ip nat translation
変換テーブルの表示
show ip nat statistics
統計情報の表示
ip access-list access-1 permit ip src 192.168.0.0/24 dest any ip nat pool pool-1 10.0.0.2 10.0.0.10 ! interface GigaEthernet0.0 ip address 10.0.0.1/8 ip nat enable ip nat dynamic list access-1 pool pool-1 no shutdown
2.10.2. NAPTの設定
ネットワークアドレスポート変換(NAPT)機能は、内部ネットワークで使用しているプライベートIPv4アドレスとトランスポートレイヤのポートから、外部ネットワークアクセス用のグローバルIPv4アドレスとトランスポートレイヤのポートに変換します。
NAPTの登録は、次のように大別することができます。
項目 |
説明 |
---|---|
NAPT |
内部ネットワークの端末のアドレスとアプリケーションを判断し、
外部ネットワーク用に取得したアドレス(1つのIPv4アドレス)と
必要なポートに動的に変換します。
|
静的NAPT(Static NAPT) |
NAPT使用中に、特定の内部ネットワーク側の端末上の
特定のアプリケーションのポートを固定したい場合に使用します。
|
サーバーサービス設定 |
NAPT使用中に、プライベートアドレス空間に存在するサーバーを
グローバルアドレス空間に提供する場合に使用します。
|
2.10.2.1. NAPTの設定
NAPTの設定および確認は次のコマンドを使用します。
グローバルコンフィグモード
項目
説明
ip access-list
内部ネットワーク内の端末のIPv4アドレス範囲指定
インタフェースコンフィグモード
項目
説明
ip napt enable
NAPTの有効
ip napt address
NAPTアドレスの変更
ip napt inside ...
内部ネットワークの端末を選択します。(この設定により、内部ネットワークについて、グローバルアドレス空間と、プライベートアドレス空間を区別することができます。)ip napt inside ... outside ...
NAPTの複数設定に使用します。インタフェースに2つ目以降のNAPTアドレスを割り当てたい場合に使用します。ip napt translation
NAPTキャッシュ最大エントリ数,保持時間設定
表示コマンド
項目
説明
show ip napt translation
変換テーブルの表示
show ip napt statistics
統計情報の表示
NAPTは、ip napt enableの設定だけで動作します。アドレス、範囲指定は省略することが可能です。これらを省略した場合は、内部的に以下の設定で動作します。
ip napt address <インタフェースアドレス>
ip napt inside <any>
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable no shutdown
2.10.2.2. NAPT範囲指定(DMZの設定)
NAPT配下の内部ネットワークをプライベートアドレス空間とグローバルアドレス空間に分けることができます。これは、たとえばDMZ上に公開サーバーを設置するような場合に使用できます。
ip access-list napt-list1 permit ip src 192.168.0.0/24 dest any ! interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt inside list napt-list1 no shutdown
この設定例では、napt-list1に当てはまらないパケットはNAPT変換対象外となります。ただし、NAPTアドレスに指定しているアドレス(ip napt addressがない本設定ではインタフェースアドレス)は、常にNAPTの変換対象です。
この設定より、外から内への通信時も、napt-list1で指定されていないIPアドレス宛ての場合は後述する静的NAPTやサーバーサービスの設定を行わなくともそのまま通信可能となり、ここではDMZへのアクセスが実現できます。napt-list1で指定されているIPアドレス空間についてはNAPT変換対象となるため、通常、外から内への通信は行えません。
注釈
内部ネットワークは基本的にアクセスリストのsrcアドレスで指定します。
必要な場合はdestアドレス、srcポート、destポート、プロトコルを指定することも可能ですが、ネットワークが複雑になるので注意して利用してください。また、これら以外のフィールドは設定しないでください。
2.10.2.3. NAPT複数指定
1つのI/Fに複数のNAPTアドレスを設定することも可能です。
送信元が10.10.10.0/24の場合はNAPTアドレスに10.0.0.2を使用 送信元が10.10.20.0/24の場合はNAPTアドレスに10.0.0.3を使用 送信元がそれ以外の場合は、NAPTしない ip access-list access-1 permit ip src 10.10.10.0/24 dest any ip access-list access-2 permit ip src 10.10.20.0/24 dest any ! interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt address 10.0.0.2 ip napt inside list access-1 ip napt inside list access-2 outside 10.0.0.3 no shutdown送信元が10.10.10.0/24の場合はNAPTアドレスに10.0.0.2を使用 送信元が10.10.20.0/24の場合はNAPTアドレスに10.0.0.3を使用 送信元がそれ以外の場合は、NAPTアドレスに10.0.0.1のを使用 ip access-list access-1 permit ip src 10.10.10.0/24 dest any ip access-list access-2 permit ip src 10.10.20.0/24 dest any ! interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt inside list access-1 outside 10.0.0.2 ip napt inside list access-2 outside 10.0.0.3 no shutdown
注釈
NAPTアドレスを複数設定する場合の注意
NAPTしない条件がある場合、設定例1のように、1つをip napt insideのoutside指定なしの設定にする必要があります(デフォルト動作の全アドレスをインタフェースのアドレスで変換する設定を無効化する必要があるため)。 それぞれのアクセスリストで許可されるアドレス範囲は重複しないよう設定してください。 なお、設定例2のケースはoutsideなしのinside listの設定は不要です。outsideありの設定を先に判定するため、範囲指定されなかった通信が10.0.0.1で変換されます。
送信元が10.10.10.0/24の場合はNAPTアドレスに10.0.0.2を使用 送信元が10.10.20.0/24または自発パケットの場合はNAPTアドレスに10.0.0.1を使用 送信元がそれ以外の場合は、NAPTしない ip access-list access-1 permit ip src 10.10.10.0/24 dest any ip access-list access-2 permit ip src 10.10.20.0/24 dest any ip access-list access-2 permit ip src 10.0.0.1/24 dest any ! interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt address 10.0.0.2 ip napt inside list access-1 ip napt inside list access-2 outside 10.0.0.1 no shutdown
注釈
outsideアドレスに物理アドレスを指定する場合の注意
設定例3のように、outsideアドレスと物理アドレスを同じにする場合、outsideのinside listのアクセスリストに物理アドレス(設定例では10.0.0.1)を含める必要があります。 アクセスリストに設定をしない場合、自発パケットはNAPTの変換対象になりません。
2.10.2.4. 静的NAPT(Static NAPT)の設定
静的NAPTの設定では、NAPTアドレスで使用するプロトコル、ポート番号を特定の端末専用に割り当てることができます。
静的NAPTの設定および確認は、NAPT設定コマンドに加え、次のコマンドを使用します。
インタフェースコンフィグモード
項目
説明
ip napt static
内部ネットワーク内の端末とポートの設定
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt static 192.168.0.1 tcp 1000-1010 no shutdown
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt static 192.168.0.1 41 no shutdown
2.10.2.5. サーバーサービスの設定
サーバーサービス設定は、プライベートアドレス空間にあるサーバーに、グローバルアドレス空間にあるクライアントからアクセスするために使用します。
サーバーサービス設定は、インタフェースコンフィグモードで、ip napt service コマンドを使用して設定します。サーバーサービスの設定および確認は、NAPT設定コマンドに加え、次のコマンドを使用します。
インタフェースコンフィグモード
項目
説明
ip napt service
内部ネットワーク内のサーバーとポートの設定
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt service ssh 192.168.1.1 no shutdown
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt service tftp 192.168.1.1 none udp 69 no shutdown
2.10.2.6. NAPTキャッシュ数の制限の設定 - インタフェース単位での制限
NAPTキャッシュ数の制限の設定には、「インタフェース単位での制限」と「ホスト単位での制限」があります。
「インタフェース単位での制限」は、設定を行ったインタフェース上でのNAPTキャッシュのエントリ数の上限値になります。エントリ数が上限値に達している状態で新たなパケットを受信しても通信は行えません。頻繁にNAPTキャッシュのオーバーフローが発生している場合は仕様範囲内で「インタフェース単位での制限」の値を増やすか、タイムアウトを調整してください。
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt translation max-entries 16384 no shutdown
2.10.2.7. NAPTキャッシュ数の制限の設定 - ホスト単位での制限
「P2Pアプリケーションの使用」「コンピューターウィルスの感染」などで一部のホストが大量にNAPTキャッシュを消費することが原因で、他のホストが通信できなくなってしまうことがあります。これを防ぐにはNAPTキャッシュの「ホスト単位での制限」を行ってください。
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt translation max-entries 16384 ip napt translation max-entries per-address 1000 no shutdown
本設定により、配下のホストごと(一プライベートアドレスごと)に生成可能なNAPTキャッシュ数が1000個となります。インタフェース全体としては16384個までのNAPTキャッシュを生成可能です。
上図では、端末2は既にNAPTキャッシュを1000個生成しているため、オーバーフローが発生しています。その場合でも端末1と端末3はNAPTキャッシュを生成可能です。
2.10.2.8. ヘアピンNATの設定
注意
UNIVERGE IX-V シリーズをクラウドで利用する場合は、ヘアピンNATは利用できません。
ヘアピンNAT機能を有効にすることで、同一プライベートネットワークの端末同士がグローバルアドレスを用いて通信することが可能です。
インタフェースコンフィグモード
項目
説明
ip napt hairpinning
ヘアピンNATの設定
interface GigaEthernet0.0 ip address 10.0.0.1/24 ip napt enable ip napt hairpinning no shutdown
本設定により、プライベートネットワークの端末からNAPTアドレス宛てに送信されたパケットにNAPT変換を適用します。ヘアピンNATを適用するパケットはTCP、UDPとpingのみです。
ヘアピンNATはip napt addressコマンドで指定したアドレス宛のパケットにのみ適用します。ip napt addressコマンドが未設定の場合、インタフェースのプライマリアドレスを使用します。インタフェースのアドレスがアンナンバード設定の場合も使用可能です。
ヘアピンNATは1装置に1インタフェースのみ設定可能です。
注釈
ヘアピンNAT機能では1回の変換あたり2つのNAPTキャッシュを生成します。
1インタフェースに複数のNAPTを設定した環境でのヘアピンNATはサポートしません。
2.10.2.9. NAPT変換テーブルの保持時間
またNAPTの変換情報はトラフィックがなくなっても一定時間保持されます。保持時間を変更するコマンドは以下のとおりです。
インタフェースコンフィグモード
項目
説明
ip napt translation
NAPTキャッシュ最大エントリ数,保持時間設定
保持時間のデフォルトと変更するパラメータは以下のとおりです。
項目
デフォルト
変更するパラメータ
TCP
900秒
tcp-timeout
TCPセッション開始
30秒
syn-timeout
TCPセッション終了後(FINまたはRST片方向受信)60秒
finrst-timeout:第1パラメータ
TCPセッション終了後(FINまたはRST双方向受信)1秒
finrst-timeout:第2パラメータ
UDP
300秒
udp-timeout
DNS
60秒
dns-timeout
ICMP
60秒
icmp-timeout
GRE
60秒
gre-timeout
その他
60秒
other-timeout
2.10.3. 対応アプリケーション
ペイロードにもプライベートアドレスが記載されているなど、特殊な接続を行う通信については、それぞれ専用の変換処理が必要になります。これらの機能をアプリケーション・レベル・ゲートウェイ(ALG)と呼びますが、NAT/NAPTで対応しているALGは以下になります。
FTP(ip napt algコマンドでポート番号を指定できます)
TFTP
ICMP
PPTP
それ以外の特殊なプロトコルに関しては対応していません。
H.323
FTP以外でペイロードにIPv4アドレス情報が含まれるプロトコルなど
その他のヘッダ変換だけでよいプロトコルは対応しています。
Telnet
SSH
SMTP
POP3
NTP
HTTP 等
2.10.4. アクセスログ機能
NAPT環境から外部ネットワークに対して不正アクセスが行われた場合、不正アクセスを行ったユーザーを特定するために、NAPTの変換情報を記録するアクセスログ機能があります。
アクセスログ機能を有効にすることで、NAPTの変換ログを装置内に保存したり、syslogサーバーに送信することができます。
2.10.4.1. アクセスログ機能の設定
アクセスログ機能の設定は、次のコマンドを使用します。
グローバルコンフィグモード
項目
説明
ip napt access-log type ... size ...
アクセスログ機能を設定します。
ip napt access-log access-list
ログに記録する条件を設定します。
ip napt access-log type ... size ... コマンドで、アクセスログに記録する情報のタイプと、装置内の保存領域のサイズを設定します。
タイプには、normal と compact の2種類のタイプがあります。それぞれのタイプで記録される情報と、1エントリのサイズは下記のとおりです。
タイプ
記録される情報
サイズ
normal
送信元IPアドレス
送信元MACアドレス
プロトコル
NAPT変換ポート
送信先アドレス
24 byte
compact
送信元IPアドレス
プロトコル
NAPT変換ポート
送信先アドレス
16 byte
装置内の保存領域のサイズは Mbyte 単位で設定します。なお、アクセスログが大量に発生する環境など、装置内の保存領域ではサイズが不十分な場合は syslog の利用をご検討ください。
アクセスログはNAPT変換情報生成時(通信開始)と、情報削除時(通信終了)のそれぞれのログを記録します。なお、生成時のログがあれば、削除時のログがなくてもアドレス変換後の通信とアドレス変換前の通信を対応付けることは可能です。設定コマンドの末尾に「create-only」を指定することで、生成時のログのみを記録できます。
ip napt access-log type normal size 100ip napt access-log type compact size 32 create-only
アクセスログ機能では、ip napt static、ip napt service の設定に合致するトラフィックは送信元アドレスを特定できるので、ログの記録対象になりません。
またアクセスリストにより、特定のトラフィックのみを記録することも可能です。
TCPの宛先ポート80と443の通信のみを記録(HTTP/HTTPS) ip access-list napt-log permit tcp src any sport any dest any dport eq 80 ip access-list napt-log permit tcp src any sport any dest any dport eq 443 ip napt access-log access-list napt-log
2.10.4.2. アクセスログ機能の表示
アクセスログ機能の確認は、次のコマンドを使用します。
表示コマンド
項目
説明
show ip napt access-log
アクセスログを表示します。
表示コマンドは日時指定が可能です。定期的にログを収集する場合に1日単位や1時間単位でログを表示させることができます。
show ip napt access-log 保存されているすべてのログを表示show ip napt access-log datetime 2023 7 7 2023/7/7 00:00:00~2023/7/7 23:59:59のログを表示show ip napt access-log datetime 2023 7 7 17 2023/7/7 17:00:00~2023/7/7 17:59:59のログを表示show ip napt access-log datetime 2023 7 7 17 50 2023/7/7 17:50:00~2023/7/7 17:50:59のログを表示
2.10.4.3. アクセスログのsyslog送信機能
アクセスログ送信コマンドを利用し、通信負荷の小さい時間帯にsyslogを一定速度で送信することができます。また、アクセスログだけを異なるsyslogサーバーに送信することも可能です(syslog ip hostコマンドのmatch/unmatchコマンドを利用します)。
グローバルコンフィグモード
項目
説明
ip napt access-log send
アクセスログをsyslog送信します。
syslog ip host
送信先と送信内容を指定します。
ip napt access-log sendコマンドで、送信するアクセスログの送信周期および周期あたりの送信量を設定します。送信周期(interval)の単位はミリ秒[ms]で、周期あたりの送信量(count)は、1周期毎に送信する送信パケット数です。送信の停止はnoコマンドで行います。
アクセスログを192.168.0.100のサーバーに送信。 他のsyslogはイベント発生時に192.168.0.101に送信。 syslog function nat warn syslog ip host 192.168.0.100 match nat-access-log syslog ip host 192.168.0.101 unmatch nat-access-log ! ip napt access-log type normal size 32 create-only1ログ/10msの速度で送信。 Router(config)# ip napt access-log send interval 10 count 1
2.10.4.4. 注意事項
アクセスログを時間帯をずらして送信する場合は、NATのログレベルをwarnまたはerrorにしてください。この方式では、syslog rate-limit(送信抑止機能)の影響を受けません。
NATのログレベルをnotice, info, debugレベルに設定した場合は通常のsyslog送信になり、syslog rate-limit(送信抑止機能)の影響を受けます。利用する場合は送信抑止機能の無効化が必要です(no syslog rate-limit notice)。
送信中に送信コマンドを再実行することで、送信周期や送信量を変更できます。今回のみ早く終了させたい場合などに利用してください。送信中にコマンドを再実行しても、最初にコマンドを実行したときに保存されていたログまでしか送信しません。
2.10.4.5. 送信履歴と動作確認
次のコマンドで履歴や動作状況の確認ができます。
表示コマンド
項目
説明
show ip napt access-log send
送信履歴、動作情報を表示
本コマンドで最大10件の送信履歴を参照できます。また、送信中に実行することで、送信完了までの残り時刻を表示します。
なお、残り時刻は目安であり、装置負荷等により完了時刻が遅れる場合があります。
Router(config)# show ip napt access-log send Current: 2023/06/13 18:57:58 - Time remaining: 0:01:36, 330/850 messages History: 2023/06/13 17:22:00 - 2023/06/13 17:22:13, 1290 messages 2023/06/12 17:22:00 - 2023/06/12 17:22:13, 1290 messages
2.10.5. パケット評価フロー
NAT、NAPT機能は、処理の方向により以下の順番で処理します。
NATとNAPTを併用した場合、NATの設定が優先です。ただしNATでもNAPTのキャッシュを生成することがあるので、キャッシュ処理はNAPTを優先します。
説明中、記述は省略しますが、NAT/NAPT変換した場合は必ずキャッシュ生成も行います。
2.10.5.1. 外部ネットワーク向きのパケット評価フロー
以下の順番に処理します。
1. キャッシュ処理 1.1. NAPTキャッシュに該当する場合は、変換して終了 1.2. NATキャッシュに該当する場合は、変換して終了 2. NATが有効の場合は3、無効の場合は4へ 3. NAT処理 3.1. staticNATに該当する場合は、変換して終了 3.2. dynamicNATに該当し変換できる場合は、変換して終了 3.3. dynamicNATに該当し変換できない場合は、廃棄して終了 4. NAPTが有効の場合は5、無効の場合は6へ 5. NAPT処理 5.1. NAPT対象の判定を行い(範囲指定がなければすべて対象)、対象外の場合は6へ 5.2. staticNAPTに該当する場合は、変換して終了 5.3. serviceNAPTに該当する場合は、変換して終了 5.4. NAPT変換できる場合は、変換して処理終了 5.5. NAPT変換できない場合は、廃棄して終了 6. 処理終了(パケット透過)
3.3の「dynamicNATに該当し変換できない場合」は、変換アドレスが枯渇した場合です。
5.5の「NAPT変換できない場合」は、通信が競合しポート変換が必要なときに変換ポートが枯渇している場合です。ポートが存在しないプロトコルで通信が競合した場合も変換できません。
2.10.5.2. 内部ネットワーク向きのパケット評価フロー
以下の順番に処理します。
内部向きでは、staticまたはserviceの設定がないと、外部から通信は開始できません。
1. キャッシュ処理 1.1. NAPTキャッシュに該当する場合は、変換して終了 1.2. NATキャッシュに該当する場合は、変換して終了 2. NATが有効の場合は3、無効の場合は4へ 3. NAT処理 3.1. staticNATに該当する場合は、変換して終了 4. NAPTが有効の場合は5、無効の場合は6へ 5. NAPT処理 5.1. あて先がNAPTアドレスでもNAPTの内部アドレスでもない場合は6へ 5.2. あて先がNAPTの内部アドレス宛ての場合は、廃棄して終了 5.3. staticNAPTに該当する場合は、変換して終了 5.4. serviceNAPTに該当する場合は、変換して終了 5.5. 例外として、内部向けのトンネルパケット(IPsec等)は透過します。 6. 処理終了(パケット透過)
2.10.6. MAP-E(動的IPアドレス)トンネルでのNAPT動作モードについて
注意
UNIVERGE IX-V シリーズでは、MAP-Eは利用できません。
MAP-E(動的IPアドレス)サービスでは、他のIPv4インターネット接続と比べて、サービスの仕様上ルータが使用できる変換ポート数が制限されています。
そのため、UNIVERGE IX-R/IX-V シリーズでは、MAP-E(動的IPアドレス)で動作するトンネルインタフェースであっても多くのNAPTセッションを確立できるよう、NAPTのポート変換ルールを変更しています。
なお、このポート変換ルールはMAP-E(固定IPアドレス)トンネルや、MAP-Eでないインタフェースでは適用されません。
2.10.6.1. 変換ルール
MAP-E(動的IPアドレス)トンネルインタフェースでのNAPTポート変換ルールを以下のように行います。
端末1から端末Aに通信する際、端末1は192.168.0.1、送信元ポート番号50001番(以降、192.168.0.1:50001と表記)から端末A(2.2.2.2:80)へ通信を行うものとします。 このときNAPTインタフェースは、変換空きポートの先頭、ここでは4001番を使用してポート変換を行います。 インターネット側の通信は、1.1.1.1:4001(IX-R)と2.2.2.2:80(端末A)の通信となります。
また、同時に端末1から端末Bに通信する際、端末1は192.168.0.1:50002から端末B(3.3.3.3:80)へ通信を行うものとします。 このときNAPTインタフェースでは、他に端末B(3.3.3.3:80)へポート変換しているNAPTセッションが存在しない場合は、同様に変換ポートとして4001番を使用してポート変換を行います。 インターネット側の通信は、1.1.1.1:4001(IX-R)と3.3.3.3:80(端末B)の通信となります。
上記のように、通信先のIPアドレスおよびポート番号が異なっているセッション同士の場合はUNIVERGE IX-R/IX-V シリーズでは同一のポート番号にポート変換を行います。 これにより、サービス側で変換ポート数が制限されているMAP-E(動的IPアドレス)でも変換ポート数以上のNAPTセッションを確立することができます。
一方、複数のセッションを同一端末A(IPアドレス・ポート番号)へ確立した場合は、先に通信を開始した端末1から端末Aへの通信のポート変換は4001番で行いますが、後から通信を開始した端末2から端末Aへの通信のポート変換は、次の空きポートである4002番で行います。
インターネット側からの通信に対してNAPTインタフェースでポート変換前のIPアドレス・ポート番号への変換は、インターネット側の変換後IPアドレス・ポート(Outside)と接続先アドレス(Dest)の組から変換を行っているため、これらの2つが装置内で一意である必要があり、接続先アドレス(Dest)が同一の場合は上記のように異なるポート番号でポート変換を行っています。
ただし、MAP-E(動的IPアドレス)インタフェースで行っているポート変換ルールの場合、以下のようなP2P通信などで発生するポートパンチングを行う通信ができません。このような通信が発生する環境では、EIMモードNAPTをご利用ください。
インターネット側からの通信に対するNAPTはインターネット側の変換後IPアドレス・ポート(Outside)と接続先アドレス(Dest)の組から変換を行いますが、端末1は端末Bに対して通信を開始していないため、該当の変換情報(NAPTキャッシュ)が存在せず、端末Bからの通信をポート変換することができません。
2.10.6.2. EIMモードNAPT
MAP-E(動的IPアドレス)でのNAPT変換ルールの場合、上記のとおりP2P通信などで影響が発生する場合があります。
この場合、EIM(Endpoint independent Mapping)モードNAPTを使用することでポートパンチングを行う通信が可能になります。
以下に動作概要を説明します。
インタフェースコンフィグモード
項目
説明
ip napt eim-mode
EIMモードNAPTの有効化設定
EIMモードNAPTの場合は、インターネット側からの通信に対してNAPTインタフェースでポート変換前のIPアドレス・ポート番号への変換は、変換前IPアドレス・ポート(Inside)と変換後IPアドレス・ポート(Outside)と接続先アドレス(Dest)の組から変換を行います。
つまり、接続先(Dest)に関係なくNAPT変換前側の通信が発生すると、その通信に対応したポート番号を1つ消費します。
ただし、同じ変換前IPアドレス・ポート(Inside)から異なる接続先(Dest)への通信は同じポート番号で変換を行います。(Endpoint independent Mapping)
また、EIMモードNAPTはインターネット側からの通信に対して変換後IPアドレス・ポート(Outside)のみを使用して、変換前IPアドレス・ポート(Inside)へ変換を行うため、EIF(Endpoint Independent Filtering)となります。
EIMモードNAPTは変換前アドレス・ポートからの通信ごとに1つのポート番号を消費するため、MAP-E(動的IP)インタフェースで使用する場合は基本的にセッション数の上限はTCP・UDPでそれぞれサービスで定められた使用可能ポート数と同等になります。
なお、UDPのみEIMモードNAPTを動作させることができます。
EIMモードNAPTによるポートパンチングを行う通信でのUNIVERGE IX-R/IX-V シリーズの動作は以下のようになります。
端末Bは1.1.1.1:4001宛に通信を行います。このとき、NAPTインタフェースでは端末Aとの通信開始時に192.168.0.1:50001からの通信で変換ポート4001番を割り当てているため、EIF動作により、1.1.1.1:4001宛の通信は対向の端末に関係なくすべて端末1(192.168.0.1:50001)にポート変換されます。 これにより端末Bから端末1への通信を開始することができます。
2.10.6.3. EIMモードNAPTの注意事項
EIMモードNAPTは外部からの通信に対して透過性の高いNAPTとなっていますので、必要に応じて端末へのセキュリティ対策を推奨いたします。
IPv4ダイナミックフィルタを併用した場合、ダイナミックフィルタはEIFの動作に対応しておりませんので、NAPTインタフェース外からの通信は廃棄されます。