...

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

by user

on
Category: Documents
14

views

Report

Comments

Transcript

SBC ファイアウォール トラバーサルおよび NAT の実装
SBC ファイアウォール トラバーサルおよび
NAT の実装
SBC を利用すると、隣接ネットワークの境界上のファイアウォールおよび NAT(ネットワーク アドレ
ス変換)の背後にあるデバイスとの間で VoIP シグナリングとメディアを受信および転送できます。デ
バイスまたはファイアウォールをアップグレードする必要はありません。つまり、SBC は、コール シ
グナリング ヘッダー内の IP アドレスとポート、およびこれらのメッセージに添付された SDP ブロッ
クを書き換えることにより、この処理を行います。SBC は、ピンホールをオープン状態に保つオプ
ションをサポートしていません。その代わりに、SBC は、シグナリング ピンホール メンテナンスの
メッセージとメディアの RTP パケットを登録します。
(現在、H.323
SBC は、対称応答ルーティングのための SIP 拡張(RFC 3581)をサポートしています。
はサポートしていません)。
(注)
この章で使用するコマンドの詳細な説明については、『Cisco IOS XR Session Border Controller
Command Reference』を参照してください。この章で言及する他のコマンドについては、コマンド リ
ファレンス マスター インデックス(オンライン検索)を使用して、該当するマニュアルを参照してく
ださい。
SBC ファイアウォール トラバーサルおよび NAT の実装機能の履歴
リリース
変更内容
リリース 3.3.0
この機能は、Cisco XR 12000 シリーズ ルータで導入されました。
リリース 3.4.0
変更なし。
リリース 3.5.0
変更なし。
リリース 3.5.1
NAT 実装機能を変更しました。
内容
• 「ファイアウォールトラバーサルおよび NAT の実装の前提条件」(P.182)
• 「ファイアウォール トラバーサルおよび NAT に関する情報」(P.182)
• 「ファイアウォール トラバーサルおよび NAT の実装」(P.184)
• 「ファイアウォール トラバーサルおよび NAT の実装の設定例」(P.186)
• 「その他の関連資料」(P.186)
• 「関連コマンドのまとめ」(P.188)
Cisco IOS XR セッション ボーダー コントローラ コンフィギュレーション ガイド
OL-12289-02-J
SBC-181
SBC ファイアウォール トラバーサルおよび NAT の実装
ファイアウォールトラバーサルおよび NAT の実装の前提条件
ファイアウォールトラバーサルおよび NAT の実装の前提条
件
次に、SBC ファイアウォール トラバーサルおよび NAT を実装するための前提条件を示します。
• 使用される SBC コマンドの適切なタスク ID を含むタスク グループに関連付けられているユーザ
グループに属している必要があります。ユーザ グループおよびタスク ID の詳細については、
『Cisco IOS XR System Security Configuration Guide 』の「Configuring AAA Services on
Cisco IOS XR Software」モジュールを参照してください。
• SBC ソフトウェアのパッケージ インストレーション エンベロープ(PIE)をインストールしてア
クティブにする必要があります。
PIE のインストールに関する詳細については、『Cisco IOS XR Getting Started Guide』の
「Upgrading and Managing Cisco IOS XR Software 」モジュールを参照してください。
• インターワーキング DTMF を実装する前に、SBC を作成しておく必要があります。手順について
は、「SBC 設定の前提条件」モジュールを参照してください。
• 隣接は、ファイアウォール トラバーサルおよび NAT を実装してから設定する必要があります。手
順については、「SBC 隣接の実装」モジュールを参照してください。
ファイアウォール トラバーサルおよび NAT に関する情報
SBC を利用すると、隣接ネットワークの境界上のファイアウォールおよび NAT(ネットワーク アドレ
ス変換)の背後にあるデバイスとの間で VoIP シグナリングとメディアを受信および転送できます。デ
バイスまたはファイアウォールをアップグレードする必要はありません。つまり、SBC は、コール シ
グナリング ヘッダー内の IP アドレスとポート、およびこれらのメッセージに添付された SDP ブロッ
クを書き換えることにより、この処理を行います。
ファイアウォールは、基本的なパケット フィルタリングを行うことにより、不要なトラフィックが
ネットワークに出入りするのを防ぎます。主にパケットのヘッダーを検査することによってパケットの
フィルタリングを行い、パケットのペイロードの解析や認識を行いません。したがって、すべてのタイ
プの不要なトラフィックをフィルタリングするわけではありません。たとえば、ファイアウォールは
Call Admission Control(CAC; コール アドミッション制御)を行いません(SBC アプリケーションが
行う)。
しかし、ファイアウォールは、大きなカテゴリの不要なトラフィックを効率的にフィルタリングし、
SBC などのアプリケーション認識デバイスに処理をほとんど任せないため、有益です。外部ファイア
ウォールは、外部ネットワークからのパケットをフィルタリングしますが、内部ネットワークからのす
べてのパケットがフィルタリングされずにパススルーします。内部ファイアウォールは、内部ネット
ワークからのパケットをフィルタリングしますが、外部ネットワークからのすべてのパケットがフィル
タリングされずにパススルーします(すでに外部ファイアウォールでパススルーしているため)。
ファイアウォールは、デフォルトではネットワークからのパケットを受け入れませんが、特定のパケッ
トを選択して受け入れるようにするルールが設定されます。したがって、パケットは、デフォルト設定
ではなく、明示的な設定に基づいてネットワークへの出入りを許可されます。
SBC アプリケーションには、NAT 機能も組み込まれています。リリース 3.5.1 の機能拡張によって、
SBC はエンドポイントが NAT デバイスの背後にあるかどうかを自動的に検出できるようになりまし
た。NAT はネットワークを異なるアドレス空間に分離します。SBC の NAT コンポーネントは、内部
ネットワークのアドレス空間を外部ネットワークのアドレス空間から分離します。NAT は、{external
address, port} から {internal address, port} へのマッピングおよびその逆のマッピングのテーブルを維
Cisco IOS XR セッション ボーダー コントローラ コンフィギュレーション ガイド
SBC-182
OL-12289-02-J
SBC ファイアウォール トラバーサルおよび NAT の実装
ファイアウォール トラバーサルおよび NAT に関する情報
持します。このテーブルはデュアル インデックス テーブルであるため、特定のマッピングは、内部ま
たは外部のアドレス指定情報により検索できます。NAT はこのテーブルを使用して、転送する IP パ
ケットのヘッダーを書き換えます。
NAT は、外部ネットワークから IP パケットを受信すると、テーブル内でパケットの宛先アドレスと
ポート(外部アドレス空間からのアドレスになる)を検索します。マッピングが検出された場合、IP
パケットの宛先アドレス ヘッダーは、テーブルからの対応する内部アドレスおよびポートを含むよう
に変更され、パケットは内部ネットワークに転送されます。マッピングが検出されない場合、パケット
は廃棄されます。
NAT は、内部ネットワークから IP パケットを受信すると、テーブル内でパケットの送信元アドレスと
ポート(内部アドレス空間からのアドレスになる)を検索します。マッピングが検出された場合、IP
パケットの送信元アドレス ヘッダーは、テーブルからの対応する外部アドレスおよびポートを含むよ
うに変更され、パケットは外部ネットワークに転送されます。マッピングが検出されない場合、新しい
マッピングが作成されます。NAT は、外部アドレス空間からの新しい外部アドレスおよびポートを、
パケット(およびこの送信元アドレスおよびポート タプルからのすべての将来のパケット)に動的に
割り当てます。
SBC は、ピンホールをオープン状態に保つオプションをサポートしていません。その代わりに、SBC
は、シグナリング ピンホール メンテナンスのメッセージとメディアの RTP パケットを登録します。こ
の問題を解決するには、カスタマーの NAT がピンホールを開き、IP Phone がシグナリング パケットお
よびメディア パケットをパブリック ネットワークに送信できるようにし、カスタマーのファイア
ウォールがこれらのパケットを通過させる必要があります。
したがって、パブリック ネットワークからのインバウンド シグナリングおよびメディアは、カスタ
マーの NAT のパブリック ネットワーク側にあるピンホールのアドレスとポートに誘導することによ
り、カスタマーのファイアウォールと NAT をトラバースすることができます。シグナリングとメディ
アでは、ピンホールのライフタイムが異なります。
• シグナリング ピンホールは、いったん作成されると、すべてのコール シグナリングで再利用され
ます。
• メディア ピンホールは、各メディア ストリームに対して新しく作成されます。メディア ストリー
ムの送信元および宛先のポートは、コール単位で動的に割り当てられるからです。
シグナリング ピンホールは、IP Phone が最初にオンラインになったときに完全に作成され、IP Phone
が再びオフラインになるまで開いています。メディア ピンホールは、確立された各メディア セッショ
ンで IP Phone が最初にメディア パケットを送信したときに作成されます。
図 14 に、SBC によるファイアウォール トラバーサルと NAT のサポートのためのデータ パスを示しま
す。
Cisco IOS XR セッション ボーダー コントローラ コンフィギュレーション ガイド
OL-12289-02-J
SBC-183
SBC ファイアウォール トラバーサルおよび NAT の実装
ファイアウォール トラバーサルおよび NAT の実装
図 14
ファイアウォール トラバーサルおよび NAT
SIP ࡊࡠࠠࠪ
B2BUA
IP2㧦30.3.3.3
SIP UA
B㧦IP3㧦20.2.2.2
SIP UA
A㧦IP1㧦10.1.1.1 REGISTER
IP
̒ ࠪࠣ࠽࡝ࡦࠣ
ࠬࠢ࡜ࡆࡦࠣ
INVITE㧦࡙࡯ࠩ B
㧔via1‫ޔ‬contact1‫ޔ‬
SDP1㧕
̒ ࠻ࡐࡠࠫ
㕖⴫␜
NAT/FW
200 OK
IP
INVITE㧦࡙࡯ࠩ B
㧔via1‫ޔ‬contact1‫ޔ‬
SDP2㧕
SBE
200 OK
SDP4
㧔IP4 ਄ߩ rx㧕
NAT/FW
200 OK
SDP3
㧔IP3 ਄ߩ rx㧕
RTP
158013
DBE
RTP
ファイアウォール トラバーサルおよび 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
Cisco IOS XR セッション ボーダー コントローラ コンフィギュレーション ガイド
SBC-184
OL-12289-02-J
SBC ファイアウォール トラバーサルおよび NAT の実装
ファイアウォール トラバーサルおよび NAT の実装
手順の詳細
ステップ 1
コマンドまたはアクション
目的
configure
グローバル コンフィギュレーション モードをイネーブル
にします。
例:
RP/0/0/CPU0:router# configure
ステップ 2
sbc service-name
SBC サービスのモードを開始します。
例:
す。
service-name 引数を使用して、サービスの名前を定義しま
RP/0/0/CPU0:router(config)# sbc mysbc
ステップ 3
SBC サービス内で SBE エンティティのモードを開始しま
sbe
す。
例:
RP/0/0/CPU0:router(config-sbc)# sbe
ステップ 4
SBE SIP 隣接のモードを開始します。
adjacency sip adjacency-name
• adjacency-name 引数を使用して、サービスの名前を定
例:
義します。
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
ステップ 6
signaling-address ipv4 ipv4_IP_address
すべてのエンドポイントが NAT デバイスの背後にあるも
のとして SBC を設定します。エンドポイントはどれも
NAT デバイスの背後にはないものとして SBC を設定する
には、nat force-off コマンドを使用します。
SIP 隣接のローカル IPv4 シグナリング アドレスを指定し
ます。
例:
RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)#
signaling-address ipv4 10.1.0.2
ステップ 7
SIP 隣接のローカル シグナリング ポートを指定します。
signaling-port port_num
例:
RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)#
signaling-port 5000
ステップ 8
remote-address ipv4 ipv4_IP_address/prefix
例:
隣接を通じてコンタクトされる一連のリモート シグナリン
グ ピアを、特定の IP アドレス プレフィックスを持つもの
に限定します。
RP/0/0/CPU0:router(config-sbc-sbe--adj-sip)#
remote-address ipv4 1.2.3.0/24
ステップ 9
SIP 隣接が使用するリモート シグナリング ピアを指定しま
signaling-peer [gk] peer_name
す。
例:
RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)#
signaling-peer athene
Cisco IOS XR セッション ボーダー コントローラ コンフィギュレーション ガイド
OL-12289-02-J
SBC-185
SBC ファイアウォール トラバーサルおよび NAT の実装
ファイアウォール トラバーサルおよび NAT の実装の設定例
コマンドまたはアクション
ステップ 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
設定変更を保存します。実行コンフィギュレーション ファ
イルに変更を保存し、コンフィギュレーション セッション
を継続するには、commit コマンドを使用します。
例:
RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)#
commit
ステップ 13 attach
隣接をアタッチします。
例:
RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)#
attach
ステップ 14 commit
設定変更を保存します。実行コンフィギュレーション ファ
イルに変更を保存し、コンフィギュレーション セッション
を継続するには、commit コマンドを使用します。
例:
RP/0/0/CPU0:router(config-sbc-sbe-adj-sip)#
commit
ファイアウォール トラバーサルおよび 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
その他の関連資料
次の各項では、SBC ファイアウォール トラバーサルおよび NAT の実装に関連する参考資料を示しま
す。
Cisco IOS XR セッション ボーダー コントローラ コンフィギュレーション ガイド
SBC-186
OL-12289-02-J
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 セッション ボーダー コントローラ コンフィギュレーション ガイド
OL-12289-02-J
SBC-187
SBC ファイアウォール トラバーサルおよび NAT の実装
関連コマンドのまとめ
シスコのテクニカル サポート
説明
リンク
シスコのテクニカル サポート Web サイトでは、製品、テク http://www.cisco.com/en/US/support/index.html
ノロジー、ソリューション、技術的なヒント、およびツール
へのリンクなどの、数千ページに及ぶ技術情報が検索可能で
す。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 セッション ボーダー コントローラ コンフィギュレーション ガイド
SBC-188
OL-12289-02-J
Fly UP