VPNメモ
ciscoルーターでリモート アクセス IPsec VPN を設定する
CiscoルーターでリモートアクセスIPsec VPNを設定する手順は以下の通りです。この設定は、Cisco IOSベースのルーターを前提としています。
1. 事前準備
2. ISAKMP(IKE)ポリシーの設定
まず、ISAKMP(IKE)ポリシーを設定します。これは、IKEフェーズ1で使用する暗号化方式や認証方法を定義します。
bashコードをコピーする
Router(config)# crypto isakmp policy 1
Router(config-isakmp)# encryption aes 256
Router(config-isakmp)# hash sha256
Router(config-isakmp)# authentication pre-share
Router(config-isakmp)# group 14
Router(config-isakmp)# lifetime 86400
Router(config-isakmp)# exit
3. 事前共有キー (Pre-shared Key) の設定
事前共有キーを設定します。このキーは、クライアントとルーター間の認証に使用されます。
bashコードをコピーする
Router(config)# crypto isakmp key YOUR_PRE_SHARED_KEY address 0.0.0.0 0.0.0.0
YOUR_PRE_SHARED_KEYは実際の共有キーに置き換えてください。
4. IPsec トランスフォームセットの設定
トランスフォームセットを設定します。これは、IKEフェーズ2で使用される暗号化と認証方法を指定します。
bashコードをコピーする
Router(config)# crypto ipsec transform-set MY_TRANSFORM_SET esp-aes 256 esp-sha-hmac
Router(cfg-crypto-trans)# mode tunnel
Router(cfg-crypto-trans)# exit
MY_TRANSFORM_SETは任意の名前に置き換えてください。
5. Crypto Mapの設定
次に、Crypto Mapを設定して、トランスフォームセットとトラフィックを適用するインターフェースを指定します。
bashコードをコピーする
Router(config)# crypto map MY_CRYPTO_MAP 10 ipsec-isakmp
Router(config-crypto-map)# set peer 0.0.0.0
Router(config-crypto-map)# set transform-set MY_TRANSFORM_SET
Router(config-crypto-map)# match address 101
Router(config-crypto-map)# exit
6. アクセスリストの設定
アクセスリストを作成して、どのトラフィックがVPNを経由するかを指定します。
bashコードをコピーする
Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 any
192.168.1.0 0.0.0.255 は、VPNで保護する内部ネットワークを指定します。
7. インターフェースへのCrypto Mapの適用
Crypto Mapをルーターの外部インターフェースに適用します。
bashコードをコピーする
Router(config)# interface GigabitEthernet0/0
Router(config-if)# crypto map MY_CRYPTO_MAP
Router(config-if)# exit
GigabitEthernet0/0 は、インターネットに接続されているインターフェースです。
8. VPDN(Virtual Private Dial-Up Network)の設定
CiscoルーターでリモートアクセスVPNを提供するためにVPDNを設定します。
bashコードをコピーする
Router(config)# vpdn enable
Router(config)# vpdn-group 1
Router(config-vpdn)# accept-dialin
Router(config-vpdn-acc-in)# protocol l2tp
Router(config-vpdn-acc-in)# virtual-template 1
Router(config-vpdn-acc-in)# exit
9. 仮想テンプレートインターフェースの設定
仮想テンプレートインターフェースを設定して、リモートクライアントに割り当てるIPアドレスやルーティング情報を指定します。
bashコードをコピーする
Router(config)# interface virtual-template 1
Router(config-if)# ip unnumbered GigabitEthernet0/0
Router(config-if)# peer default ip address pool VPN_POOL
Router(config-if)# ppp encrypt mppe auto
Router(config-if)# ppp authentication ms-chap-v2
Router(config-if)# exit
10. IPアドレスプールの設定
VPNクライアントに割り当てるIPアドレスプールを設定します。
bashコードをコピーする
Router(config)# ip local pool VPN_POOL 192.168.2.1 192.168.2.10
192.168.2.1 192.168.2.10 は、クライアントに割り当てるIPアドレス範囲です。
11. NAT設定の調整
VPNトラフィックがNATされないように、NAT除外を設定します。
bashコードをコピーする
Router(config)# ip access-list extended NAT_EXEMPT
Router(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Router(config-ext-nacl)# exit
Router(config)# ip nat inside source list NAT_EXEMPT interface GigabitEthernet0/0 overload
12. リモートアクセスVPNクライアントの設定
クライアントにCisco AnyConnectなどのVPNクライアントをインストールし、ルーターの外部IPアドレスや事前共有キーなどを設定します。
以上で、Ciscoルーター上にリモートアクセスIPsec VPNを設定する基本的な手順は完了です。
CiscoルーターでリモートアクセスIPsec VPNを設定するためのより詳細な手順を説明します。この設定手順は、Cisco IOSベースのルーターを想定しており、VPNクライアントはCisco AnyConnectまたは他のIPsec対応クライアントを使用することを前提としています。
1. ルーターの基本設定
最初に、ルーターに対して基本的な設定を行います。管理者権限でルーターにアクセスし、次の設定を行います。
bashコードをコピーする
Router> enable
Router# configure terminal
Router(config)# hostname VPN_Router
Router(config)# no ip domain-lookup
Router(config)# enable secret YOUR_ENABLE_SECRET
Router(config)# line vty 0 4
Router(config-line)# login local
Router(config-line)# transport input ssh
Router(config-line)# exit
Router(config)# ip ssh version 2
Router(config)# service password-encryption
Router(config)# exit
2. ISAKMP(IKE)ポリシーの設定
ISAKMPポリシーはIKEフェーズ1で使用される暗号化、認証、グループの設定を行います。これにより、VPNトンネルの初期設定が確立されます。
bashコードをコピーする
Router(config)# crypto isakmp policy 10
Router(config-isakmp)# encryption aes 256
Router(config-isakmp)# hash sha256
Router(config-isakmp)# authentication pre-share
Router(config-isakmp)# group 14
Router(config-isakmp)# lifetime 86400
Router(config-isakmp)# exit
3. 事前共有キーの設定
事前共有キー(PSK)は、クライアントとルーターが相互に認証するために使用されます。
bashコードをコピーする
Router(config)# crypto isakmp key YOUR_PRE_SHARED_KEY address 0.0.0.0 0.0.0.0
YOUR_PRE_SHARED_KEY はセキュアなキーに置き換えてください。このキーはVPNクライアントとルーター間で共有されます。
4. IPsec トランスフォームセットの設定
トランスフォームセットは、IKEフェーズ2で使用されるIPsecトンネルの暗号化および認証プロトコルを定義します。
bashコードをコピーする
Router(config)# crypto ipsec transform-set MY_TRANSFORM_SET esp-aes 256 esp-sha-hmac
Router(cfg-crypto-trans)# mode tunnel
Router(cfg-crypto-trans)# exit
MY_TRANSFORM_SETは任意の名前を使用します。ここではESP(Encapsulating Security Payload)を使用してデータを暗号化します。
5. Crypto Mapの作成
Crypto Mapは、どのトラフィックがIPsecで保護されるか、またそれにどのトランスフォームセットが適用されるかを指定します。
bashコードをコピーする
Router(config)# crypto map MY_CRYPTO_MAP 10 ipsec-isakmp
Router(config-crypto-map)# set peer 0.0.0.0
Router(config-crypto-map)# set transform-set MY_TRANSFORM_SET
Router(config-crypto-map)# match address 101
Router(config-crypto-map)# exit
set peer コマンドでは、特定のリモートピアのアドレスを指定できます。ここでは 0.0.0.0 を指定して、任意のリモートアドレスに対して適用できるようにしています。
6. アクセスリストの設定
アクセスリストを使用して、どのトラフィックがIPsecトンネルを通過するかを制御します。
bashコードをコピーする
Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 any
192.168.1.0 0.0.0.255 は内部ネットワークを指定しており、このネットワークからのすべてのトラフィックがVPNトンネルを通じて送信されます。
7. インターフェースへのCrypto Mapの適用
外部インターフェースにCrypto Mapを適用することで、インターフェースを通過するトラフィックにIPsecが適用されます。
bashコードをコピーする
Router(config)# interface GigabitEthernet0/0
Router(config-if)# crypto map MY_CRYPTO_MAP
Router(config-if)# exit
ここでは、GigabitEthernet0/0 を外部インターフェースとして指定しています。
8. VPDN(Virtual Private Dial-Up Network)の設定
VPDNグループを設定して、VPN接続を受け入れるための設定を行います。
bashコードをコピーする
Router(config)# vpdn enable
Router(config)# vpdn-group 1
Router(config-vpdn)# accept-dialin
Router(config-vpdn-acc-in)# protocol l2tp
Router(config-vpdn-acc-in)# virtual-template 1
Router(config-vpdn-acc-in)# exit
この設定により、L2TPベースのVPN接続を受け入れる準備が整います。
9. 仮想テンプレートインターフェースの設定
仮想テンプレートインターフェースを設定して、リモートクライアントに割り当てるIPアドレスやルーティング情報を指定します。
bashコードをコピーする
Router(config)# interface virtual-template 1
Router(config-if)# ip unnumbered GigabitEthernet0/0
Router(config-if)# peer default ip address pool VPN_POOL
Router(config-if)# ppp encrypt mppe auto
Router(config-if)# ppp authentication ms-chap-v2
Router(config-if)# exit
ip unnumbered コマンドは、外部インターフェースと同じIPアドレスを使用するように仮想インターフェースを設定します。
10. IPアドレスプールの設定
VPNクライアントに割り当てるIPアドレスプールを設定します。
bashコードをコピーする
Router(config)# ip local pool VPN_POOL 192.168.2.1 192.168.2.10
192.168.2.1 から 192.168.2.10 の範囲がリモートクライアントに割り当てられます。
11. NAT設定の調整
VPNトラフィックがNAT(Network Address Translation)されないように、NAT除外設定を行います。
bashコードをコピーする
Router(config)# ip access-list extended NAT_EXEMPT
Router(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Router(config-ext-nacl)# exit
Router(config)# ip nat inside source list NAT_EXEMPT interface GigabitEthernet0/0 overload
この設定により、内部ネットワークからVPNクライアントへのトラフィックがNAT処理されなくなります。
12. クライアント設定
クライアント側にはCisco AnyConnectやその他のIPsec対応VPNクライアントをインストールします。クライアント設定には以下の情報が必要です:
13. デバッグおよびトラブルシューティング
VPN接続の問題が発生した場合、Ciscoルーターのデバッグ機能を使用してトラブルシューティングを行います。
bashコードをコピーする
Router# debug crypto isakmp
Router# debug crypto ipsec
これにより、IKEおよびIPsecの交渉に関する詳細なログが取得できます。
14. 保存と再起動
最後に、設定を保存してルーターを再起動します。
bashコードをコピーする
Router# write memory
Router# reload
この手順を完了すると、リモートアクセスIPsec VPNが構成され、リモートクライアントからの接続を受け入れる準備が整います。必要に応じて、クライアントの接続テストを行い、設定が正しく機能しているか確認してください。
← Go home