VPS上のOpenVPNサーバへWindows 10から接続

Windows

前回の記事では、さくらのVPSサーバ上にOpenVPNサーバを構築し、Ubuntu 18.04 LTSのクライアントから接続までを行いました。

今回は、新たにクライアント用の秘密鍵と証明書を再度作成し、Windows 10のマシンからVPN接続を行いたいと思います

(とは言っても秘密鍵と証明書の作成方法はUbuntuで使用したものと変わりはありません。)

Windows 10からVPN接続

OpenVPNサーバでの作業

OpenVPNサーバの構築が完了している前提です。以下を実行して下さい。

クライアント用の秘密鍵・証明書の作成

Easy RSAディレクトリへ移動します。

# cd /etc/openvpn/easy-rsa/

クライアントの秘密鍵・証明書を生成していきます。途中でパスフレーズを聞かれるので、「CAの構築」の際に設定したパスフレーズを入力して下さい。

# ./easyrsa build-client-full winclt01 nopass

Note: using Easy-RSA configuration from: ./vars

Using SSL: openssl OpenSSL 1.1.1d  10 Sep 2019
Generating a RSA private key
...................................................................................+++++
....+++++
writing new private key to '/etc/openvpn/easy-rsa/pki/private/winclt01.key.gOtYiO35MJ'
-----
Using configuration from /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnf
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'winclt01'
Certificate is to be certified until Apr  6 13:32:37 2023 GMT (1080 days)

Write out database with 1 new entries
Data Base Updated

分かりやすいように「winclt01」という名前を指定しました。以下のファイルが生成されます。

/etc/openvpn/easy-rsa/pki/private/winclt01.keyクライアント秘密鍵
/etc/openvpn/easy-rsa/pki/issued/winclt01.crtクライアント証明書

「/etc/openvpn/client/」にコピーします。

# cp pki/private/winclt01.key /etc/openvpn/client/
# cp pki/issued/winclt01.crt /etc/openvpn/client/

Windows 10クライアントでの作業

続いて、クライアント側で以下の作業を行います。

OpenVPNクライアントのインストール

OpenVPNのダウンロードページよりインストーラをダウンロードします。

インストーラを起動し、「Next」をクリックします。

利用許諾契約をよく読んで、「I Agree」をクリックします。

このまま「Next」をクリックします。

「Install」をクリックします。

インストールの完了を待ち、「Next」をクリックします。

インストールが完了しましたので、「Finish」をクリックします。

OpenVPNの起動

デスクトップへ作成された、以下のアイコンをダブルクリックして起動します。

設定ファイルが見つからない旨のメッセージが表示されますのでこのまま「OK」をクリックします。

以下より、設定ファイルとその他必要になるファイルを準備します。

各種ファイルの転送

クライアント側で必要になるファイルは以下の4つです。

/etc/openvpn/ca.crtCA証明書
/etc/openvpn/ta.keyTLS認証鍵
/etc/openvpn/client/winclt01.keyクライアント秘密鍵
/etc/openvpn/client/winclt01.crtクライアント証明書

上記のファイルをSCPやSFTP等でクライアントへ転送して下さい。

私はFilezillaを使用して、一時的にrootログインを有効にしてダウンロードしました。詳細な手順の説明は割愛します。

各種ファイルの配置

「%homepath%\OpenVPN\config」へ任意のフォルダを作成し、先程クライアントへ転送した以下のファイルを配置します。

  • ca.crt
  • ta.key
  • winclt01.key
  • winclt01.crt

その後、任意のファイル名をつけた「.ovpn」ファイルを上記フォルダへ作成し、以下の内容を記述します。OpenVPNサーバのIPアドレスは適宜置き換えて下さい。

client
dev tun
proto udp
remote 153.127.41.234 1194
ca ca.crt
cert winclt01.crt
key winclt01.key
tls-auth ta.key 1
verb 3
cipher AES-256-CBC
remote-cert-tls server
persist-key
persist-tun
nobind

記述内容について、抜粋して以下にまとめます。プロトコルや接続方式、暗号化方式等サーバの使用に合わせるように記述します。

clientクライアントとして動作することを宣言
dev tunルーティング方式(tun)で接続
proto udpプロトコルはUDPを使用
remote 153.127.41.234 1194OpenVPNサーバのIPアドレスをポートを指定
ca ca.crtCA証明書を指定
cert winclt01.crtクライアント証明書を指定
key winclt01.keyクライアント秘密鍵を指定
tls-auth ta.key 1TLS秘密鍵を指定
cipher AES-256-CBC暗号化方式の指定(OpenVPNサーバに合わせる)

OpenVPNサーバへ接続

タスクトレイに以下のアイコンがありますが、これがOpenVPNのアイコンになります。

右クリックし「接続」をクリックします。

以下の画面が一瞬表示され、OpenVPNサーバへ接続されます。

接続の確認

最後に「tracert」コマンドでインターネットへの接続がOpenVPNサーバを経由していることを確認します。

試しに「google.co.jp」のサーバまでのルートを調べてみます。

>tracert google.co.jp

google.co.jp [172.217.175.67] へのルートをトレースしています
経由するホップ数は最大 30 です:

  1    33 ms    37 ms    33 ms  10.8.0.1
  2    33 ms    33 ms    33 ms  153.127.40.2
  3    39 ms    34 ms    34 ms  192.168.119.1
  4    33 ms    33 ms    33 ms  iskrt301b-vps-is1a-rt01-2.sakura.ad.jp [103.10.115.117]
  5    34 ms    34 ms    34 ms  iskrt2s-rt301b.bb.sakura.ad.jp [103.10.113.149]
  6    36 ms    34 ms    34 ms  iskrt4-rt2s.bb.sakura.ad.jp [103.10.113.121]
  7    52 ms    54 ms    53 ms  tkert1-iskrt4.bb.sakura.ad.jp [157.17.131.37]
  8    52 ms    51 ms    53 ms  tkort4-ert1.bb.sakura.ad.jp [157.17.130.113]
  9    53 ms    51 ms    53 ms  as15169.ix.jpix.ad.jp [210.171.224.96]
 10    52 ms    52 ms    51 ms  108.170.242.161
 11    53 ms    52 ms    52 ms  172.253.70.183
 12    52 ms    51 ms    51 ms  nrt20s20-in-f3.1e100.net [172.217.175.67]

1行目を見ると、VPNサーバ(10.8.0.1)を経由していることが分かります。

コメント

タイトルとURLをコピーしました