RTX1210とWindows10をIPsec L2TPを用いてVPNを構築した際の記録です。
テレワークで会社のネットワークにWindows10を参加する際などに、利用できます。
(本題とは全く関係ないのですが、本日ブログ開設から1年経ちました!)
前提:
・会社側: RTX1210 192.168.0.1 Rev.14.01.35
・自宅側: Windows10 Home 20H2
1.RTX1210側の処理:
今回のケースでは必要はありませんが、遠隔地のルータを設定する場合に、設定が間違った場合に備え 指定時間に再起動するコマンドを投入します。
# 11時20分に再起動する処理
schedule at 10 */* 11:20 * restart
1.1 pp anonymousでWindows10からの接続を着信できるようにする。
pp select anonymous
pp name ${l2tp-name}
pp bind tunnel3
pp auth request mschap-v2
pp auth username ${vpn-user} ${pass}
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool dhcp
ip pp mtu 1258
pp enable anonymous
1.2 ipsec tunnel作成(pp anonymousで利用)
tunnel select 3
tunnel encapsulation l2tp
ipsec tunnel 3
ipsec sa policy 3 3 esp aes-cbc sha-hmac
ipsec ike keepalive log 3 off
ipsec ike keepalive use 3 off
ipsec ike local address 3 192.168.0.1
ipsec ike nat-traversal 3 on
ipsec ike pre-shared-key 3 text ${preshared-key}
ipsec ike remote address 3 any
l2tp tunnel auth off
l2tp keepalive use on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 3
1.3 NATディスクリプタ & ip filter等
nat descriptor masquerade static 1000 1 192.168.0.1 udp 500,4500
nat descriptor masquerade static 1000 2 192.168.0.1 esp
nat descriptor masquerade static 1000 3 192.168.0.1 tcp 1701
ip filter 2081 pass * 192.168.0.1 udp * 500,4500
ip filter 2082 pass * 192.168.0.1 esp
ip filter 2083 pass * 192.168.0.1 tcp * 1721
ip filter 2084 pass * 192.168.0.1 gre * *
pp select 1
ip pp secure filter in ${既存のフィルタ} 2081 2082 2083 2084
ipsec auto refresh on
ipsec transport 3 3 udp 1701
l2tp service on
2.Windows10の設定
2.1 「設定」 → 「ネットワークとインターネット」 → 「VPN」 から、「VPN接続を追加する」をクリック。
2.2 VPNの設定で、以下の項目を入力します。
項目 | 値 |
---|---|
接続先名 | 任意の名前(ここではl2tp-vpn) |
サーバ名またはアドレス | 固定WAN IPアドレス or ドメイン名(ここではtest-vpn.aa0.netvolante.jp) |
VPNの種類 | 事前共有キーを使ったL2TP/IPsec |
事前共有キー | RTX1210 tunnel3で設定した ${preshared-key} |
サインイン情報の種別 | ユーザー名とパスワード |
ユーザー名 | RTX1210 pp select anonymousで設定した${vpn-user}(ここではvpn-test) |
パスワード | RTX1210 pp select anonymousで設定した${pass} |
2.3 「コントロールパネル」 → 「ネットワークとインターネット」 → 「ネットワーク接続」から、先ほど作成したVPN接続のプロパティを開く
「セキュリティ」タブから「次のプロトコルを許可する」を選択し、「MS-CHAP Version 2」にチェック
2.4 レジストリエディタで以下のパスを開く。
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
「編集」 → 「新規」 → 「DWARD(32ビット値)」を選択し、以下の項目を作成する
値の名前: AssumeUDPEncapsulationContextOnSendRule
値のデータ: 2
2.5 Windows Defenderを開き「Windows Defenderファイアウォールを介したアプリまたは機能を許可」から「ルーティングとリモートアクセス」にチェックを入れる
2.6 Windows10のNATトラバーサルを有効にする。
管理者権限でコマンドプロンプトを開き
「netsh advfirewall set global ipsec ipsecthroughnat serverandclientbehindnat」と入力
c:\User> netsh advfirewall set global ipsec ipsecthroughnat serverandclientbehindnat
一度再起動し、VPN接続が有効に機能することを確認します。
以上の操作でWindowsからRTX1210にVPN接続ができるようになります。
補足:RTX1210での接続の確認
RTX1210_# show status l2tp
------------------- L2TP INFORMATION -------------------
Number of control table using
Tunnel Control: 1, Session Control: 1
TUNNEL[3]:
Tunnel State: established
Version: L2TPv2
Local Tunnel ID: 40197
Remote Tunnel ID: 4
Local IP Address: 192.168.0.1
Remote IP Address: Windows10のGatewayAddress
Local Src port: 1701
Remote Src port: 1701
PP bind: PP[ANONYMOUS01]
Vendor: Microsoft
Hostname: Windows10のHostname
Next Transmit sequence(Ns): 3
Next Receive sequence(Nr) : 4
Tunnel has 1 session.
Session Information
Session State: established
Local Session ID: 35368
Remote Session ID: 1
15 seconds connection.
Received: 6006 packets [306488 octets]
Transmitted: 22652 packets [15410669 octets]
RTX1210_#
RTX1210_# show log
2021/12/16 13:18:19: [IKE] respond ISAKMP phase to 10.32.2.8
2021/12/16 13:18:19: [IKE] respond IPsec phase to 10.32.2.8
2021/12/16 13:18:19: IP Tunnel[3] Up
2021/12/16 13:18:19: [L2TP] TUNNEL[3] connected from 10.32.2.8
2021/12/16 13:18:19: [L2TP] TUNNEL[3] tunnel 30807 established
2021/12/16 13:18:19: [L2TP] TUNNEL[3] session 45083 established
2021/12/16 13:18:19: PP[ANONYMOUS01] Call detected from user 'vpn-user'
2021/12/16 13:18:19: PP[ANONYMOUS01] PPP/IPCP up (Local: 192.168.0.1, Remote: 192.168.0.3)
ほぼそのまま参考にさせていただきました。
有益な情報をありがとうございます。