設定例集#104: Windows 10標準IKEv2 IPsec VPNクライアントを利用したリモートアクセス型IPsec VPN


構成
設定開始前に
自動設定の確認と削除
システム時刻の設定
ルーターの設定
設定の保存
ファイアウォールログについて
Windows 10標準 IKEv2 IPsec VPNクライアントの設定
ローカルCAによるサーバー証明書の発行
ローカルCA証明書のファイルへの書き出し
ローカルCA証明書のクライアントへのインストール
クライアントのVPN接続設定
ルーターのコンフィグ



Windows 10標準のVPNクライアントから、インターネット経由で本製品のLAN側プライベートネットワークにアクセスさせるリモートアクセス型VPNの設定例です。
クライアントの仕様にあわせて、IKEv2を使用するよう設定します。また、ローカルRADIUSサーバーを用いてクライアントの認証を行います。

構成

ISPから提供された情報
ISP接続用ユーザー名 user@isp
ISP接続用パスワード isppasswd
PPPoEサービス名 指定なし
WAN側IPアドレス 10.0.0.1/32
接続形態 端末型(アドレスは動的割り当て)
ルーターの基本設定
WAN側物理インターフェース eth1
WAN側(ppp0)IPアドレス 10.0.0.1/32
LAN側(vlan1)IPアドレス(1) 192.168.10.1/24
トンネルインターフェース tunnel0(マルチポイントIPsec)
トンネルインターフェースIPアドレス 192.168.20.1/24

VPNクライアントのアカウント情報
VPNユーザー
ユーザー名
パスワード
IPアドレス
ユーザーA userA passwdA 192.168.20.2/24
ユーザーB userB passwdB 192.168.20.3/24
ユーザーC userC passwdC 192.168.20.4/24

設定開始前に

自動設定の確認と削除

本設定例に掲載されているコマンドは、設定がまったく行われていない本製品の初期状態(スタートアップコンフィグなしで起動した状態)から入力することを前提としています。

そのため、通常は erase startup-config を実行し、スタートアップコンフィグが存在しない状態で起動してから、設定を始めてください。

ただし、本製品はスタートアップコンフィグなしで起動した場合でも、特定の条件を満たすと自動的な設定を行うことがあるため、その場合は設定例にしたがってコマンドを入力しても、コマンドがエラーになったり、全体として意図した動作にならない可能性があります。

これを避けるため、設定開始にあたっては次のいずれかの方法をとることをおすすめします。
自動設定が行われる条件などの詳細については、AMF応用編のAMFネットワーク未検出時の拡張動作をご参照ください。

システム時刻の設定

ログなどの記録日時を正確に保ち、各種機能を適切に動作させるため、システム時刻は正確にあわせて運用することをおすすめします。
ご使用の環境にあわせ、次のいずれかの方法でシステム時刻を設定してください。

ルーターの設定

  1. LANポートにおいて初期状態で有効化されているスパニングツリープロトコル(RSTP)を無効化します。これにはspanning-tree enableコマンドをno形式で実行します。
    スパニングツリープロトコルの詳細は「L2スイッチング」/「スパニングツリープロトコル」をご覧ください。
    no spanning-tree rstp enable
    
  2. WANポートeth1上にPPPoEインターフェースppp0を作成します。これには、encapsulation pppコマンドを使います。
    PPPの詳細は「PPP」/「一般設定」をご覧ください。
    interface eth1
     encapsulation ppp 0
    
  3. PPPインターフェースppp0に対し、PPPoE接続のための設定を行います。

    ・IPCPによるDNSサーバーアドレスの取得要求(ppp ipcp dns
    ・LCP EchoによるPPP接続状態の確認(keepalive
    ・IPCPによるIPアドレスの取得要求(ip address negotiated
    ・ユーザー名(ppp username
    ・パスワード(ppp password
    ・MSS書き換え(ip tcp adjust-mss

    PPPの詳細は「PPP」/「一般設定」をご覧ください。
    interface ppp0
     ppp ipcp dns request
     keepalive
     ip address negotiated
     ppp username user@isp
     ppp password isppasswd
     ip tcp adjust-mss pmtu
    
  4. LAN側インターフェースvlan1にIPアドレスを設定します。これにはip addressコマンドを使います。
    IPインターフェースの詳細は「IP」/「IPインターフェース」をご覧ください。
    interface vlan1
     ip address 192.168.10.1/24
    
  5. ファイアウォールやNATのルール作成時に使うエンティティー(通信主体)を定義します。
    エンティティー定義の詳細は「UTM」/「エンティティー定義」をご覧ください。

    内部ネットワークを表すゾーン「private」を作成します。
    これには、zonenetworkip subnetの各コマンドを使います。
    zone private
     network lan
      ip subnet 192.168.10.0/24
      ip subnet 192.168.20.0/24
    
  6. 外部ネットワークを表すゾーン「public」を作成します。
    これには、前記コマンドに加え、hostip addressの各コマンドを使います。
    zone public
     network wan
      ip subnet 0.0.0.0/0 interface ppp0
      host ppp0
       ip address dynamic interface ppp0
    
  7. ファイアウォールやNATのルール作成時に通信内容を指定するために使う「アプリケーション」を定義します。
    これには、applicationprotocolsportdporticmp-typeicmp-codeの各コマンドを使います。
    アプリケーション定義の詳細は「UTM」/「アプリケーション定義」をご覧ください。

    IPsecのESPパケットを表すカスタムアプリケーション「esp」を定義します。
    application esp
     protocol 50
    
  8. ISAKMPパケットを表すカスタムアプリケーション「isakmp」を定義します。
    application isakmp
     protocol udp
     sport 500
     dport 500
    
  9. NAT-Traversalパケットを表すカスタムアプリケーション「nat-t」を定義します。
    application nat-t
     protocol udp
     dport 4500
    
  10. 外部からの通信を遮断しつつ、内部からの通信は自由に行えるようにするファイアウォール機能の設定を行います。
    これには、firewallruleprotectの各コマンドを使います。

    ・rule 10 - 内部から内部への通信を許可します
    ・rule 20 - 内部から外部への通信を許可します
    ・rule 30, 40 - ISAKMPパケットを許可します
    ・rule 50, 60 - IPsec(ESP)パケットを許可します
    ・rule 70, 80 - NAT-Traversalパケットを許可します

    ファイアウォールの詳細は「UTM」/「ファイアウォール」をご覧ください。
    firewall
     rule 10 permit any from private to private
     rule 20 permit any from private to public
     rule 30 permit isakmp from public.wan to public.wan.ppp0
     rule 40 permit isakmp from public.wan.ppp0 to public.wan
     rule 50 permit esp from public.wan to public.wan.ppp0
     rule 60 permit esp from public.wan.ppp0 to public.wan
     rule 70 permit nat-t from public.wan to public.wan.ppp0
     rule 80 permit nat-t from public.wan.ppp0 to public.wan
     protect
    
  11. LAN側ネットワークに接続されているすべてのコンピューターがダイナミックENAT機能を使用できるよう設定します。
    これには、natruleenableの各コマンドを使います。
    NATの詳細は「UTM」/「NAT」をご覧ください。
    nat
     rule 10 masq any from private to public
     enable
    
  12. RADIUSクライアント機能が使用するRADIUSサーバーを登録します。これにはradius-server hostコマンドを使います。
    ここでは、本製品内蔵のローカルRADIUSサーバーを指定しています。
    RADIUSクライアント機能の詳細は「運用・管理」/「RADIUSクライアント」を、ローカルRADIUSサーバーの詳細は「運用・管理」/「RADIUSサーバー」をご覧ください。
    radius-server host 127.0.0.1 key awplus-local-radius-server
    
  13. VPNクライアントのISAKMP認証に使用するRADIUSサーバーを指定します。これにはaaa authentication isakmpコマンドを使います。
    aaa authentication isakmp default group radius
    
  14. サーバー(本製品)側のISAKMP認証に必要なCA証明書とサーバー証明書を準備するため、ローカルCAの設定を行います。

    ・ローカルCA「local」のセットアップ(crypto pki trustpoint
    ・ローカルCAが発行するサーバー証明書のサブジェクト名(subject-name
    ・ローカルCAが発行するサーバー証明書のサブジェクト代替名(subject-alt-name

    ローカルCAの詳細は「運用・管理」/「ローカルCA」をご覧ください。
    crypto pki trustpoint local
     subject-name /O=AlliedTelesis/CN=10.0.0.1
     subject-alt-name 10.0.0.1
    
  15. ローカルRADIUSサーバーにVPNユーザーを登録します。
    これには、radius-server localserver enablenasgroupattributeuserの各コマンドを使います。
    ローカルRADIUSサーバーの詳細は「運用・管理」/「RADIUSサーバー」をご覧ください。
    radius-server local
     server enable
     nas 127.0.0.1 key awplus-local-radius-server
     group userA
      attribute Framed-IP-Address 192.168.20.2
     group userB
      attribute Framed-IP-Address 192.168.20.3
     group userC
      attribute Framed-IP-Address 192.168.20.4
     user userA password passwdA group userA
     user userB password passwdB group userB
     user userC password passwdC group userC
    
  16. リモートアクセスVPN用のカスタムISAKMPプロファイル「native-vpn」を作成します。

    ・IKEv2の指定(version
    ・自装置の認証方式(local authentication
    ・対向装置の認証方式(remote authentication
    ・RADIUS属性にもとづいてクライアントにIPアドレスを割り当てる設定(configuration-attribute
    ・ISAKMP SA有効期間(lifetime
    ・サーバー証明書(pki trustpoint
    ・暗号/認証方式とDiffie-Hellmanグループ(transform

    ISAKMPプロファイルの詳細は「VPN」/「IPsec」をご覧ください。
    crypto isakmp profile native-vpn
     version 2
     local authentication certificate
     configuration-attribute radius
     remote authentication eap-radius
     lifetime 25200
     pki trustpoint local
     transform 1 integrity SHA256 encryption AES256 group 14
     transform 2 integrity SHA256 encryption AES256 group 2
    
  17. 前の手順で作成したISAKMPプロファイル「native-vpn」を、この後で作成するマルチポイントIPsecトンネルインターフェースtunnel0に割り当てます。これには crypto isakmp peerコマンドを使います。
    crypto isakmp peer policy tunnel0 profile native-vpn
    
  18. マルチポイントIPsecトンネルインターフェースtunnel0を作成します。
    トンネルインターフェースの詳細は「VPN」/「トンネルインターフェース」を、IPsecの詳細は「VPN」/「IPsec」をご覧ください。

    これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。

    ・トンネルインターフェースにおける自装置ID(ローカルID)(tunnel local name
    ・トンネルインターフェースに対するIPsec保護の適用(tunnel protection ipsec
    ・トンネリング方式(tunnel mode ipsec multipoint
    ・トンネルインターフェースのIPアドレス(ip address
    ・トンネルインターフェースにおけるMSS書き換え設定(ip tcp adjust-mss
    interface tunnel0
     tunnel local name 10.0.0.1
     tunnel protection ipsec
     tunnel mode ipsec multipoint
     ip address 192.168.20.1/24
     ip tcp adjust-mss pmtu
    
  19. デフォルト経路をPPPインターフェースppp0に向けます。これにはip routeコマンドを使います。
    IP経路設定の詳細は「IP」/「経路制御」をご覧ください。
    ip route 0.0.0.0/0 ppp0
    
  20. 以上で設定は完了です。
    end
    

設定の保存

■ 設定が完了したら、現在の設定内容を起動時コンフィグとして保存してください。これには、copyコマンドを「copy running-config startup-config」の書式で実行します。
awplus# copy running-config startup-config
Building configuration...
[OK]

また、write fileコマンド、write memoryコマンドでも同じことができます。
awplus# write memory
Building configuration...
[OK]

その他、設定保存の詳細については「運用・管理」/「コンフィグレーション」をご覧ください。

ファイアウォールログについて

■ ファイアウォールのログをとるには、次のコマンド(log(filter))を実行します。
awplus(config)# log buffered level informational facility kern msgtext Firewall

■ 記録されたログを見るには、次のコマンド(show log)を実行します。ここでは、ファイアウォールが出力したログメッセージだけを表示させています。
awplus# show log | include Firewall

Windows 10標準 IKEv2 IPsec VPNクライアントの設定

Windows 10標準VPNクライアントの設定手順を説明します。

ローカルCAによるサーバー証明書の発行

本製品のCLI上から、ローカルCA「local」を使って、ISAKMP認証で使用する本製品のサーバー証明書を発行します。

■ 特権EXECモードでcrypto pki enrollコマンドを実行してください。同コマンドでは使用するローカルCAの名前(トラストポイント名)を指定します。
awplus# crypto pki enroll local
Using private key "server-default"...
Successfully enrolled the local server.
発行したサーバー証明書の情報は、show crypto pki certificatesコマンドで確認できます。

ローカルCA証明書のファイルへの書き出し

次に、本製品のCLI上から、ローカルCAの証明書をファイルに書き出します。

■ 特権EXECモードでcrypto pki export pemコマンドを実行してください。同コマンドでは書き出し先のファイル名を指定します。
ファイル名は任意ですが、ここではWindows 10が証明書ファイルと認識する拡張子 .cer をつけています。
awplus# crypto pki export local pem cacert.cer
Copying...
Successful operation

ローカルCA証明書のクライアントへのインストール

Windows 10クライアントが、VPN接続時に本製品のサーバー証明書を検証するためには、ローカルCAの証明書を「信頼されたルート証明機関」としてクライアントにインストールしておく必要があります。
  1. 前の手順で本製品のファイルシステム上に書き出したCA証明書ファイル(cacert.cer)をWindows 10クライアントにコピーしてください。

  2. 保存したファイルをダブルクリックします。


  3. 証明書のインストールをクリックします。


  4. 「証明書のインポートウィザード」画面が表示されます。
    保存場所で「ローカルコンピューター」を選択し、「次へ」をクリックします。


  5. 「証明書ストアの選択」画面が表示されます。
    「信頼されたルート証明機関」を選択し、「OK」をクリックします。


  6. 「証明書のインポートウィザード」画面に戻ったら、「次へ」をクリックします。


  7. 「完了」をクリックします。


    8.「OK」をクリックします。


    9.「OK」をクリックします。これで証明書のインストールは完了です。


クライアントのVPN接続設定

ローカルCA証明書のインストールが完了したら、以下の手順でVPN接続の設定を行い、接続します。
  1. スタートボタンを押して、「設定」をクリックします。


  2. 「ネットワークとインターネット」をクリックします。


  3. 左のメニューの「VPN」をクリックします。


  4. 「VPN接続を追加する」をクリックします。


  5. VPN接続を追加します。それぞれ以下を設定してください。
    設定を追加したら「保存」をクリックします。


  6. 「コントロールパネル」の「ネットワークと共有センター」から、「アダプター設定」を開きます。
    手順5で作成した「native-VPN」を右クリックし、「プロパティ」を選択します。


  7. 「セキュリティ」タブの「詳細設定」をクリックします。


  8. 「モビリティ」のチェックを外し、「OK」をクリックします。


  9. 「ネットワーク」タブにて「インターネットプロトコルバージョン4(TCP/IPv4)」を選択し、「プロパティ」をクリックします。


  10. 「詳細設定」をクリックします。


  11. 「リモートネットワークでデフォルトゲートウェイを使う」にチェックを入れ、「OK」をクリックします。


  12. 「native-VPN」を右クリックし、「接続/切断」を選択します。


  13. 右下にパネルが出力されたら、「native-VPN」をクリックし、「接続」ボタンを押します。


  14. 接続名の下に「接続済み」と表示されたら、VPN接続は完了です。


ルーターのコンフィグ

!
no spanning-tree rstp enable
!
interface eth1
 encapsulation ppp 0
!
interface ppp0
 ppp ipcp dns request
 keepalive
 ip address negotiated
 ppp username user@isp
 ppp password isppasswd
 ip tcp adjust-mss pmtu
!
interface vlan1
 ip address 192.168.10.1/24
!
zone private
 network lan
  ip subnet 192.168.10.0/24
  ip subnet 192.168.20.0/24
!
zone public
 network wan
  ip subnet 0.0.0.0/0 interface ppp0
  host ppp0
   ip address dynamic interface ppp0
!
application esp
 protocol 50
!
application isakmp
 protocol udp
 sport 500
 dport 500
!
application nat-t
 protocol udp
 dport 4500
!
firewall
 rule 10 permit any from private to private
 rule 20 permit any from private to public
 rule 30 permit isakmp from public.wan to public.wan.ppp0
 rule 40 permit isakmp from public.wan.ppp0 to public.wan
 rule 50 permit esp from public.wan to public.wan.ppp0
 rule 60 permit esp from public.wan.ppp0 to public.wan
 rule 70 permit nat-t from public.wan to public.wan.ppp0
 rule 80 permit nat-t from public.wan.ppp0 to public.wan
 protect
!
nat
 rule 10 masq any from private to public
 enable
!
radius-server host 127.0.0.1 key awplus-local-radius-server
!
aaa authentication isakmp default group radius
!
crypto pki trustpoint local
 subject-name /O=AlliedTelesis/CN=10.0.0.1
 subject-alt-name 10.0.0.1
!
radius-server local
 server enable
 nas 127.0.0.1 key awplus-local-radius-server
 group userA
  attribute Framed-IP-Address 192.168.20.2
 group userB
  attribute Framed-IP-Address 192.168.20.3
 group userC
  attribute Framed-IP-Address 192.168.20.4
 user userA password passwdA group userA
 user userB password passwdB group userB
 user userC password passwdC group userC
!
crypto isakmp profile native-vpn
 version 2
 local authentication certificate
 configuration-attribute radius
 remote authentication eap-radius
 lifetime 25200
 pki trustpoint local
 transform 1 integrity SHA256 encryption AES256 group 14
 transform 2 integrity SHA256 encryption AES256 group 2
!
crypto isakmp peer policy tunnel0 profile native-vpn
!
interface tunnel0
 tunnel local name 10.0.0.1
 tunnel protection ipsec
 tunnel mode ipsec multipoint
 ip address 192.168.20.1/24
 ip tcp adjust-mss pmtu
!
ip route 0.0.0.0/0 ppp0
!
end



(C) 2015 - 2021 アライドテレシスホールディングス株式会社

PN: 613-002107 Rev.AL