Comments
Description
Transcript
SBC ファイアウォール トラバーサル および NAT の実装
SBC ファイアウォール トラバーサル および NAT の実装 SBC では、Voice over IP(VoIP)シグナリングとメディアを、隣接ネットワークの境界にあるファ イアウォールと Network Address Translator(NAT; ネットワーク アドレス変換)の背後のデバイス から受信したり、デバイスに誘導することができます。デバイスまたはファイアウォールをアップ グレードする必要はありません。つまり、SBC は、コール シグナリング ヘッダー内の IP アドレス とポート、およびこれらのメッセージに添付された SDP ブロックを書き換えることにより、この処 理を行います。SBC は、ピンホールを開いた状態に保つオプションをサポートしていません。その 代わりに、SBC は、シグナリング ピンホール メンテナンスのメッセージとメディアの RTP パケッ トを登録します。 SBC は、対称応答ルーティングのための SIP 拡張子(RFC 3581)をサポートしています(現在、 H.323 はサポートしていない)。 (注) この章で使用されているコマンドの完全な説明については、 『Cisco IOS XR Session Border Controller Command Reference』を参照してください。この章に記載されたその他のコマンドのマニュアルを 特定するには、コマンド リファレンスのマスター インデックスを使用するか、またはオンライン で検索してください。 SBC ファイアウォール トラバーサルおよび NAT の実装機能の履歴 リリース 変更点 Release 3.3.0 Cisco XR 12000 シリーズ ルータにこの機能が追加されました。 Release 3.4.0 変更なし Release 3.5.0 変更なし Release 3.5.1 NAT の実装機能を変更しました。 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド OL-12289-02-J SBC-181 SBC ファイアウォール トラバーサルおよび NAT の実装 この章の構成 この章の構成 • ファイアウォール トラバーサルおよび NAT の実装の前提条件(p.SBC-182) • ファイアウォール トラバーサルおよび NAT に関する情報(p.SBC-183) • ファイアウォール トラバーサルおよび NAT の実装(p.SBC-185) • ファイアウォール トラバーサルおよび NAT の実装の設定例(p.SBC-187) • 参考資料(p.SBC-188) • 関連コマンドのまとめ(p.SBC-189) ファイアウォール トラバーサルおよび NAT の実装の前提条件 次に、SBC ファイアウォール トラバーサルおよび NAT を実装するための前提条件を示します。 • 使用する SBC コマンドの適切なタスク ID を含むタスク グループに関連するユーザ グループ に属している必要があります。ユーザ グループおよびタスク ID に関する詳細は、『Cisco IOS XR System Security Configuration Guide』の「Configuring AAA Services on Cisco IOS XR Software」 モジュールを参照してください。 • SBC ソフトウェアの Package Installation Envelope(PIE; 実装インストレーション エンベロープ) をインストールし、アクティブにする必要があります。 PIE のインストレーションの詳細情報については、『Cisco IOS XR Getting Started Guide』の 「Upgrading and Managing Cisco IOS XR Software」モジュールを参照してください。 • インターワーキング DTMF を実装する前に、SBC を作成しておく必要があります。 「SBC 設定 の前提条件」モジュールに記載された手順に従ってください。 • ファイアウォール トラバーサルおよび NAT を実装する前に、隣接を設定する必要があります。 「SBC 隣接の実装」モジュールに記載された手順に従ってください。 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド SBC-182 OL-12289-02-J SBC ファイアウォール トラバーサルおよび NAT の実装 ファイアウォール トラバーサルおよび NAT に関する情報 ファイアウォール トラバーサルおよび NAT に関する情報 SBC では、VoIP シグナリングとメディアを、隣接ネットワークの境界にあるファイアウォールと NAT の背後のデバイスから受信したり、デバイスに誘導することができます。デバイスまたはファ イアウォールをアップグレードする必要はありません。つまり、SBC は、コール シグナリング ヘッ ダー内の IP アドレスとポート、およびこれらのメッセージに添付された SDP ブロックを書き換え ることにより、この処理を行います。 ファイアウォールは、基本的なパケット フィルタリングを行うことにより、不要なトラフィックが ネットワークを出入りするのを防ぎます。パケットのヘッダーを完全に検査することによりパケッ トのフィルタリングを行い、パケットのペイロードの解析や認識を行いません。したがって、すべ てのタイプの不要なトラフィックをフィルタリングするわけではありません。たとえば、ファイア ウォールは Call Admission Control(CAC; コール アドミッション制御)を行いません(SBC アプリ ケーションが行う)。 しかし、ファイアウォールは、大きなカテゴリの不要なトラフィックを効率的にフィルタリングし、 SBC などのアプリケーション アウェアなデバイスに処理をほとんど任せないため、有益です。外 部ファイアウォールは、外部ネットワークからのパケットをフィルタリングしますが、内部ネット ワークからのすべてのパケットがフィルタリングされずにパススルーします。内部ファイアウォー ルは、内部ネットワークからのパケットをフィルタリングしますが、外部ネットワークからのすべ てのパケットがフィルタリングされずにパススルーします(すでに外部ファイアウォールを通過し ているため)。 ファイアウォールは、デフォルトではネットワークからのパケットを受け入れませんが、特定のパ ケットを選択して受け入れるようにするルールが設定されます。したがって、パケットは、デフォ ルト設定ではなく、明示的な設定に基づいてネットワークへの出入りを許可されます。 SBC アプリケーションには、NAT 機能も組み込まれています。Release 3.5.1 の機能拡張により、SBC は、NAT デバイスの背後にエンドポイントがあるかどうかを自動的に検出できるようになりまし た。NAT はネットワークを異なるアドレス スペースに分離します。SBC の NAT コンポーネント は、内部ネットワークのアドレス スペースを外部ネットワークのアドレス スペースから分離しま す。NAT は {external address, port} から {internal address, port} へのマッピングおよびその逆のマッピ ングのテーブルを維持します。このテーブルはデュアル インデックス テーブルであるため、特定 のマッピングは、内部または外部のアドレス指定情報により検索できます。NAT はこのテーブルを 使用して、転送する IP パケットのヘッダーを書き換えます。 NAT は、外部ネットワークから IP パケットを受信すると、テーブル内でパケットの宛先アドレス とポート(外部アドレス スペースからのアドレスになる)を検索します。マッピングが検出された 場合、IP パケットの宛先アドレス ヘッダーは、テーブルからの対応する内部アドレスおよびポー トを含むように変更され、パケットは内部ネットワークに転送されます。マッピングが検出されな い場合、パケットは破棄されます。 NAT は、内部ネットワークから IP パケットを受信すると、テーブル内でパケットの送信元アドレ スとポート(内部アドレス スペースからのアドレスになる)を検索します。マッピングが検出され た場合、IP パケットの送信元アドレス ヘッダーは、テーブルからの対応する外部アドレスおよび ポートを含むように変更され、パケットは外部ネットワークに転送されます。マッピングが検出さ れない場合、新しいマッピングが作成されます。NAT は、外部アドレス スペースからの新しい外 部アドレスおよびポートを、パケット(およびこの送信元アドレスおよびポート タプルからのすべ ての将来のパケット)に動的に割り当てます。 SBC は、ピンホールを開いた状態に保つオプションをサポートしていません。その代わりに、SBC は、シグナリング ピンホール メンテナンスのメッセージとメディアの RTP パケットを登録します。 この問題を解決するには、カスタマーの NAT がピンホールを開き、IP Phone がシグナリング パケッ トおよびメディア パケットをパブリック ネットワークに送信できるようにし、カスタマーのファ イアウォールがこれらのパケットを通過させる必要があります。 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド OL-12289-02-J SBC-183 SBC ファイアウォール トラバーサルおよび NAT の実装 ファイアウォール トラバーサルおよび NAT に関する情報 したがって、パブリック ネットワークからのインバウンド シグナリングおよびメディアは、カス タマーの NAT のパブリック ネットワーク側にあるピンホールのアドレスとポートに誘導すること により、カスタマーのファイアウォールと NAT をトラバースすることができます。シグナリング とメディアでは、ピンホールのライフタイムが異なります。 • シグナリング ピンホールは、いったん作成されると、すべてのコール シグナリングで再利用 されます。 • メディア ピンホールは、メディア ストリームの送信元および宛先ポートがコール単位で動的 に割り当てられるため、各メディア ストリームに対して新しく作成されます。 シグナリング ピンホールは、IP Phone が最初にオンラインになったときに完全に作成され、IP Phone が再びオフラインになるまで開いています。メディア ピンホールは、IP Phone が確立された各メ ディア セッションで最初にメディア パケットを送信したときに作成されます。 図 13 に、SBC によるファイアウォール トラバーサルと NAT のサポートのためのデータ パスを示 します。 図 13 ファイアウォール トラバーサルと NAT SIP Proxy B2BUA IP2 30.3.3.3 200 OK • IP INVITE B via1 contact1 SDP1 INVITE B via1 contact1 SDP2 • NAT/FW 200 OK SDP4 IP4 rx IP SBE NAT/FW 200 OK SDP3 IP3 rx DBE RTP RTP 158013 A SIP UA IP3 20.2.2.2 B SIP UA IP1 10.1.1.1 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド SBC-184 OL-12289-02-J SBC ファイアウォール トラバーサルおよび NAT の実装 ファイアウォール トラバーサルおよび NAT の実装 ファイアウォール トラバーサルおよび NAT の実装 このタスクは、ファイアウォール トラバーサルを実装し、隣接のすべてのエンドポイントが NAT デバイスの背後にあることを想定するように SBC を設定します。 手順の概要 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. show 12. commit 13. attach 14. commit 詳細手順 ステップ 1 コマンドまたはアクション 説明 configure グローバル コンフィギュレーション モードをイ ネーブルにします。 RP/0/0/CPU0:router# configure ステップ 2 ステップ 3 sbc service-name SBC サービス モードを開始します。 RP/0/0/CPU0:router(config)# sbc mysbc サービス名を定義するには、service-name 引数を使用 します。 SBC サービス内で SBE エンティティ モードを開始 します。 sbe RP/0/0/CPU0:router(config-sbc)# sbe ステップ 4 adjacency sip adjacency-name SBE SIP 隣接モードを開始します。 • RP/0/0/CPU0:router(config-sbc-sbe)# adjacency sip SIP_7301_1 ステップ 5 nat force-on RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)# nat force-on サービス名を定義するには、adjacency-name 引数 を使用します。 すべてのエンドポイントが NAT デバイスの背後に あることを想定するように、SBC を設定します。す べてのエンドポイントが NAT デバイスの背後にな いことを想定するように SBC を設定するには、nat force-off コマンドを使用します。 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド OL-12289-02-J SBC-185 SBC ファイアウォール トラバーサルおよび NAT の実装 ファイアウォール トラバーサルおよび NAT の実装 ステップ 6 コマンドまたはアクション 説明 signaling-address ipv4 ipv4_IP_address SIP 隣接のローカル IPv4 シグナリング アドレスを指 定します。 RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)# signaling-address ipv4 10.1.0.2 ステップ 7 signaling-port port_num SIP 隣接のローカル シグナリング ポートを指定しま す。 RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)# signaling-port 5000 ステップ 8 remote-address ipv4 ipv4_IP_address/prefix RP/0/0/CPU0:router(config-sbc-sbe--adj-sip)# remote-address ipv4 1.2.3.0/24 ステップ 9 signaling-peer [gk] peer_name 隣接により通信した一連のリモート シグナリング ピアを、特定の IP アドレス プレフィクスを持つシグ ナリング ピアに限定します。 使用する SIP 隣接にリモート シグナリング ピアを指 定します。 RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)# signaling-peer athene ステップ 10 signaling-peer-port port_num 使用する隣接にリモート シグナリング ピア ポート を指定します。 RP/0/0/CPU0:router(config-sbc-sbe--adj-sip)# signaling-peer-port 123 ステップ 11 show 現在の設定を表示します。 RP/0/0/CPU0:router(config-sbc-sbe--adj-sip)# show ステップ 12 commit RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)# commit ステップ 13 attach 設定の変更を保存します。commit コマンドを使用 し、実行コンフィギュレーション ファイルでの設定 変更を保存し、コンフィギュレーション セッション を維持します。 隣接を接続します。 RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)# attach ステップ 14 commit RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)# commit 設定の変更を保存します。commit コマンドを使用 し、実行コンフィギュレーション ファイルでの設定 変更を保存し、コンフィギュレーション セッション を維持します。 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド SBC-186 OL-12289-02-J SBC ファイアウォール トラバーサルおよび NAT の実装 ファイアウォール トラバーサルおよび NAT の実装の設定例 ファイアウォール トラバーサルおよび 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 commit attach commit Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド OL-12289-02-J SBC-187 SBC ファイアウォール トラバーサルおよび NAT の実装 参考資料 参考資料 ここでは、SBC ファイアウォール トラバーサルおよび NAT の実装に関する参考資料について説明 します。 関連資料 関連トピック Cisco IOS XR マスター コマンド リファレンス 資料のタイトル 『Cisco IOS XR Master Commands List』 Cisco IOS XR SBC インターフェイス コンフィギュレーショ 『Cisco IOS XR Session Border Controller Command Reference』 ン コマンド Cisco IOS XR ソフトウェアを使用するルータの初期システ 『Cisco IOS XR Getting Started Guide』 ム ブートアップおよび設定情報 Cisco IOS XR コマンド モード 『Cisco IOS XR Command Mode Reference』 規格 規格 タイトル この機能による新規または変更された規格のサポートはあ — りません。また、この機能による既存の規格サポートに変 更はありません。 MIB MIB MIB リンク — Cisco IOS XR ソフトウェアを使用して MIB を検索し、ダウ ンロードするには、次の URL にある Cisco MIB Locator を 使 用 し て、Cisco Access Products メ ニ ュ ー か ら プ ラ ッ ト フォームを選択します。 http://cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml RFC RFC RFC 3581 タイトル 『An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing』 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド SBC-188 OL-12289-02-J SBC ファイアウォール トラバーサルおよび NAT の実装 関連コマンドのまとめ 技術サポート 説明 リンク シスコ テクニカルサポート Web サイトには、製品、テク http://www.cisco.com/techsupport ノロジー、ソリューション、テクニカル ティップス、およ びツールへのリンクなど、数千ページにわたる検索可能な 技術コンテンツが含まれています。Cisco.com 登録ユーザ は、このページにログインし、さらに多くのコンテンツに アクセスできます。 関連コマンドのまとめ ここでは、Cisco XR 12000 シリーズ ルータでのファイアウォール トラバーサルおよび NAT の設定 に関連するコマンドのリストをアルファベット順に示します。コマンドの詳細については、『Cisco IOS XR Session Border Controller Command Reference』を参照してください。 コマンド 説明 adjacency sip adjacency-name SBE SIP 隣接モードを開始します。 nat-enable SIP 隣接での NAT サポートをイネーブルにします。 signaling-address ipv4 ipv4_IP_address SIP 隣接のローカル IPv4 シグナリング アドレスを指定します。 signaling-port port_num SIP 隣接のローカル シグナリング ポートを指定します。 remote-address ipv4 ipv4_IP_address/prefix 隣接により通信したリモート シグナリング ピアのセットを、特定の IP アドレス プレフィクスを持つシグナリング ピアに限定します。 signaling-peer [gk] peer_name 使用する SIP 隣接にリモート シグナリング ピアを指定します。 signaling-peer-port port_num 使用する隣接にリモート シグナリング ピア ポートを指定します。 Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド OL-12289-02-J SBC-189 SBC ファイアウォール トラバーサルおよび NAT の実装 関連コマンドのまとめ Cisco IOS XR セッション ボーダ コントローラ コンフィギュレーション ガイド SBC-190 OL-12289-02-J