有馬総一郎のブログ

(彼氏の事情)

2020年11月18日 10:07:46 JST - 4 minute read - Windows

Windows VPN接続(L2TP/IPsec)のやり方

テレワーク、リモートワークということで、接続のためのツールをインストールせずに、WindowsビルドインされたVPN接続するやり方、メモ。

VPN接続追加

設定 -> ネットワークとインターネット -> VPN -> VPN接続を追加する

設定項目
VPNプロバイダー Windows (ビルドイン)
接続名 hogehoge
サーバー名またはアドレス 123.456.789.012
VPNの種類 事前共有キーを使ったL2TP/IPsec
事前共有キー abcd1234efgh5678
サインイン情報の種類 ユーザー名とパスワード
ユーザー名 (オプション) user
パスワード (オプション) password

保存

これでいけるかと、思いきやいかないこともある。

【Windows 10】VPN接続の設定と接続ショートカットの作成方法:Tech TIPS - @IT

また、[ネットワークとインターネット]画面の[VPN接続を追加する]では細かい設定(暗号化方法の指定など)が行えないため、このままではVPN接続が確立できないことがある。

VPN接続セキュリティー設定

設定 -> ネットワークとインターネット -> 状態 -> アダプターのオプションを変更する

ここで先程追加したVPN接続が表示されるので、右クリックでコンテキストメニューを開いて プロパティ を選択(クリック)

セキュリティタブ を見ると、デフォルトだと

設定項目
データの暗号化 暗号化は省略可能 (暗号化なしでも接続します)

認証

  • 次のプロトコルを許可する
  • 暗号化されてないないパスワード(PAP)
  • チャレンジハンドシェイク認証プロトコル(CHAP)
  • Microsoft CHAP Version 2 (MS-CHAP v2)
  • Windowsのログオン名とパスワード (およびドメインがある場合はドメイン)を自動的に使う

となっている。このままだとケースによっては

VPN接続名 への接続エラー

切断
エラー628: リモートコンピューターにより接続が途中で切断されました。

と出てしまい接続できない。

設定項目
データの暗号化 暗号化が必要 (サーバーが拒否する場合は切断します)

認証

  • 次のプロトコルを許可する
  • 暗号化されてないないパスワード(PAP)
  • チャレンジハンドシェイク認証プロトコル(CHAP)
  • Microsoft CHAP Version 2 (MS-CHAP v2)
  • Windowsのログオン名とパスワード (およびドメインがある場合はドメイン)を自動的に使う

データの暗号化を暗号化が必要 (サーバーが拒否する場合は切断します)に選択して、チャレンジハンドシェイク認証プロトコル(CHAP)にチェックを入れることで接続可能1となった。

VPN接続ショートカットキー

上で引用したサイトのとおり

  1. %WinDir%\System32\rasphone.exeのショートカットキー作成
  2. 1.で作成したショートカットキーのプロパティを開き、 リンク先C:\Windows\System32\rasphone.exe -d <VPN接続名>とする。

切断の場合はdでなくhを使う。

VPN接続コマンド

これまた、上で引用したサイトのとおり

  • 接続 rasdial.exe <VPN接続名> <ユーザー名> *
  • 切断 rasdial.exe <VPN接続名> /DISCONNECT

rasdial.exe <VPN接続名> <ユーザー名>だけだと

*VPN接続名* に接続中...
ユーザー名とパスワードを確認中...

リモート アクセス エラー 734 - PPP リンク制御プロトコルを終了しました。

このエラーの詳細については:
        'hh netcfg.chm' と入力してください。
        ヘルプでトラブルシューティングのエラー メッセージをクリックし、734 を参照してください。

となる。ちなみにhh netcfg.chmとしても

ファイル netcfg.chm を開けません。

となる。

VPN接続名を間違えると

リモート アクセス エラー 623 - この接続のための電話帳エントリが見つかりませんでした。

パスワードを間違えると

リモート アクセス エラー 691 - 指定したユーザー名またはパスワードが認識されないか、選択した認証プロトコルがリモート アクセス サーバーで許可されていないため、リモート接続が拒否されました。

となる。

平文で見られてもいいなら*の代わりにパスワードを設定。

rasdial.exe <VPN接続名> <ユーザー名> <パスワード>

*VPN接続名* に接続中...
ユーザー名とパスワードを確認中...
ネットワークにコンピューターを登録中...
*VPN接続名* に正常に接続しました。
コマンドは正常に終了しました。

サインイン情報が保存してあっても、どうもVPN接続名だけやVPN接続名+ユーザー名のみでは接続できないっぽい。


  1. 上のケースはあくまで自分のVPNサーバーの場合である。 ↩︎