はじめに
このドキュメントでは、Cisco IP Phone が Cisco IOS ルータへの VPN 接続を確立できるように、Cisco IOS® ルータと Call Manager デバイスを設定する方法を説明します。これらの VPN 接続は、次の 2 つのクライアント認証方法のいずれかで通信を保護するために必要です。
- 認証、認可、およびアカウンティング(AAA)サーバまたはローカル データベース
- 電話証明書
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの情報は、次のハードウェアとソフトウェアのバージョンに基づいています。
- Cisco IOS 15.1(2)T 以降
- フィーチャセット/ライセンス:Cisco IOSサービス統合型ルータ(ISR)-G2用ユニバーサル(データおよびセキュリティ& UC)
- フィーチャセット/ライセンス:Cisco IOS ISRの高度なセキュリティ
- Cisco Unified Communications Manager(CUCM)リリース 8.0.1.100000-4 以降
- IP Phone リリース 9.0(2)SR1S - Skinny Call Control Protocol (SCCP) 以降
CUCM バージョンでサポートされている電話の完全な一覧については、次の手順を実行してください。
- 次のURLを開きます。https://<CUCM Server IP Address>:8443/cucreports/systemReports.do
- Unified CM Phone Feature List > Generate a new report > Feature: Virtual Private Networkの順に選択します。
この設定例で使用されるリリースは、次のとおりです。
- Cisco IOS ルータ リリース 15.1(4)M4
- Call Manager リリース 8.5.1.10000-26
- IP Phone リリース 9.1(1)SR1S
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
設定
この項では、このドキュメントで説明する機能の設定に必要な情報を説明します。
注:このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool(登録ユーザ専用)を使用してください。
Network Topology
このドキュメントで使用するトポロジには、1 台の Cisco IP Phone、セキュア ソケット レイヤ(SSL)VPN ゲートウェイとしての Cisco IOS ルータ、音声ゲートウェイとしての CUCM が含まれます。

SSL VPN サーバの設定
この項では、着信 SSL VPN 接続を可能にするために Cisco IOS ヘッドエンドを設定する方法を説明します。
共通の設定手順
- 1024バイト長のRivest-Shamir-Adleman(RSA)キーを生成します。
Router(config)#crypto key generate rsa general-keys label SSL modulus 1024
- 自己署名証明書のトラストポイントを作成し、SSL RSA キーをアタッチします。
Router(config)#crypto pki trustpoint server-certificate
enrollment selfsigned
usage ssl-server
serial-number
subject-name CN=10.198.16.144
revocation-check none
rsakeypair SSL
- トラストポイントを設定したら、次のコマンドで自己署名証明書を登録します。
Router(config)#crypto pki enroll server-certificate
% Include an IP address in the subject name? [no]: no
Generate Self Signed Router Certificate? [yes/no]: yes
Router Self Signed Certificate successfully created
- ヘッドエンドで正しい AnyConnect パッケージを有効にします。電話自体はこのパッケージをダウンロードしません。しかし、パッケージがないと、VPN トンネルが確立されません。Cisco.com で入手できる最新のクライアント ソフトウェアのバージョンを使用することを推奨します。この例では、バージョン 3.1.3103 を使用します。
古い Cisco IOS バージョンでは、これはパッケージを有効にするためのコマンドです。
Router(config)#webvpn install svc flash:anyconnect-win-3.1.03103-k9.pkg
ただし、最新の Cisco IOS バージョンでは、これは次のコマンドです。
Router(config)#crypto vpn anyconnect flash:/webvpn/anyconnect-win-
3.1.03103-k9.pkg sequence 1
- VPN ゲートウェイを設定します。WebVPN ゲートウェイは、ユーザからの SSL 接続を終了するために使用されます。
webvpn gateway SSL
ip address 10.198.16.144 port 443
ssl encryption 3des-sha1 aes-sha1
http-redirect port 80
ssl trustpoint server-certificate
inservice
注:ここで使用するIPアドレスは、電話が接続されているインターフェイスと同じサブネット上にあるか、ゲートウェイがルータのインターフェイスから直接発信される必要があります。ゲートウェイは、ルータがクライアントに対して自身を検証するために使用する証明書を定義するためにも使用されます。
- 接続時にクライアントに IP アドレスを割り当てるために使用するローカル プールを定義します。
ip local pool ap_phonevpn 192.168.100.1 192.168.100.254
AAA 認証を使用する設定
この項では、電話を認証するために、AAA サーバまたはローカル データベースを設定する場合に必要なコマンドについて説明します。電話用に証明書のみの認証を使用する予定であれば、次の項に進んでください。
ユーザ データベースの設定
ルータのローカル データベースまたは外部 AAA サーバを認証に使用できます。
- ローカル データベースを設定するには、次のコマンドを入力します。
aaa new-model
aaa authentication login SSL local
username phones password 0 phones
- 認証のためにリモート AAA RADIUS サーバを設定するには、次のコマンドを入力します。
aaa new-model
aaa authentication login SSL group radius
radius-server host 192.168.100.200 auth-port 1812 acct-port 1813
radius-server key cisco
仮想コンテキストおよびグループ ポリシーの設定
仮想コンテキストは、次のような、VPN 接続を制御する属性を定義するために使用されます。
- 接続時に使用する URL
- クライアント アドレスを割り当てるために使用するプール
- 使用する認証方式
次のコマンドは、クライアントに AAA 認証を使用するコンテキストの例です。
webvpn context SSL
aaa authenticate list SSL
gateway SSL domain SSLPhones
!
ssl authenticate verify all
inservice
!
policy group phones
functions svc-enabled
svc address-pool "ap_phonevpn" netmask 255.255.255.0
svc keep-client-installed
default-group-policy phones
クライアント認証に IP フォンのローカルで有効な証明書(LSC)を使用する設定
この項では、電話に対して証明書ベースのクライアント認証を設定するために必要なコマンドについて説明します。ただし、これを行うには、電話証明書の各種の知識が必要です。
この設定例では、LSC は電話を認証するために使用されます。
ヒント:電話機を接続する最も安全な方法は、証明書とAAA認証を組み合わせたデュアル認証を使用することです。それぞれに使用するコマンドを 1 つの仮想コンテキストで組み合わせると、これを設定できます。
クライアント証明書を検証するためのトラストポイントの設定
IP フォンから LSC を検証するために、ルータに CAPF 証明書をインストールしておく必要があります。この証明書を取得し、ルータにインストールするには、次の手順を実行します。
- CUCM Operating System (OS) Administration の Web ページにアクセスします。
- [Security] > [Certificate Management] を選択します。
注:この場所は、CUCMのバージョンによって異なる場合があります。
- CAPF というラベルが付いた証明書を見つけ、.pem ファイルをダウンロードします。これを.txtファイルとして保存します
- 証明書を抽出したら、ルータに新しいトラストポイントを作成し、次のように CAPF でトラストポイントを認証します。Base 64 でエンコードされた CA 証明書を求められた場合は、ダウンロードした .pem ファイルのテキストを BEGIN 行から END 行まで選択して貼り付けます。
Router(config)#crypto pki trustpoint CAPF
enrollment terminal
authorization username subjectname commonname
revocation-check none
Router(config)#crypto pki authenticate CAPF
Router(config)#
quit
注意事項:
- 証明書はルータに手動でインストールする必要があるため、登録方法は端末です。
- クライアントが接続を行うときにユーザ名として何を使用するかをルータに指示するには、authorization username コマンドが必要です。この例では、ルータは共通名(CN)を使用します。
- 電話証明書には証明書失効リスト(CRL)が定義されていないため、失効チェックは無効にする必要があります。無効にしない場合、接続は失敗し、Public Key Infrastructure(PKI)のデバッグに次の出力が表示されます。
Jun 17 21:49:46.695: CRYPTO_PKI: (A0076) Starting CRL revocation check
Jun 17 21:49:46.695: CRYPTO_PKI: Matching CRL not found
Jun 17 21:49:46.695: CRYPTO_PKI: (A0076) CDP does not exist. Use SCEP to
query CRL.
Jun 17 21:49:46.695: CRYPTO_PKI: pki request queued properly
Jun 17 21:49:46.695: CRYPTO_PKI: Revocation check is complete, 0
Jun 17 21:49:46.695: CRYPTO_PKI: Revocation status = 3
Jun 17 21:49:46.695: CRYPTO_PKI: status = 0: poll CRL
Jun 17 21:49:46.695: CRYPTO_PKI: Remove session revocation service providers
CRYPTO_PKI: Bypassing SCEP capabilies request 0
Jun 17 21:49:46.695: CRYPTO_PKI: status = 0: failed to create GetCRL
Jun 17 21:49:46.695: CRYPTO_PKI: enrollment url not configured
Jun 17 21:49:46.695: CRYPTO_PKI: transaction GetCRL completed
Jun 17 21:49:46.695: CRYPTO_PKI: status = 106: Blocking chain verification
callback received status
Jun 17 21:49:46.695: CRYPTO_PKI: (A0076) Certificate validation failed
仮想コンテキストおよびグループ ポリシーの設定
設定のこの部分は、次の 2 つの点を除いて、前に使用した設定に似ています。
- 認証方式
- 電話を認証するためにコンテキストで使用されるトラストポイント
コマンドは次のとおりです。
webvpn context SSL
gateway SSL domain SSLPhones
authentication certificate
ca trustpoint CAPF
!
ssl authenticate verify all
inservice
!
policy group phones
functions svc-enabled
svc address-pool "ap_phonevpn" netmask 255.255.255.0
svc keep-client-installed
default-group-policy phones
Call Managerの設定
ここでは、Call Manager の設定手順について説明します。
自己署名証明書またはアイデンティティ証明書をルータから CUCM にエクスポートする
ルータから証明書をエクスポートし、電話と VPN 間の信頼性証明書として証明書を Call Manager にインポートするには、次の手順を実行します。
- SSL に使用される証明書をチェックします。
Router#show webvpn gateway SSL
SSL Trustpoint: server-certificate
- 証明書をエクスポートします。
Router(config)#crypto pki export server-certificate pem terminal
The Privacy Enhanced Mail (PEM) encoded identity certificate follows:
-----BEGIN CERTIFICATE-----
<output removed>
-----END CERTIFICATE-----
- 端末からこのテキストをコピーし、.pem ファイルとして保存します。
- 前の手順で保存した証明書ファイルをアップロードするには、Call Manager にログインし、[Unified OS Administration] > [Security] > [Certificate Management] > [Upload Certificate] > [Select Phone-VPN-trust] の順に選択します。
CUCM で VPN ゲートウェイ、グループ、およびプロファイルを設定する
- [Cisco Unified CM Administration] に移動します。
- メニュー バーから、[Advanced Features] > [VPN] > [VPN Gateway] を選択します。

- [VPN Gateway Configuration] ウィンドウで、次の手順を実行します。
- [VPN Gateway Name] フィールドに、名前を入力します。これは、どんな名前にもできます。
- [VPN Gateway Description] フィールドに、説明を入力します(オプション)。
- [VPN Gateway URL] フィールドに、ルータで定義されたグループ URL を入力します。
- [VPN Certificates in this Location] フィールドで、信頼ストアからこの場所に移動するために以前に Call Manager にアップロードした証明書を選択します。

- メニュー バーから、[Advanced Features] > [VPN] > [VPN Group] を選択します。

- [All Available VPN Gateways] フィールドで、以前に定義した [VPN Gateway] を選択します。下矢印をクリックして、選択した VPN ゲートウェイを [Selected VPN Gateways in this VPN Group] フィールドに移動します。

- メニュー バーから、[Advanced Features] > [VPN] > [VPN Profile] を選択します。

- VPN プロファイルを設定するには、アスタリスク(*)付きのすべてのフィールドに入力します。

- Enable Auto Network Detect:有効にすると、VPN PhoneはTFTPサーバにpingを送信します。応答を受信しなかった場合は、VPN 接続を自動的に開始します。
- Enable Host ID Check:有効にすると、VPN PhoneはVPNゲートウェイURLの完全修飾ドメイン名(FQDN)を証明書のCN/ストレージエリアネットワーク(SAN)と比較します。これらの項目が一致しないか、またはアスタリスク(*)の付いたワイルドカード証明書(*)が使用されている場合、クライアントは接続できません。
- パスワードの持続性の有効化:これにより、VPN電話は次のVPN試行のためにユーザ名とパスワードをキャッシュできます。
共通の電話プロファイルを使用してグループおよびプロファイルを IP フォンに適用する
[Common Phone Profile Configuration] ウィンドウで、[Apply Config] をクリックして、新しい VPN 設定を適用します。標準の [Common Phone Profile] を使用するか、または新しいプロファイルを作成できます。


共通の電話プロファイルを IP フォンに適用する
特定の電話機/ユーザ用の新しいプロファイルを作成した場合は、[Phone Configuration] ウィンドウに移動します。[Common Phone Profile] フィールドで、[Standard Common Phone Profile] を選択します。

Cisco IP Phoneへのローカルで有効な証明書(LSC)のインストール
次のガイドを使用して、Cisco IP Phoneにローカルで有効な証明書(LSC)をインストールできます。 この手順は、LSCを使用した認証が使用される場合にのみ必要です。 製造元でインストールされた証明書(MIC)またはユーザ名とパスワードを使用する認証では、LSCをインストールする必要はありません。
CUCMクラスタセキュリティモードが非セキュアに設定されている電話機にLSCをインストールする」を参照してください。
新しい設定をダウンロードするために電話を Call Manager に再度登録する
これは、設定プロセスの最後の手順です。
確認
ルータの検証
ルータの VPN セッションの統計情報を確認するには、次のコマンドを使用して、ユーザ名と証明書認証の出力の違い(強調表示)を確認します。
ユーザ名/パスワード認証の場合:
Router#show webvpn session user phones context SSL
Session Type : Full Tunnel
Client User-Agent : Cisco SVC IPPhone Client v1.0 (1.0)
Username : phones Num Connection : 1
Public IP : 172.16.250.34 VRF Name : None
Context : SSL Policy Group : SSLPhones
Last-Used : 00:00:29 Created : 15:40:21.503 GMT
Fri Mar 1 2013
Session Timeout : Disabled Idle Timeout : 2100
DPD GW Timeout : 300 DPD CL Timeout : 300
Address Pool : SSL MTU Size : 1290
Rekey Time : 3600 Rekey Method :
Lease Duration : 43200
Tunnel IP : 10.10.10.1 Netmask : 255.255.255.0
Rx IP Packets : 106 Tx IP Packets : 145
CSTP Started : 00:11:15 Last-Received : 00:00:29
CSTP DPD-Req sent : 0 Virtual Access : 1
Msie-ProxyServer : None Msie-PxyPolicy : Disabled
Msie-Exception :
Client Ports : 51534
DTLS Port : 52768
Router#
Router#show webvpn session context all
WebVPN context name: SSL
Client_Login_Name Client_IP_Address No_of_Connections Created Last_Used
phones 172.16.250.34 1 00:30:38 00:00:20
証明書認証の場合:
Router#show webvpn session user SEP8CB64F578B2C context all
Session Type : Full Tunnel
Client User-Agent : Cisco SVC IPPhone Client v1.0 (1.0)
Username : SEP8CB64F578B2C Num Connection : 1
Public IP : 172.16.250.34 VRF Name : None
CA Trustpoint : CAPF
Context : SSL Policy Group :
Last-Used : 00:00:08 Created : 13:09:49.302 GMT
Sat Mar 2 2013
Session Timeout : Disabled Idle Timeout : 2100
DPD GW Timeout : 300 DPD CL Timeout : 300
Address Pool : SSL MTU Size : 1290
Rekey Time : 3600 Rekey Method :
Lease Duration : 43200
Tunnel IP : 10.10.10.2 Netmask : 255.255.255.0
Rx IP Packets : 152 Tx IP Packets : 156
CSTP Started : 00:06:44 Last-Received : 00:00:08
CSTP DPD-Req sent : 0 Virtual Access : 1
Msie-ProxyServer : None Msie-PxyPolicy : Disabled
Msie-Exception :
Client Ports : 50122
DTLS Port : 52932
Router#show webvpn session context all
WebVPN context name: SSL
Client_Login_Name Client_IP_Address No_of_Connections Created Last_Used
SEP8CB64F578B2C 172.16.250.34 1 3d04h 00:00:16
CUCM による確認
ルータが SSL 接続に提供した割り当てられたアドレスで IP フォンが Call Manager に登録されていることを確認します。

トラブルシュート
SSL VPN サーバのデバッグ
Router#show debug
WebVPN Subsystem:
WebVPN (verbose) debugging is on
WebVPN HTTP debugging is on
WebVPN AAA debugging is on
WebVPN tunnel debugging is on
WebVPN Tunnel Events debugging is on
WebVPN Tunnel Errors debugging is on
Webvpn Tunnel Packets debugging is on
PKI:
Crypto PKI Msg debugging is on
Crypto PKI Trans debugging is on
Crypto PKI Validation Path debugging is on
電話からのデバッグ
- CUCM から [Device] > [Phone] に移動します。
- デバイス設定ページで、[Web Access] を [Enabled] に設定します。
- [Save] をクリックして、[Apply Config] をクリックします。

- ブラウザから電話の IP アドレスを入力し、左側のメニューで [Console Logs] を選択します。

- すべての /FS/cache/log*.log ファイルをダウンロードします。コンソール ログ ファイルには、電話が VPN に接続できない理由についての情報が含まれています。
関連バグ
Cisco Bug ID CSCty46387、IOS SSLVPN:コンテキストをデフォルトにするための機能拡張
Cisco Bug ID CSCty46436 、IOS SSLVPN:クライアント証明書検証動作の強化