Cisco 850 / 870 シリーズ アクセス ルータ ソフトウェア コンフィギュレーション ガイド
IPSec トンネルおよび GRE による VPN の設定
IPSec トンネルおよび GRE による VPN の設定
発行日;2012/02/01 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 2MB) | フィードバック

目次

IPSec トンネルおよび GRE による VPN の設定

VPN の設定

IKE ポリシーの設定

グループ ポリシー情報の設定

ポリシー検索のイネーブル化

IPSec トランスフォームおよびプロトコルの設定

IPSec 暗号方式およびパラメータの設定

暗号マップの物理インターフェイスへの適用

GRE トンネルの設定

設定例

IPSec トンネルおよび GRE による VPN の設定

Cisco 850 および Cisco 870 シリーズ ルータは、Virtual Private Network(VPN; 仮想私設網)の作成をサポートしています。

シスコ ルータおよびその他のブロードバンド デバイスを使用すると、インターネットへの高速接続を実現できますが、高度な認証機能と 2 つのエンドポイント間でのデータ暗号化を実行する VPN 接続を使用して、セキュリティを確保する必要のあるアプリケーションも数多く存在します。

サポートされている VPN は、サイト間 VPN とリモート アクセス VPN の 2 種類です。サイト間 VPN は、ブランチ オフィスとコーポレート オフィスを接続する場合などに使用します。リモート アクセス VPN は、リモート クライアントが企業ネットワークにログインする場合に使用します。

この章の構成例は、IPSec トンネルと Generic Routing Encapsulation(GRE; 総称ルーティング カプセル化)プロトコルを使用して、ブランチ オフィスと企業ネットワーク間の接続を保護するサイト間VPNを示しています。図7-1 は、一般的なネットワークの構成例を示しています。

図7-1 IPSec トンネルおよび GRE によるサイト間 VPN

 

 

1

複数の LAN および VLAN を持つブランチ オフィス

2

ファスト イーサネット LAN インターフェイス ― アドレス192.168.0.0/16(NAT の内部インターフェイス)

3

VPN クライアント ― Cisco 850 または Cisco 870 シリーズ アクセス ルータ

4

ファスト イーサネットまたは ATM インターフェイス ― アドレス200.1.1.1(NAT の外部インターフェイス)

5

LAN インターフェイス ― インターネットと接続(外部インターフェイス アドレス 210.110.101.1)

6

VPN クライアント ― もう 1 つのルータ(企業ネットワークへのアクセスを制御)

7

LAN インターフェイス ― 企業ネットワークと接続(内部インターフェイス アドレス 10.1.1.1)

8

本社オフィス ネットワーク

9

GRE を使用した IPSec トンネル

GRE トンネル

一般的に、GRE トンネルは、企業ネットワークなどのプライベート ネットワークに対するアクセスを制御するリモート デバイスとシスコ ルータとの間で VPN を確立する場合に使用します。GRE トンネルを介して転送されるトラフィックはカプセル化されて、ルータの物理インターフェイスにルーティングされます。GRE インターフェイスを使用する場合、企業ネットワークへのアクセスを制御するルータとシスコ ルータは、ダイナミックな IP ルーティング プロトコルをサポートして、トンネル経由でのルーティング アップデートの交換、および IP マルチキャスト トラフィックの利用が可能になります。サポートされる IP ルーティング プロトコルには、Enhanced Interior Gateway Routing Protocol(EIGRP)、Routing Information Protocol(RIP)、Intermediate System-to-Intermediate System(IS-IS)、Open Shortest Path First(OSPF)、およびBorder Gateway Protocol(BGP)があります。


) GRE で IP Security(IPSec)を使用する場合、トラフィックを暗号化するためのアクセス リストは目的のエンド ネットワークやアプリケーションは記載されず、発信方向の GRE トンネルで許可される送信元および宛先として使用されます。トンネル インターフェイス上に他の Access Control List(ACL; アクセス制御リスト)が適用されない場合、GRE トンネルに転送されるすべてのパケットが暗号化されます。


VPN

VPN の設定は、両方のエンドポイント(使用するシスコ ルータとリモート ユーザ、または使用するシスコ ルータともう 1 つのルータなど)で設定する必要があります。設定する必要のあるパラメータは、内部 IP アドレス、内部サブネット マスク、DHCP サーバ アドレス、および Network Address Translation(NAT; ネットワーク アドレス変換)などです。

設定作業

このネットワーク構成を設定するには、次の作業を行います。

VPN の設定

GRE トンネルの設定

これらの作業を行った場合の設定例については、「設定例」を参照してください。


) この章で説明する手順は、基本的なルータ機能に加えて、NAT による PPPoE または PPPoA、DHCP、および VLAN がすでに設定されていることを前提としています。これらの設定作業が済んでいない場合には、使用しているルータに応じて、「基本的なルータの設定」「NAT による PPPoE の設定」「NAT による PPP over ATM の設定」および「DHCP および VLAN を使用した LAN の設定」を参照してください。


VPN の設定

IPSec トンネル上で VPN を設定するには、次の作業を行います。

IKE ポリシーの設定

グループ ポリシー情報の設定

ポリシー検索のイネーブル化

IPSec トランスフォームおよびプロトコルの設定

IPSec 暗号方式およびパラメータの設定

暗号マップの物理インターフェイスへの適用

IKE ポリシーの設定

Internet Key Exchange(IKE)ポリシーを設定するには、グローバル コンフィギュレーション モードから、次の作業を行います。

 

コマンドまたは操作
目的

ステップ 1

crypto isakmp policy priority

例:

Router(config)# crypto isakmp policy 1
Router(config-isakmp)#
 

IKE ネゴシエーションで使用する IKE ポリシーを作成します。プライオリティは 1 ~ 10000 の番号(1 が最高)です。

このとき、Internet Security Association and Key Management Protocol(ISAKMP)ポリシー コンフィギュレーション モードが開始されます。

ステップ 2

encryption {des | 3des | aes | aes 192 | aes 256}

例:

Router(config-isakmp)# encryption 3des
Router(config-isakmp)#
 

IKE ポリシーで使用する暗号化アルゴリズムを指定します。

例では、168 ビットの DES が指定されています。

ステップ 3

hash {md5 | sha}

例:

Router(config-isakmp)# hash md5
Router(config-isakmp)#
 

IKE ポリシーで使用するハッシュ アルゴリズムを指定します。

例では、Message Digest 5(MD5)アルゴリズムが指定されています。デフォルトはSecure Hash standard(SHA-1)です。

ステップ 4

authentication {rsa-sig | rsa-encr | pre-share }

例:

Router(config-isakmp)# authentication pre-share
Router(config-isakmp)#
 

IKE ポリシーで使用する認証方式を指定します。

例では、事前共有鍵が使用されています。

ステップ 5

group {1 | 2 | 5 }

例:

Router(config-isakmp)# group 2
Router(config-isakmp)#
 

IKE ポリシーで使用するDiffie-Hellman グループを指定します。

ステップ 6

lifetime seconds

例:

Router(config-isakmp)# lifetime 480
Router(config-isakmp)#
 

IKE SA(セキュリティ アソシエーション)のライフタイム(60 ~ 86400 秒)を指定します。

ステップ 7

exit

例:

Router(config-isakmp)# exit
Router(config)#
 

IKE ポリシーのコンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに切り替えます。

グループ ポリシー情報の設定

グループ ポリシーを設定するには、グローバル コンフィギュレーション モードから、次の作業を行います。

 

コマンドまたは操作
目的

ステップ 1

crypto isakmp client configuration group { group-name | default}

例:

Router(config)# crypto isakmp client configuration group rtr-remote
Router(config-isakmp-group)#
 

リモート クライアントにダウンロードされる属性を格納する IKE ポリシー グループを作成します。

このとき、ISAKMP ポリシー コンフィギュレーション モードが開始されます。

ステップ 2

key name

例:

Router(config-isakmp-group)# key secret-password
Router(config-isakmp-group)#
 

グループ ポリシーの IKE 事前共有鍵を指定します。

ステップ 3

dns primary-server

例:

Router(config-isakmp-group)# dns 10.50.10.1
Router(config-isakmp-group)#
 

グループのプライマリ Domain Name Service(DNS; ドメイン ネーム サービス)サーバを指定します。


winsコマンドを使用して、グループの Windows Internet Naming Service(WINS)サーバを指定することもできます。


ステップ 4

domain name

例:

Router(config-isakmp-group)# domain company.com
Router(config-isakmp-group)#
 

グループのドメイン メンバーシップを指定します。

ステップ 5

exit

例:

Router(config-isakmp-group)# exit
Router(config)#
 

IKE グループ ポリシーのコンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに切り替えます。

ステップ 6

ip local pool {default | poolname } [ low-ip-address [ high-ip-address ]]

例:

Router(config)# ip local pool dynpool 30.30.30.20 30.30.30.30
Router(config)#
 

グループのローカル アドレス プールを指定します。

このコマンドの詳細および設定可能なその他のパラメータについては、『 Cisco IOS Dial Technologies Command Reference』を参照してください。

ポリシー検索のイネーブル化

AAA によるポリシー検索をイネーブルにするには、グローバル コンフィギュレーション モードから、次の作業を行います。

 

コマンドまたは操作
目的

ステップ 1

aaa new-model

例:

Router(config)# aaa new-model
Router(config)#
 

AAA アクセス制御モデルをイネーブルにします。

ステップ 2

aaa authentication login {default | list-name } method1 [ method2... ]

例:

Router(config)# aaa authentication login rtr-remote local
Router(config)#
 

特定のユーザに関するログイン時の AAA 認証を設定し、使用する方式を指定します。

この例では、ローカル認証データベースが使用されます。ここで RADIUS サーバを使用することもできます。詳しくは、『 Cisco IOS Security Configuration Guide 』および『 Cisco IOS Security Command Reference 』を参照してください。

ステップ 3

aaa authorization {network | exec | commands level | reverse-access | configuration} {default | list-name } [ method1 [ method2... ]]

例:

Router(config)# aaa authorization network rtr-remote local
Router(config)#
 

すべてのネットワーク関連サービス要求(PPP など)に関する AAA 許可を設定し、許可に使用する方式を指定します。

この例では、ローカル許可データベースが使用されます。ここで RADIUS サーバを使用することもできます。詳しくは、『 Cisco IOS Security Configuration Guide 』および『 Cisco IOS Security Command Reference 』を参照してください。

ステップ 4

username name {nopassword | password password | password encryption-type encrypted-password }

例:

Router(config)# username cisco password 0 cisco
Router(config)#
 

ユーザ名に基づく認証システムを確立します。

この例では、ユーザ名 cisco と暗号化パスワード cisco を指定しています。

IPSec トランスフォームおよびプロトコルの設定

トランスフォーム セットは、セキュリティ プロトコルとアルゴリズムの特定の組み合わせです。IKE ネゴシエーションの実行時に、両ピアはデータ フローを保護するために特定のトランスフォーム セットの使用に同意します。

IKE ネゴシエーションの実行時に、両ピアは、複数のトランスフォーム セットから両ピアに共通するトランスフォームを検索します。共通のトランスフォーム セットが見つかると、そのセットが選択され、両ピアのコンフィギュレーションの一部として、そのセットが保護対象トラフィックに適用されます。

IPSec トランスフォーム セットおよびプロトコルを設定するには、グローバル コンフィギュレーション モードから、次の作業を行います。

 

コマンドまたは操作
目的

ステップ 1

crypto ipsec transform-set transform-set-name transform1 [transform2] [transform3] [transform4]

例:

Router(config)# crypto ipsec transform-set vpn1 esp-3des esp-sha-hmac
Router(config)#
 

トランスフォーム セット(IPSec セキュリティ プロトコルおよびアルゴリズムの使用可能な組み合わせ)を定義します。

有効なトランスフォームおよび組み合わせの詳細については、『 Cisco IOS Security Command Reference 』を参照してください。

ステップ 2

crypto ipsec security-association lifetime { seconds seconds | kilobytes kilobytes}

例:

Router(config)# crypto ipsec security-association lifetime seconds 86400
Router(config)#
 

IPSec セキュリティ アソシエーション(SA)のネゴシエート時に使用されるグローバル ライフタイムの値を指定します。

詳細については、『 Cisco IOS Security Command Reference 』を参照してください。


SA を手動で設定する場合には、ピア間のネゴシエーションは実行されないので、両ピアに同じトランスフォーム セットを指定する必要があります。


IPSec 暗号方式およびパラメータの設定

ダイナミック暗号マップ ポリシーは、ルータがすべての暗号マップ パラメータ(IP アドレスなど)を認識していない場合でも、リモート IPSec ピアからの新しい SA のネゴシエーション要求を処理します。

IPSec 暗号方式を設定するには、グローバル コンフィギュレーション モードから、次の作業を行います。

 

コマンドまたは操作
目的

ステップ 1

crypto dynamic-map dynamic-map-name dynamic-seq-num

例:

Router(config)# crypto dynamic-map dynmap 1
Router(config-crypto-map)#
 

ダイナミック暗号マップ エントリを作成して、暗号マップ コンフィギュレーション モードを開始します。

このコマンドの詳細については、『 Cisco IOS Security Command Reference 』を参照してください。

ステップ 2

set transform-set transform-set-name [transform-set-name2...transform-set-name6]

例:

Router(config-crypto-map)# set transform-set vpn1
Router(config-crypto-map)#
 

暗号マップ エントリで使用可能なトランスフォーム セットを指定します。

ステップ 3

reverse-route

例:

Router(config-crypto-map)# reverse-route
Router(config-crypto-map)#
 

暗号マップ エントリの送信元プロキシ情報を作成します。

詳細については、『 Cisco IOS Security Command Reference 』を参照してください。

ステップ 4

exit

例:

Router(config-crypto-map)# exit
Router(config)#
 

グローバル コンフィギュレーション モードを開始します。

ステップ 5

crypto map map-name seq-num [ ipsec-isakmp ] [ dynamic dynamic-map-name] [ discover ] [ profile profile-name]

例:

Router(config)# crypto map static-map 1 ipsec-isakmp dynamic dynmap
Router(config)#
 

暗号マップ プロファイルを作成します。

暗号マップの物理インターフェイスへの適用

暗号マップは、IPSec トラフィックが流れる各インターフェイスに適用する必要があります。物理インターフェイスに暗号マップを適用すると、ルータはすべてのトラフィックを SA データベースに対して評価するようになります。デフォルト設定の場合、ルータは接続を保護するためにリモート サイト間で送信されるトラフィックを暗号化します。この場合、パブリック インターフェイスを使用して、他のトラフィックの伝送やインターネットとの接続を利用することが可能です。

インターフェイスに暗号マップを適用するには、グローバル コンフィギュレーション モードから、次の作業を行います。

 

コマンドまたは操作
目的

ステップ 1

interface type number

例:

Router(config)# interface fastethernet 4
Router(config-if)#
 

暗号マップを適用するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

ステップ 2

crypto map map-name

例:

Router(config-if)# crypto map static-map
Router(config-if)#
 

暗号マップをインターフェイスに適用します。

このコマンドの詳細については、『 Cisco IOS Security Command Reference 』を参照してください。

ステップ 3

exit

例:

Router(config-if)# exit
Router(config)#
 

グローバル コンフィギュレーション モードを開始します。

GRE トンネルの設定

GRE トンネルを設定するには、グローバル コンフィギュレーション モードから、次の作業を行います。

 

コマンドまたは操作
目的

ステップ 1

interface type number

例:

Router(config)# interface tunnel 1
Router(config-if)#
 

トンネル インターフェイスを作成し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 2

ip address subnet mask

例:

Router(config-if)# ip address 10.62.1.193 255.255.255.255
Router(config-if)#
 

トンネルにアドレスを割り当てます。

ステップ 3

tunnel source interface-type number

例:

Router(config-if)# tunnel source fastethernet 0
Router(config-if)#
 

GRE トンネルに対するルータの送信元エンドポイントを指定します。

ステップ 4

tunnel destination default-gateway-ip-address

例:

Router(config-if)# tunnel destination 192.168.101.1
Router(config-if)#
 

GRE トンネルに対するルータの宛先エンドポイントを指定します。

ステップ 5

crypto map map-name

例:

Router(config-if)# crypto map static-map
Router(config-if)#
 

トンネルに暗号マップを割り当てます。


) サイト間で接続を確立するには、トンネル インターフェイスへのダイナミック ルーティングまたはスタティック ルートを設定する必要があります。詳細については、『Cisco IOS Security Configuration Guide』を参照してください。


ステップ 6

exit

例:

Router(config-if)# exit
Router(config)#
 

インターフェイス コンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに戻ります。

ステップ 7

ip access-list {standard | extended} access-list-name

例:

Router(config)# ip access-list extended vpnstatic1
Router(config-acl)#
 

暗号マップで使用される名前付き ACL の ACL コンフィギュレーション モードを開始します。

ステップ 8

permit protocol source source-wildcard destination destination-wildcard

例:

Router(config-acl)# permit gre host 192.168.100.1 host 192.168.101.1
Router(config-acl)#
 

発信インターフェイス上で GRE トラフィックのみを許可するように設定します。

ステップ 9

exit

例:

Router(config-acl)# exit
Router(config)#
 

グローバル コンフィギュレーション モードに戻ります。

設定例

次の設定例は、前述の各項で説明した GRE トンネルによる VPN のコンフィギュレーション ファイルの一部です。

!
aaa new-model
!
aaa authentication login rtr-remote local
aaa authorization network rtr-remote local
aaa session-id common
!
username cisco password 0 cisco
!
interface tunnel 1
ip address 10.62.1.193 255.255.255.252
 
tunnel source fastethernet 0
 
tunnel destination interface 192.168.101.1
 
ip route 20.20.20.0 255.255.255.0 tunnel 1
 
crypto isakmp policy 1
encryption 3des
authentication pre-share
group 2
!
crypto isakmp client configuration group rtr-remote
key secret-password
dns 10.50.10.1 10.60.10.1
domain company.com
pool dynpool
!
crypto ipsec transform-set vpn1 esp-3des esp-sha-hmac
!
crypto ipsec security-association lifetime seconds 86400
!
crypto dynamic-map dynmap 1
set transform-set vpn1
reverse-route
!
crypto map static-map 1 ipsec-isakmp dynamic dynmap
crypto map dynmap isakmp authorization list rtr-remote
crypto map dynmap client configuration address respond
!
! Defines the key association and authentication for IPSec tunnel.
crypto isakmp policy 1
hash md5
authentication pre-share
crypto isakmp key cisco123 address 200.1.1.1
!
!
! Defines encryption and transform set for the IPSec tunnel.
crypto ipsec transform-set set1 esp-3des esp-md5-hmac
!
! Associates all crypto values and peering address for the IPSec tunnel.
crypto map to_corporate 1 ipsec-isakmp
set peer 200.1.1.1
set transform-set set1
match address 105
!
!
! VLAN 1 is the internal interface
interface vlan 1
ip address 10.1.1.1 255.255.255.0
ip nat inside
ip inspect firewall in ! Inspection examines outbound traffic.
crypto map static-map
no cdp enable
!
! FE4 is the outside or Internet-exposed interface
interface fastethernet 4
ip address 210.110.101.21 255.255.255.0
! acl 103 permits IPSec traffic from the corp. router as well as
! denies Internet-initiated traffic inbound.
ip access-group 103 in
ip nat outside
no cdp enable
crypto map to_corporate ! Applies the IPSec tunnel to the outside interface.
!
! Utilize NAT overload in order to make best use of the
! single address provided by the ISP.
ip nat inside source list 102 interface Ethernet1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 210.110.101.1
no ip http server
!
!
! acl 102 associated addresses used for NAT.
access-list 102 permit ip 10.1.1.0 0.0.0.255 any
! acl 103 defines traffic allowed from the peer for the IPSec tunnel.
access-list 103 permit udp host 200.1.1.1 any eq isakmp
access-list 103 permit udp host 200.1.1.1 eq isakmp any
access-list 103 permit esp host 200.1.1.1 any
! Allow ICMP for debugging but should be disabled because of security implications.
access-list 103 permit icmp any any
access-list 103 deny ip any any ! Prevents Internet-initiated traffic inbound.
! acl 105 matches addresses for the IPSec tunnel to or from the corporate network.
access-list 105 permit ip 10.1.1.0 0.0.0.255 192.168.0.0 0.0.255.255
no cdp run