Cisco IOS Network Address Translation(NAT)

アプリケーション レイヤ ゲートウェイと変換タイプのサポート

ホワイトペーパー





アプリケーション レイヤ ゲートウェイと変換タイプのサポート



Cisco IOS® のネットワーク アドレス変換(NAT)では、アプリケーション データ ストリームで送信元 IP アドレスや宛先 IP アドレスを搬送しない TCP/UDP トラフィック(http、TFTP、Telnet、archie、finger、NTP、NFS、rlogin、rsh、rcp)で変換サービスが実行されます。

ペイロードに IP アドレスの情報を埋め込む特定のプロトコルには、アプリケーション レベル ゲートウェイ(ALG)のサポートが必要です。表 1 で、Cisco IOS ソフトウェアでの ALG のサポートについて説明します。

最新情報


  • Distributed Defect Tracking System(DDTS)CSCed93887:ポート アドレス変換(PAT)の IP アドレスごとに 64,000 の IPsec NAT-T UDP セッション
  • Cisco IOS ソフトウェア リリース 12.3(08)XW、12.3(08)T01、12.3(09.10)、および 12.3(09.10)T で利用可能

表 1 IPv4 用の NAT:ALG のサポート

サポートされているプロトコルと
アプリケーション
備考
ICMP(インターネット制御メッセージ プロトコル) ICMP および内部アドレス スキームの PAT/オーバーロード
ICMP トラフィックにポート アドレス変換(PAT)が行われる際に、ポートに通し番号が関連付けられます。以下は、送信元から宛先への連続した ping のトラフィックの場合の移行テーブルの例です。
icmp w:0 x:0 y:0 z:0
icmp w:1 x:1 y:1 z:1
... 
... 
icmp w:65535 x:65535 y:65535 x:65535
さらにトラフィックが続く場合は、ICMP の通し番号は繰り返されて 0 から始まります。そのため、この送信元から宛先へのトラフィックについては NAT で新しい変換は作成されません。
FTP PORT および PASV コマンド  
NetBIOS over TCP/IP(データグラム サービス、ネーム サービス、およびセッション サービス)  
Progressive Networks 社の RealAudio4  
White Pine 社の CU-SeeMe  
Xing Technology 社の StreamWorks  
DNS の「A」および「PTR」のクエリ  
NetMeeting 2.1、2.11(4.3.2519)および 3.01(4.4.3385)
  • H.323v2オフ サイト に対応:NetMeeting v.2.x および v3.x
  • H.323v1 に対応:NetMeeting v2.x - Cisco IOS ソフトウェア リリース 12.0(1) および 12.0(1)T
  • H.323v2 に対応:NetMeeting v3.x - Cisco IOS ソフトウェア リリース 12.0(7)T
NetMeeting ディレクトリ(Internet Locator Server)
  • リリース 12.1(5)T
  • NM のユーザが中央集中型の NM ディレクトリに登録でき、その NM ディレクトリを使用して他のユーザを検索できるようにする、拡張された LDAPv2 の実装を使用するメッセージのセット
H.323v2オフ サイト - H.225/245 メッセージ タイプ(RAS を除く)
  • リリース 12.1(5)T
  • FastConnect、Setup、Alerting、Facility、Progress、OpenLogicalChannel、OpenLogicalChannelAck、MCLocationIndication、CommunicationModeCommand、CommunicationModeResponse を含む
H.323v2 RAS
  • リリース 12.2(2)T
v2 互換モードでの H.323v3 および v4 リリース 12.3(2)T
  • v3 および v4 に対応したデバイスが v2 モードで正常に動作可能に
  • v3 または v4 で導入された新しい H.323 メッセージはサポートされない
  • 以下に対応可能
    • 1 つの IP パケット内の複数のメッセージ
    • TPKT ヘッダーと TPKT データが別の IP パケットにある場合
    • H323-ALG の処理の後にパケット長が変更される場合
Session Initiation Protocol(SIP) オフ サイト
  • リリース 12.2(8)T
シスコの Skinny Client Control Protocol(SCCP)
  • リリース 12.1(5)T
    • Cisco IP Phone と Cisco Call Manager の間で使用されるプロトコル
    • デフォルトのポートとは別のポートを、CCM によって skinny メッセージのリスニングが行われるポートとして指定するには、グローバル コンフィギュレーション モードで次のコマンドを使用
      Router(config)# ip nat service skinny tcp port number
    • CCM に対する SCCP クライアントのフローは、通常、「内側」から「外側」へ向かうので、Cisco Call Manager(CCM)が(NAT デバイスの)「内側」にある場合は、接続する CCM の IP アドレスの解決に DNS を使用する必要がある
    • Cisco IOS の NAT は、DNS の A および PTR のレコードの変換をサポート
Real Time Streaming Protocol(RTSP) リリース 12.3(7)T
  • 新しい Common Name Based Application Recognition(CNBAR)のサポートを利用できる最初の ALG
  • QuickTime、RealAudio G2、Microsoft Windows Media テクノロジー(WMT)、および Cisco IPTV(これらのすべてで RTSPオフ サイト が利用されます)のサポートが可能に
VDOLive
  • リリース 11.3(4) および 11.3(4)T
VXtreme
  • リリース 11.3(4) および 11.3(4)T
IP マルチキャスト
  • リリース 12.0(1)T
  • 送信元アドレスの変換のみ
PPTP のサポート
  • リリース 12.1(2)T 3
  • PAT の設定のサポートを追加
    • 1-1 NAT 変換はすでにサポート済み
  • 同じ PAT の IP アドレスを使用して各 PPTP セッションを一意に識別するために、PPTP ヘッダー内の Call Id フィールドが NAT の変換エントリに含まれる
MPLS VPN(VRF 対応 NAT) - フェーズ 1
  • リリース 12.2(13)T
  • MPLS のペリフェラル エッジ(PE)のデバイスで MPLS とあわせて設定された NAT では、VRF Table Id が NAT の変換エントリの一部として含まれる
  • VRF Table Id によって、MPLS VPN の設計でよく発生する、重複した IP アドレスを NAT で識別できる
  • NAT で通常どおりに変換が行われる
  • この最初のリリースでは、同じ PE での VRF から VRF への変換はフェーズ 1 でサポートされない
  • 同じ PE での VRF から VRF への変換は、リリース 12.3(6th)T で実現される予定
ステートフル NAT のフェールオーバー - フェーズ 1
  • リリース 12.2(13)T
  • フェーズ 1 の実装
    • 2 台の NAT ルータ(メインとバックアップの役割)
    • バックアップ用の NAT ルータでは NAT 変換は行われないが、メインの NAT ルータに障害が発生した場合は自動的に引き継がれる
    • 外部の変換のみのフェールオーバー
    • ダイナミック変換は、メインの NAT ルータでの作成や削除に応じてバックアップ用の NAT ルータで更新される
    • 非対称ルーティングはサポートされない。アクティブ パスを使用する必要がある
    • 簡易変換のみ(ヘッダーの変換)で、このフェーズでは ALG の変換はサポートされない
ステートフル NAT のフェールオーバー - フェーズ 2 リリース 12.3(7)T
  • フェーズ 2 の実装 - フェーズ 1 の機能に新たに追加
    • すべての変換タイプをサポート
    • 非対称(外側から内側へ)
  • FTP、H225、H245、PPTP/GRE、NetMeeting ディレクトリ(ILS)、RAS、SIP(TCP ベースおよび UDP ベースの両方)、Skinny、TFTP などの ALG のサポートを含む
ポート アドレス変換(PAT)の設定での 1 つの IPsec ESP モード トンネル
  • リリース 12.2(1.4) メインライン
  • DDTS CSCdu28439
  • 同時に 1 つの IPsec ESP モード トンネル、リリース 12.2(13)T での PAT の設定で同時に複数の IPsec トンネルのサポートを追加する前の最初のステップ
  • この変換から生成される新しい拡張エントリ
  • トラフィックは「内側」から生成される必要がある
  • 新しい CLI
[no]ip nat inside source static esp <IL address> interface <Interface name>
ポート アドレス変換(PAT)の設定での複数の IPsec ESP モード トンネル
  • リリース 12.2(13)T
  • PAT/オーバーロードの設定で複数の IPsec ESP モード トンネルのサポートが可能
  • NAT-T(UDP ラッピング)をサポートしていない IPsec ピア向け
SPI のマッチング - 複数の IPsec ESP モード トンネル リリース 12.2(15)T
  • SPI は、エンドポイントのいずれか 1 つと中間機器によって生成されます(NAT と同様)。SPI の修正は想定されておらず、修正された場合は他のエンドポイントによってセッションが拒否されます。異なるエンドポイントで生成された SPI は同じではなく、中間機器には相互関係を示す方法がありません。そのため、複数のクライアントから NAT を利用するには、フローのシリアル化が必要です。つまり、1 つ目の応答があってから 2 つ目が通された場合のみ、SPI のマッチングが実現されます。
PAT の IP アドレスごとに 64,000 の IPsec NAT-T セッション - 新たな修正 CSCed93887
  • リリース 12.3(08)XW、12.3(08)T01、12.3(09.10)、および 12.3(09.10)T
  • 新しい設定オプション:ip nat service fullrange udp port 500
  • この修正が行われる前に Cisco IOS の PAT の設定で可能だった、NAT-T UDP ラッパーを使用した同時の IPsec VPN セッションは、最大で 511
  • この修正により、IP アドレスごとに 64,000 のポートをすべて使用可能


表 2 NetMeeting

1 NetMeeting 2.10(4.3.2206)は、12.0(1)/12.0(1)T および 12.1/12.1T(DDTS CSCdr01843)でサポートされます。
NetMeeting 2.11(4.3.2519)は、12.0/12.0T(DDTS CSCdr36191)および 12.1/12.1T(DDTS CSCdr01843)でサポートされます。
NetMeeting 3.01(4.4.3385)は、12.1/12.1T(DDTS CSCdr36191)でサポートされます。
NetMeeting 3.00 はサポートされていません。最新バージョンの NetMeeting(現在は 3.01-4.4.3385)へのアップグレードが推奨されます。
2 NetMeeting の次の機能はサポートされていません。
NetMeeting での、データ コールのセキュリティのサポート
すべてのハードウェアで、NAT で Microsoft の NetMeeting アプリケーションをサポートするには、「J」または「O」のイメージの、それぞれ、エンタープライズ フィーチャ セットまたは Cisco IOS Firewall フィーチャ セットが必要です。
3 NAT では、PPTP セッションでのペイロードの暗号化のみがサポートされます。オーバーロード(ポート アドレス変換)の設定が正常に機能するように、GRE 制御のフローを暗号化しないでください。
4 Progressive Networks 社の RealAudio のサポートは、同社の PNA(Progressive Networks Audio)のクライアント/サーバ プロトコルのサポートによって実現されます。現時点では、RTSP(Real Time Streaming Protocol)のサポートは含まれません。


表 3 IPv4 用のネットワーク アドレス変換(NAT)の変換タイプと一般的な機能

スタティック
  • IP アドレス プールは連続している場合と連続していない場合がある
  • 次のように、送信元アドレスのレベルでの設定と、送信元アドレスおよびポートのレベルでの設定が可能
  • ip nat inside source static 192.168.10.1 171.69.232.209 
    ip nat inside source static tcp 192.168.10.1 25 171.69.232.209 25 
  • ネットワーク スタティックにより、同じ「ホスト」のアドレスをマッピング
  • ip nat inside source {static {network local-network global-network mask} 
    [extendable] [no-alias] [no-payload]
ダイナミック
  • 「内側」または「外側」のトラフィックに適用可能
  • セッションが NAT の設定に一致すると、アドレス変換で適切なプールから動的にアドレスが選択される
  • IP アドレス プールは連続している場合と連続していない場合がある
ポート アドレス変換(PAT)
  • すべての NAT イメージで PAT の機能を利用可能
  • 1 つまたは複数の IP アドレスでユーザと IP セッションを多重化
  • オーバーロードの入力に 1 つまたは複数の IP アドレスを使用可能
  • 一意の送信元ポートを利用して、内側のユーザを一意に識別
  • 理論的には 65535 個の送信元ポートを利用可能だが、Cisco IOS の NAT で把握されるアプリケーションおよびプロトコルのための既知の特定のポートは除外される
  • PAT でプールが使用される場合は IP アドレスをスタティックに設定できるが、PPP または DHCP で動的に設定された IP アドレスが使用される場合がほとんどで、この場合は、インターフェイス名を使用するために NAT が設定される
双方向(オーバーラップ)NAT
  • どちらか一方に DNS が必要
  • 双方で同じアドレッシング スキームを使用するネットワークの相互接続を実現
  • Cisco IOS の NAT では、DNS の A および PTR のレコード タイプの変換をサポート
ルート マップを使用する、宛先を基にした NAT の実行
  • ダイナミック変換のコマンドで、アクセス リストの代わりに処理するルート マップを指定できるようになりました。ルート マップを使用すると、アクセス リスト、ネクストホップ IP アドレス、および出力インターフェイスの任意の組み合せを照合して、どのプールを使用するかを決定できます。
    http://www.cisco.com/cisco/web/support/JP/102/1021/1021774_nat_routemap-j.html
ルート マップと 1-1 スタティック NAT 変換
  • リリース 12.2(4)T
  • DDTS CSCdr52161
  • スタティック アドレス変換での NAT マルチホーミング機能が利用可能に
  • 以前は、Cisco IOS の NAT で、ルート マップとダイナミック アドレス プールの設定によるマルチホーミングをサポート
  • スタティック NAT ステートメントでは次のような設定は受け入れらない
ip nat inside source static route-map XXX <ip-address>
内側の宛先の NAT の実行
  • 複数の「内側」のサーバへの TCP セッションのロード バランシング
  • PAT(オーバーロード)のシナリオで設定されている場合にのみ利用可能
プール アドレスのオートエイリアシング 多くのお客様は、ローカル アドレスを、接続されているサブネットの使用されていないアドレスから割り当てたグローバル アドレスに変換するように、Cisco IOS の NAT を設定することを望んでいます。これには、グローバル アドレス宛のパケットがルータで受け入れられて変換されるように、ルータがそれらのアドレスの ARP 要求に応答することが必要です (何にも接続されていない仮想ネットワークからグローバル アドレスが割り当てられている場合、ルーティングによってこのパケットの配信が行われます)。
NAT プールが内部のグローバルまたは外部のローカルとして使用される場合、そのプールは接続されているサブネットのアドレスで構成され、ルータがそれらのアドレスの ARP に応答するように、ソフトウェアによってそのアドレスのエイリアスが生成されます。
この自動エイリアシングは、スタティック エントリの内部のグローバル アドレスや外部のローカル アドレスにも行われます。次のように、「no-alias」のキーワードを使用すると、スタティック エントリに対してエイリアシングを無効にすることができます。
ip nat inside source static <local-ip-address> <global-ip-address> no-alias
NAT MIB リリース 12.2(13)T
  • シスコがドラフトの作成に参加
  • 以下についての情報を提供
  • NAT の設定
  • NAT タイマーの設定
  • プールの設定
  • 変換テーブルの詳細
  • ネットワーク アドレス変換(NAT)の管理対象オブジェクトの定義
    http://www.ietf.org/rfc/rfc4008.txtオフ サイト
ホスト番号の保持 ネットワーク管理を簡素化するために、一部のサイトでは、アドレスではなくプレフィクスの変換が望まれます。つまり、変換されたアドレスが元のアドレスと同じホスト番号を持つことが望まれます。当然、2 つのプレフィクスは同じ長さである必要があります。ダイナミック変換を通常どおり設定し、アドレス プールを「match-host」というタイプで設定することで、この機能を有効にできます。
ip nat pool fred <start> <end> prefix-length <len> type match-host
変換エントリの制限
  • 利用できる NAT の変換エントリの最大数を指定可能
  • ルータ内でのグローバルからの NAT
NAT 変換のレート制限
  • リリース 12.3(4)T
  • 注:この拡張機能の「All-hosts」のコンポーネントは、リリース12.3T の CSCec16330 で利用できます。
  • この拡張機能によって、各 NAT ルータ内で NAT のレート制限の階層を設定できます。
    • ルータの同時変換の最大数
    • 各 MPLS VPN に適用される同時変換の最大数(ルータが MPLS ネットワークの一部であることが前提)
    • 個別の MPLS VPN の同時変換の最大数(ルータが MPLS ネットワークの一部であることが前提)
    • ACL に適用される同時変換の最大数
      • 特定のサブネットに関して ACL が作成され、この最大数が特定のプレフィクス リストに適用される場合があります。
      • ルータに設定されている複数の ACL にレート制限を適用できます。
    • ルータを通過するすべての IP ホスト(All-hosts)に適用される同時変換の最大数
    • 個別の IP ホストの同時変換の最大数。特定の IP ホストに設定されている場合、この値は「All-hosts」の最大数よりも優先されます。
NAT タイマー
  • ポート変換が設定される場合は、ポート変換を使用するトラフィックに関するより多くのコンテキストが各エントリに含まれるので、これに対応するために、変換エントリのタイムアウトに対する詳細な制御が可能
  • 非 DNS UDP 変換のタイムアウトは 5 分後
  • DNS のタイムアウトは 1 分後
  • ストリーム上に RST または FIN が検出されない場合、TCP 変換のタイムアウトは 24 時間後(検出された場合のタイムアウトは 1 分後)
  • ICMP フローのデフォルトは 1 分(拡張変換エントリで利用可能)
  • 同期(SYN)のデフォルトは 1 分(拡張変換で利用可能)
    ip nat translation udp-timeout seconds
    ip nat translation dns-timeout seconds
    ip nat translation tcp-timeout seconds
    ip nat translation finrst-timeout seconds
    ip nat translation icmp-timeout seconds
    ip nat translation syn-timeout seconds
    
NAT 変換の Syslog への書き込み
  • リリース 12.2(1.4)
  • DDTS CSCdp81712
  • 作成および削除が行われたすべての NAT 変換の、Syslog へのロギングを有効または無効にする新しい NAT CLI コマンド
    [no] ip nat log translations syslog
    必要な syslog コマンド(サーバの IP アドレスなど)を指定してください。コンソールにメッセージを表示しない場合は、「no logging console」を設定してください。これによって、Syslog サーバのみで情報のロギングが行われるようにすることができます。
    ロギングが行われる NAT の情報の形式は次のようになります(たとえば、NAT オーバーロードの設定での ICMP Ping の場合)。
    Apr 25 11:51:29 [10.0.19.182.204.28] 1: 00:01:13: NAT:Created icmp 135.135.5.2:7 
    171 12.106.151.30:7171 54.45.54.45:7171 54.45.54.45:7171
    Apr 25 11:52:31 [10.0.19.182.204.28] 8: 00:02:15: NAT:Deleted icmp 135.135.5.2:7 
    172 12.106.151.30:7172 54.45.54.45:7172 54.45.54.45:7172
    
    これによる機能的な変更はありません。NAT 変換のロギングは syslog コマンドで有効/無効にすることができます。
HSRP でのスタティック NAT サポート
  • リリース 12.2(2)T
  • DDTS CSCdt23430
  • NAT で変換されたアドレスの ARP エントリを「トリガー」するときは、ARP が使用するインターフェイスで HSRP が設定されている場合、NAT で HSRP 仮想 MAC アドレスが使用される必要があります。これによって、アクティブ HSRP ルータに障害が発生して切り替えが行われた場合に、アップストリームのデバイスが新しい HSRP アクティブ ルータを使用するようになります。ARP エントリは、利用できなくなっている可能性がある元のアクティブ ルータを使用しません。
    • これらの 2 台以上の HSRP ルータで NAT のミラーリングが行われていることが前提
    • HSRP グループの NAT が実行されているこれらのルータ間で、NAT の状態のやり取りは行われない
NAT でのヘッダーのみの変換
  • リリース 12.2(4)T
  • DDTS CSCds57685
  • 変換ルールを外部の IP アドレスとポートのみに適用するように Cisco IOS の NAT を設定し、ペイロードに埋め込まれていてプロトコルによってネゴシエーションが行われるすべての IP アドレスとポートを無視
  • ルータでのグローバルからの NAT は、ALG ごとに設定することはできない
シスコ エクスプレス フォワーディングと外部の変換 宛先アドレスに隣接関係がない場合、シスコ エクスプレス フォワーディングによって ARP のプロセス スイッチングにパントされます。「外部」のマッピングは内部から外部へのパケットの変換可能なアドレスで、宛先アドレスの ARP なので、隣接関係は書き込まれません。
このため、シスコ エクスプレス フォワーディングで、パケットやプロセス スイッチングにパントされたものはほとんどドロップされません。これに対する回避策は次のとおりです。
  • outside source static で「add_route」を設定する
  • スタティック ルート/default-network のインターフェイスの代わりにネクストホップを使用する
注:「add_route」コマンドは、ネットワーク シナリオのオーバーラップには推奨されません。
パフォーマンスの強化
  • リリース 12.3(4)T
  • Cisco IOS ソフトウェア内の NAT 機能の総合的なパフォーマンスの向上を目的としたさまざまな機能拡張
    • CPU の利用の最適化 - CPU の利用率の向上は容易ではない
            NAT で検査されるトラフィックの IP タイプによって異なる
            特定のハードウェアが問題になっている
            ルータ内のアクティブな他の機能
    • NAT を使用する場合のスループットの向上
  • 具体的には、次のような機能拡張が行われています。
    • シスコ エクスプレス フォワーディングのサポート
            TCP フラグ - SYN、FIN、および RST がシスコ エクスプレス フォワーディングで処理されるように
            シスコ エクスプレス フォワーディングのパス内での変換エントリの作成
    • 変換テーブルの最適化
            変換の作成と検索の向上
            プールおよびポート リストの最適化
    • 断片化したパケットのサポート
スタティック IP が設定されたユーザ
  • リリース 12.3(7)T:NAT - スタティック IP のサポート [英語]
  • デバイスの再設定を行わずに、スタティック IP のユーザを NAT プールからの IP アドレスに自動的にマッピングすることが可能
  • この拡張機能は、主に、IP モビリティ(IP ローミング)に関わる市場向け。そういった市場では、動的な IP アドレスの取得のために DHCP を使用していないユーザがいる可能性がある
  • スタティック IP アドレスが設定されているユーザが、公共の WLAN の「ホットスポット」へのローミングを行い、ネットワークに接続して、利用することが可能
  • それぞれのスタティック IP のユーザを設定するための要件はない
  • NAT のダイナミック IP アドレス プールを使用して、ルーティングが可能な IP アドレスを割り当てることが可能
  • 同じルータに接続している、重複したスタティック IP のユーザはサポートされない
  • 有効になっている場合は、NAT はスタティック IP のユーザからの一連のイベントによってトリガーされ、スタティック IP のユーザが接続を行うことができるように ARP と連動
  • NAT で、グローバル/ルーティング可能な IP アドレスがスタティック IP のユーザに提供され、外部からクライアントへの到達可能性が確保される
    • NAT で、スタティック IP の各ユーザの変換エントリが作成される
    • NAT が ARP と連動して、このユーザの ARP エントリを書き込む
    • この ARP エントリは「ロック」され、NAT による削除(関連付けられている NAT の変換エントリが削除された場合)以外では変更されない
図 1 スタティック IP:NAT と ARP の連動



お問い合わせ