VPNメモ

ciscoルーターでリモート アクセス IPsec VPN を設定する

CiscoルーターでリモートアクセスIPsec VPNを設定する手順は以下の通りです。この設定は、Cisco IOSベースのルーターを前提としています。

1. 事前準備

  • ルーターのアクセス権限 (管理者権限)
  • クライアントデバイスにCisco AnyConnectなどのVPNクライアントをインストール
  • 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クライアントをインストールします。クライアント設定には以下の情報が必要です:

  • ゲートウェイIPアドレス: ルーターの外部IPアドレス
  • 事前共有キー: ルーターで設定したPSK
  • ユーザー名とパスワード: 認証に使用するアカウント情報
  • 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