Cisco Unified Border Element(SP Edition)コンフィギュレーション ガイド:統合モデル
ファイアウォール トラバーサルおよび NAT の実装
ファイアウォール トラバーサルおよび NAT の実装
発行日;2012/07/12 | 英語版ドキュメント(2012/03/30 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 7MB) | フィードバック

目次

ファイアウォール トラバーサルおよび NAT の実装

内容

ファイアウォールトラバーサルおよび NAT の実装の前提条件

ファイアウォール トラバーサルおよび NAT に関する情報

ファイアウォール トラバーサル

NAT の機能

NAT の自動検出

NAT の自動検出に関する制約事項

Auto NAT のディセーブル化

ファイアウォール トラバーサルおよび NAT の実装

ファイアウォール トラバーサルおよび NAT の実装の設定例

ファイアウォール トラバーサルおよび NAT の実装

Cisco Unified Border Element(SP Edition)では、Voice over IP(VoIP)シグナリングとメディアを隣接ネットワークの境界にあるファイアウォールと Network Address Translator(NAT)の背後のデバイスから受信したり、デバイスに誘導したりできます。デバイスまたはファイアウォールをアップグレードする必要はありません。つまり、Cisco Unified Border Element(SP Edition)は、コール シグナリング ヘッダー内の IP アドレスとポート、およびこれらのメッセージに付加された Session Description Protocol(SDP; セッション記述プロトコル)ブロックを書き換えることにより、この処理を行います。Cisco Unified Border Element(SP Edition)は、ピンホールを開いた状態に保つオプションをサポートしていません。その代わりに、Cisco Unified Border Element(SP Edition)は、シグナリング ピンホール メンテナンスのメッセージとメディアの Real-Time Protocol(RTP)パケットを登録します。

Cisco Unified Border Element(SP Edition)は、対称応答ルーティングのための Session Initiation Protocol(SIP; セッション開始プロトコル)拡張子(RFC 3581)をサポートしています。現在、Cisco IOS Release 2.4 以前の H.323 はサポートしていません。


) Cisco IOS XE Release 2.4 では、統合モデルと分散モデルの両方でこの機能をサポートしています。


Cisco Unified Border Element(SP Edition)は、以前は Integrated Session Border Controller と呼ばれており、このマニュアルでは通常 Session Border Controller(SBC; セッション ボーダー コントローラ)と呼びます。

本章で使用されているコマンドの詳細な説明については、次の場所にある『 Cisco Unified Border Element (SP Edition) Command Reference: Unified Model 』を参照してください。

http://www.cisco.com/en/US/docs/ios/sbc/command/reference/sbcu_book.html

すべての Cisco IOS コマンドの詳細については、http://tools.cisco.com/Support/CLILookup にある Command Lookup Tool を使用するか、Cisco IOS マスター コマンド リストを参照してください。

ファイアウォール トラバーサルおよび NAT の実装の機能履歴

 

リリース
変更内容

Cisco IOS XE Release 2.4

この機能は、統合モデルのサポートとともに、Cisco IOS XRに追加されました。

ファイアウォールトラバーサルおよび NAT の実装の前提条件

次に、ファイアウォール トラバーサルおよび NAT を実装するための前提条件を示します。

ファイアウォール トラバーサルおよび NAT を実装するには、事前に Cisco Unified Border Element(SP Edition)を設定している必要があります。

隣接は、ファイアウォール トラバーサルおよび NAT を実装してから設定する必要があります。 「Cisco Unified Border Element(SP Edition)での隣接の実装」 の手順を参照してください。

ファイアウォール トラバーサルおよび NAT に関する情報

ファイアウォール トラバーサル

Cisco Unified Border Element(SP Edition)では、VoIP シグナリングとメディアを隣接ネットワークの境界にあるファイアウォールと Network Address Translator(NAT)の背後のデバイスから受信したり、デバイスに誘導したりできます。デバイスまたはファイアウォールをアップグレードする必要はありません。Cisco Unified Border Element(SP Edition)は、コール シグナリング ヘッダー内の IP アドレスとポート、およびこれらのメッセージに付加された SDP ブロックを書き換えることにより、この処理を行います。

ファイアウォールは、基本的なパケット フィルタリングを行うことにより、不要なトラフィックがネットワークに出入りするのを防ぎます。主にパケットのヘッダーを検査することによってパケットのフィルタリングを行い、パケットのペイロードの解析や認識を行いません。したがって、すべてのタイプの不要なトラフィックをフィルタリングするわけではありません。たとえば、ファイアウォールは Call Admission Control(CAC; コール アドミッション制御)を行いません(Cisco Unified Border Element [SP Edition] アプリケーションが行う)。

しかし、ファイアウォールは、大きなカテゴリの不要なトラフィックを効率的にフィルタリングし、SBC などのアプリケーション認識デバイスに処理をほとんど任せないため、有益です。外部ファイアウォールは、外部ネットワークからのパケットをフィルタリングしますが、内部ネットワークからのすべてのパケットがフィルタリングされずにパススルーします。内部ファイアウォールは、内部ネットワークからのパケットをフィルタリングしますが、外部ネットワークからのすべてのパケットがフィルタリングされずにパススルーします(すでに外部ファイアウォールでパススルーしているため)。

ファイアウォールは、デフォルトではネットワークからのパケットを受け入れませんが、特定のパケットを選択して受け入れるようにするルールが設定されます。したがって、パケットは、デフォルト設定ではなく、明示的な設定に基づいてネットワークへの出入りを許可されます。

NAT の機能

Cisco Unified Border Element(SP Edition)アプリケーションには、NAT 機能も組み込まれています。デフォルトで、SBC は NAT デバイスの背後にエンドポイントがあるかどうかを自動的に検出できるようになりました。NAT はネットワークを異なるアドレス スペースに分離します。SBC の NAT コンポーネントは、内部ネットワークのアドレス スペースを外部ネットワークのアドレス スペースから分離します。NAT は、{external address, port} から {internal address, port} へのマッピングおよびその逆のマッピングのテーブルを維持します。このテーブルはデュアル インデックス テーブルであるため、特定のマッピングは、内部または外部のアドレス指定情報により検索できます。NAT はこのテーブルを使用して、転送する IP パケットのヘッダーを書き換えます。

NAT は、外部ネットワークから IP パケットを受信すると、テーブル内でパケットの宛先アドレスとポート(外部アドレス スペースからのアドレスになる)を検索します。マッピングが検出された場合、IP パケットの宛先アドレス ヘッダーは、テーブルからの対応する内部アドレスおよびポートを含むように変更され、パケットは内部ネットワークに転送されます。マッピングが検出されない場合、パケットは廃棄されます。

NAT は、内部ネットワークから IP パケットを受信すると、テーブル内でパケットの送信元アドレスとポート(内部アドレス スペースからのアドレスになる)を検索します。マッピングが検出された場合、IP パケットの送信元アドレス ヘッダーは、テーブルからの対応する外部アドレスおよびポートを含むように変更され、パケットは外部ネットワークに転送されます。マッピングが検出されない場合、新しいマッピングが作成されます。NAT は、外部アドレス スペースからの新しい外部アドレスおよびポートを、パケット(およびこの送信元アドレスおよびポート タプルからのすべての将来のパケット)に動的に割り当てます。

Cisco Unified Border Element(SP Edition)は、ピンホールを開いた状態に保つオプションをサポートしていません。その代わりに、Cisco Unified Border Element(SP Edition)は、シグナリング ピンホール メンテナンスのメッセージとメディアの RTP パケットを登録します。この問題を解決するには、カスタマーの NAT がピンホールを開き、IP Phone がシグナリング パケットおよびメディア パケットをパブリック ネットワークに送信できるようにし、カスタマーのファイアウォールがこれらのパケットを通過させる必要があります。

したがって、パブリック ネットワークからのインバウンド シグナリングおよびメディアは、カスタマーの NAT のパブリック ネットワーク側にあるピンホールのアドレスとポートに誘導することにより、カスタマーのファイアウォールと NAT をトラバースすることができます。シグナリングとメディアでは、ピンホールのライフタイムが異なります。

シグナリング ピンホールは、いったん作成されると、すべてのコール シグナリングで再利用されます。

メディア ピンホールは、メディア ストリームの送信元および宛先ポートがコール単位で動的に割り当てられるため、各メディア ストリームに対して新しく作成されます。

シグナリング ピンホールは、IP Phone が最初にオンラインになったときに完全に作成され、IP Phone が再びオフラインになるまで開いています。メディア ピンホールは、SIP の INVITE メッセージが SBC に到達したときに作成されます。

NAT の自動検出

デフォルトで、SBC はエンドポイントが NAT デバイスの背後にあるかどうかを自動的に検出します。SBC に NAT の「自動検出」が設定されていると、SBC は受信する要求ごとにそのエンドポイントで NAT が使用されているかどうかを判別します。NAT が使用されていることを SBC が確認した場合、その要求のバインディングを格納し、応答の送信時に使用します。また、それに続く Out-of-dialog 要求および Dialog-forming 要求に対する REGISTER 要求のバインディングを格納し、再使用します。

UNI 側の隣接では、NAT の自動検出(Auto NAT)が推奨されています。NNI 側の隣接では、Auto NAT をオフにすることが推奨されています。

NAT の自動検出に関する制約事項

SBC は、Via ヘッダーの冒頭と、メッセージのリモート アドレスおよびポートとを比較することによってだけ NAT の自動検出ができます。

Via ヘッダーの冒頭に IP アドレスでなくドメイン名が含まれている場合は、NAT が使用されているかどうかの自動検出ができません。この場合、SBC は NAT が使用されていると想定します。

NAT の自動検出は、受信する INVITE メッセージや REGISTER メッセージなど、Out-of-dialog 要求または Dialog-forming 要求に対してだけ適用されます。

Auto NAT のディセーブル化

デフォルトでは NAT の自動検出はイネーブルになっています。ただし、nat force-off コマンドを使用して、NAT デバイスの背後にエンドポイントがないと想定するように隣接を設定できます。

nat コマンドの構文は次のとおりです。

nat {force-on | force-off}

次の 2 種類のオプションのいずれかで「no」形式を使用すると、デフォルトの Auto NAT が設定されます。

force-on:すべてのエンドポイントが NAT デバイスの背後にあると想定するように SIP 隣接を設定します。デフォルトでは、エンドポイントが NAT デバイスの背後にあるかどうか SBC が自動検出します。

force-off:すべてのエンドポイントが NAT デバイスの背後にないと想定するように SIP 隣接を設定します。

UNI 側の隣接では、デフォルトの Auto NAT の使用が推奨されています。

NNI 側の隣接では、NAT force-off の使用が推奨されています。

図 1 に、SBC によるファイアウォール トラバーサルと NAT のサポートのためのデータ パスを示します。

図 1 ファイアウォール トラバーサルおよび NAT

 

ファイアウォール トラバーサルおよび NAT の実装

次のタスクでは、ファイアウォール トラバーサルを実装し、隣接のすべてのエンドポイントが NAT デバイスの背後にあることを想定するように SBC を設定します。

手順の概要


) 隣接を以前に接続している場合は、隣接を変更する前に、no attach コマンドを実行する必要があります


1. configure

2. sbc service-name

3. sbe

4. adjacency sip adjacency-name

5. nat force-on

6. signaling-address ipv4 ipv4_IP_address

7. signaling-port port_num

8. remote-address ipv4 ipv4_IP_address/prefix

9. signaling-peer [ gk ] peer_name

10. signaling-peer-port port_num

11. attach

手順の詳細

 

コマンドまたはアクション
目的

ステップ 1

configure

 

Router# configure

グローバル コンフィギュレーション モードをイネーブルにします。

ステップ 2

sbc service-name

 

Router(config)# sbc mysbc

SBC サービスのモードを開始します。 service-name 引数を使用して、サービスの名前を定義します。

ステップ 3

sbe

 

Router(config-sbc)# sbe

SBC サービス内で SBE エンティティのモードを開始します。

ステップ 4

adjacency sip adjacency-name

 

Router(config-sbc-sbe)# adjacency sip SIP_7301_1

SBE SIP 隣接のモードを開始します。

adjacency-name 引数を使用して、サービスの名前を定義します。

隣接が既存の隣接である場合、 no attach コマンドを使用してこの隣接を切り離してから変更します。

ステップ 5

nat force-on

 

Router(config-sbc-sbe-adj-sip)# nat force-on

すべてのエンドポイントが NAT デバイスの背後にあることを想定するように、SIP 隣接を設定します。

ステップ 6

signaling-address ipv4 ipv4_IP_address

 

Router(config-sbc-sbe-adj-sip)# signaling-address ipv4 10.1.0.2

SIP 隣接のローカル IPv4 シグナリング アドレスを指定します。

ステップ 7

signaling-port port_num

 

Router(config-sbc-sbe-adj-sip)# signaling-port 5000

SIP 隣接のローカル シグナリング ポートを指定します。

ステップ 8

remote-address ipv4 ipv4_IP_address/prefix

 

Router(config-sbc-sbe--adj-sip)# remote-address ipv4 1.2.3.0/24

隣接を通じてコンタクトされる一連のリモート シグナリング ピアを、特定の IP アドレス プレフィクスを持つものに限定します。

ステップ 9

signaling-peer [ gk ] peer_name

 

Router(config-sbc-sbe-adj-sip)# signaling-peer athene

SIP 隣接が使用するリモート シグナリング ピアを指定します。

ステップ 10

signaling-peer-port port_num

 

Router(config-sbc-sbe--adj-sip)# signaling-peer-port 123

使用する隣接にリモート シグナリング ピア ポートを指定します。

ステップ 11

attach

 

Router(config-sbc-sbe-adj-sip)# attach

隣接をアタッチします。

ファイアウォール トラバーサルおよび NAT の実装の設定例

次の例では、ファイアウォール トラバーサルと NAT を実装します。

configure
sbc mysbc
sbe
adjacency sip SIP_7301_1
nat force-on
signaling-address ipv4 88.88.121.102
signaling-port 5060
remote-address ipv4 10.10.111.0/24
signaling-peer 10.10.111.41
signaling-peer-port 5060
attach