...

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

by user

on
Category: Documents
7

views

Report

Comments

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
Fly UP