cisco router configuration

CISCOルーターでL2TP-IPsecベースのVPNサーバーをセットアップ

 そもそもVPNとは何だ

在宅ワークなど自宅から会社のネットワークに接続する、もしくは共用Wifiを安全に利用するなどの場合、よくVPNを利用して安全性対策をしています。でもそもそもVPNとは何でしょう。
VPN(Virtual Private Network)の全体的なイメージを掴めるために、まず単語を分解して見ます。

  • Virtual: クライアントとVPNサーバーの間にpoint-to-point通信を提供する専用プロトコルを利用して、仮想のLANを構造する。
  • Private: このpoint-to-point通信の内容を暗号化して、LANと同じ機密性を保つ。
  • Network: 既存のインタネット回線で通信する

要は、インタネットの共有回線経由で、クライアントとVPNサーバーしか解読できない暗号化通信で拠点のLANに接続しているような、仮想のLAN接続を確立する方法がVirtual Private Network、つまりVPNです。

L2TP/IPsec

VPNによく使われる二つのプロトコル。それぞれ仮想トンネル、暗号化機能を提供しています。

L2TP

Virtual
point-to-point接続を提供するプロトコルはいくつかありますが(PPPoEのPPPもそれの一種),VPNにおいてよく使われるのはL2TP(Layer 2 Tunneling Protocol)というトンネリングプロトコルです。
L2TPはクライアントとサーバーの間のトンネリングだけ提供していて、通信内容には関与しないので、暗号化はトンネル内のプロトコルに委ねることになります。

IPSec

Private
IPSec(Security Architecture for Internet Protocol)は暗号化技術を用いて、IPパケットの暗号化と改竄防止機能を提供しているプロトコル。機密性を提供できないL2TP自体はトンネル内部の通信を守るためにIPSecを利用する場合がほとんどです。

CISCOルーターでのL2TP/IPSec設定

前提条件

  • ルーターのグローバルIPは 219.107.1.1とします。
  • 事前共有鍵は "preshared_key"
  • ユーザー名が"user1", パスワードが"password1" のユーザーを作成します。

ルーター上の設定

#L2TP-IPsecサービス
vpdn enable
vpdn-group VPN_L2TP-IPsec
    accept-dialin
    protocol l2tp
    virtual-template 1
    no l2tp tunnel authentication
    exit

#接続ユーザーの作成
username user1 password 0 password1

#暗号化設定
crypto isakmp policy 100
    encr 3des
    authentication pre-share
    group 2
    exit
crypto isakmp key preshared_key address 0.0.0.0
crypto isakmp keepalive 3600
crypto ipsec transform-set TRANS-SET esp-3des esp-sha-hmac 
    mode transport
    exit
crypto dynamic-map DYNAMIC_MAP 10
    set nat demux
    set transform-set TRANS-SET 
    exit
crypto map CRYPTO_MAP 100 ipsec-isakmp dynamic DYNAMIC_MAP 

#バーチャルインタフェース
interface Virtual-Template1
    ip unnumbered Dialer1
    ip mtu 1280
    ip nat inside
    ip virtual-reassembly in
    peer default ip address pool VPN_POOL_ADDR
    ppp encrypt mppe auto
    ppp authentication ms-chap-v2

#VPNクライアントのIPアドレスプール
ip local pool VPN_POOL_ADDR 10.10.10.1 10.10.10.10
ip forward-protocol nd
no ip http server
no ip http secure-server

#Dialer1から外部ネットワークへのアクセスを許可します
#拠点内LANにアクセスだけならこの設定は不要
access-list 1 permit 10.10.10.0 0.0.0.255

クライアント側のやること

これでVPNを利用してルーターに接続する準備がでいました。
Windows10,iOS,AndroidなどのOSがVPNクライアントを内蔵していますので、ネットワーク設定のところでVPNを有効にして、必要な情報を入力すれば簡単にVPN接続を確立できます。
動的IP回線の場合、サーバーのIPが分からなくなりますので、DDNSを利用してドメインネームに現在のIPアドレスをバンドしなければなりません。
幸い、DNSの更新タスクもルーターが自動で行うようにが設定できます。

CHECK

動的IPアドレスとDDNS ウェブサーバー、ゲームサーバー、或いはVPNサーバーなど、外部からの接続を想定していれば、基本的に固定なIPアドレスが必要です。 ただし、ipv4アドレスが枯渇していることもあるので、一般ユーザーに対してほとんど[…]