|目次|手順 0|1|2|3|A|B|C|D|E|F|G|H| I |J|K|L|M|N|O|P|Q|
作成日:2009年03月01日、更新日:2009年03月01日 作成:鷹の巣OpenVPNを利用したリモートデスクトップ接続の設定例を示します。後編では、OpenVPN を使用して、仮想プライベートネットワークを構築し、Windows のリモートデスクトップ接続を動作させます。
この設定例は、以下の環境で動作の確認を行いました。
目次
LAN内に2台のPCを準備し、1台をVPN サーバー機(192.168.0.11)とし、もう1台をVPN クライアント機(192.168.0.21)として説明します。
C:\Program Files\OpenVPN \sample-config フォルダにあるサンプルファイルの内 server.ovpn と client.ovpn を C:\Program Files\OpenVPN\config フォルダにコピーします。
server.ovpn は、そのまま使用します(待ち受けUDPポート1194、ネットワークセグメント10.8.0.0/24)。
client.ovpn は、「remote my-server-1 1194」と書かれた行をVPN サーバー機のIPアドレス(192.168.0.11)に変更します。(「remote 192.168.0.11 1194」に変更します。)
「C:\Program Files\OpenVPN\easy-rsa\keys 」フォルダ内にある以下のサーバー証明書と鍵を「C:\Program Files\OpenVPN\config 」フォルダにコピーします。
VPN サーバーに必要なファイル----ca.crt 、server.crt 、server.key 、dh1024.pem
エクスプローラにて、C:\Program Files\OpenVPN\config\server.ovpn を右クリックし、「Start OpenVPN on this config file 」を左クリックして、VPN サーバー機を起動します。この方法で起動できない場合は、コマンドプロンプト画面より、「 cd \Program Files\OpenVPN\config 」と移動して、「 openvpn server.ovpn 」を実行して下さい。実行結果を以下に示します。1分以内に「 Initialization Sequence Completed 」と表示されれば、正常に起動出来ています。
注)起動時にWindows ファイアウォールより、警告が出たら、「ブロックを解除する」を押して下さい。
コマンドプロンプト画面よりの起動結果を下記に示します。
画面では、水色がコマンド入力、緑色が得られた結果の注目すべき表示、赤色が注目すべき説明としています。
VPN サーバー機の起動結果(左端のSat Feb 28 17:00:13 2009 という様に書かれた日付情報は、消去しています。)
C:\>cd \Program Files\OpenVPN\config <---設定フォルダへ場所移動。 C:\Program Files\OpenVPN\config>openvpn server.ovpn <---VPN サーバー機を起動。 OpenVPN 2.1_rc15 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 19 2008 NOTE: OpenVPN 2.1 requires '--script-security 2' or hig her to call user-defined scripts or executables Diffie-Hellman initialized with 1024 bit key TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0] ROUTE default_gateway=192.168.0.1 TAP-WIN32 device [OpenVPNローカル エリア接続] opened: \\.\Global\{99999999-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.tap TAP-Win32 Driver Version 9.4 TAP-Win32 MTU=1500 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.1/255.255.255.252 on interface {99999999-XXXX-XXXX-XXXX-XXXXXXXXXXXX} [DHCP-serv: 10.8.0.2, lease-time: 31536000] Sleeping for 10 seconds... Successful ARP Flush on interface [3] {99999999-XXXX-XXXX-XXXX-XXXXXXXXXXXX} C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.2 Route addition via IPAPI succeeded [adaptive] Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] Socket Buffers: R=[7680->7680] S=[65535->65535] UDPv4 link local (bound): [undef]:1194 UDPv4 link remote: [undef] MULTI: multi_init called, r=256 v=256 IFCONFIG POOL: base=10.8.0.4 size=62 IFCONFIG POOL LIST OpenVPNcl1,10.8.0.4 OpenVPNcl3,10.8.0.8 Initialization Sequence Completed <---F4キーを押し、VPN サーバー機を停止。 TCP/UDP: Closing socket C:\WINDOWS\system32\route.exe DELETE 10.8.0.0 MASK 255.255.255.0 10.8.0.2 Route deletion via IPAPI succeeded [adaptive] Closing TUN/TAP interface SIGTERM[hard,] received, process exiting C:\Program Files\OpenVPN\config>
注)画面では、水色がコマンド入力、緑色が得られた結果の注目すべき表示、赤色が注目すべき説明としております。
この起動した状態で、「OpenVPNローカル エリア接続」を開けて、下図の様になっていることを確認します。IP アドレスが 10.8.0.1 になっていることを確認します。確認したついでにOpenVPNローカル エリア接続のプロパティの全般タブで、「接続時に通知領域にインジケータを表示する(W)」にチェックを入れておきます。

F4キーを押して、VPN サーバー機を停止させます。(コマンドプロンプト画面を閉めても停止します。)
「C:\Program Files\OpenVPN\config 」フォルダ内にある以下のサーバー証明書と鍵をUSBメモリ等を利用して、VPN サーバー機(192.168.0.11)の「C:\Program Files\OpenVPN\config 」フォルダに移動させ、項 f と項 g を行い、VPN サーバー機を起動します。(起動したままにします。)1分以内に「 Initialization Sequence Completed 」と表示されれば、正常に起動出来ています。IP アドレスが 10.8.0.1 になっていることを確認します。
VPN サーバー機に必要なファイル----ca.crt 、server.crt 、server.key 、dh1024.pem
以上で、VPN サーバー機の起動と試験が終了しました。
「C:\Program Files\OpenVPN\easy-rsa\keys 」フォルダ内にある以下のクライアント1証明書と鍵を「C:\Program Files\OpenVPN\config 」フォルダにコピーします。
VPN クライアントに必要なファイル---ca.crt 、client1.crt 、client1.key(クライアント2または3でも可)
同様にしてVPN クライアント1機を起動ます。(エクスプローラにて、C:\Program Files\OpenVPN\config\client1.ovpn を右クリックし、「Start OpenVPN on this config file 」を左クリックして、VPN クライアント1機を起動します。)実行結果を以下に示します。1分以内に「 Initialization Sequence Completed 」と表示されれば、正常に起動出来ています。
注)起動時にWindows ファイアウォールより、警告が出たら、「ブロックを解除する」を押して下さい。
VPN クライアント1の起動結果(左端のSat Feb 28 17:00:13 2009 という様に書かれた日付情報は、消去しています。)
C:\>cd \Program Files\OpenVPN\config <---設定フォルダへ場所移動。 C:\Program Files\OpenVPN\config>openvpn client1.ovpn <---VPN クライアント機を起動。 OpenVPN 2.1_rc15 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 19 2008 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables LZO compression initialized Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] Local Options hash (VER=V4): '12345678' Expected Remote Options hash (VER=V4): '87654321' Socket Buffers: R=[7680->7680] S=[65535->65535] UDPv4 link local: [undef] UDPv4 link remote: 192.168.0.11:1194 TLS: Initial packet from 192.168.0.11:1194, sid=ab7a2e60 cf2227bf<---VPN サーバー機に接続できない場合は、これ以降が表示されない。 VERIFY OK: depth=1, /C=US/ST=CA/L=MINO/O=OpenVPN/CN=OpenVPN-CA/emailAddress=abuse@example.jp VERIFY OK: nsCertType=SERVER VERIFY OK: depth=0, /C=US/ST=CA/O=OpenVPN/CN=OpenVPNserver/emailAddress=abuse@example.jp Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA [OpenVPNserver] Peer Connection Initiated with 192.168.0.11:1194 SENT CONTROL [OpenVPNserver]: 'PUSH_REQUEST' (status=1) PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5' OPTIONS IMPORT: timers and/or timeouts modified OPTIONS IMPORT: --ifconfig/up options modified OPTIONS IMPORT: route options modified ROUTE default_gateway=192.168.24.1 TAP-WIN32 device [OpenVPNローカル エリア接続] opened: \\.\Global\{99999999-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.tap TAP-Win32 Driver Version 9.4 TAP-Win32 MTU=1500 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {99999999-XXXX-XXXX-XXXX-XXXXXXXXXXXX} [DHCP-serv: 10.8.0.5, lease-time: 31536000] Successful ARP Flush on interface [3] {99999999-XXXX-XXXX-XXXX-XXXXXXXXXXXX} TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up C:\WINDOWS\system32\route.exe ADD 10.8.0.1 MASK 255.255.255.255 10.8.0.5 Route addition via IPAPI succeeded [adaptive] Initialization Sequence Completed <---F4キーを押し、VPN クライアント機を停止。 TCP/UDP: Closing socket C:\WINDOWS\system32\route.exe DELETE 10.8.0.1 MASK 255.255.255.255 10.8.0.5 Route deletion via IPAPI succeeded [adaptive] Closing TUN/TAP interface SIGTERM[hard,] received, process exiting C:\Program Files\OpenVPN\config>
注)画面では、水色がコマンド入力、緑色が得られた結果の注目すべき表示、赤色が注目すべき説明としております。
この起動した状態で、「OpenVPNローカル エリア接続」を開けて、項5 の項 g と同様になっていることを確認します。IP アドレスが 10.8.0.X になっていることを確認します。IPアドレスを確認したついでにOpenVPNローカル エリア接続のプロパティの全般タブで、「接続時に通知領域にインジケータを表示する(W)」にチェックを入れておきます。
以上で、VPN サーバー機の起動と試験が終了しました。OpenVPN で、VPN トンネルが掘れました。コマンドプロンプト画面で、「ping 10.8.0.1 」と入力し、VPN サーバー機に疎通があることを検査します。
VPN クライアントよりの疎通検査結果
C:\Program Files\OpenVPN\config>ping 10.8.0.1 <---VPN サーバー機へ疎通検査。
Pinging 10.8.0.1 with 32 bytes of data:
Reply from 10.8.0.1: bytes=32 time=1ms TTL=128
Reply from 10.8.0.1: bytes=32 time=1ms TTL=128
Reply from 10.8.0.1: bytes=32 time=1ms TTL=128
Reply from 10.8.0.1: bytes=32 time=1ms TTL=128
Ping statistics for 10.8.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
C:\Program Files\OpenVPN\config>
注)画面では、水色がコマンド入力、緑色が得られた結果の注目すべき表示、赤色が注目すべき説明としております。
F4キーを押して、VPN サーバー機 と VPN クライアント機を共に停止させます。(コマンドプロンプト画面を閉めても停止します。)
VPNサーバー機(192.168.0.11)の起動は、「コントロールパネル」-「管理ツール」-「サービス」で、OpenVPN Service を右クリックして、プロパティを左クリックします。プロパティ画面のスタートアップの種類を「自動」に選択して、「開始」押ボタンを押すと、サービス動作します。(VPNサーバー機も項bの起動方法ができますので、必要な時だけ起動するだけで良ければ、サービス動作させない方が安全です。)

VPNクライアント機(192.168.0.21)は、デスクトップに作成されている下図の「OpenVPN GUI 」アイコンを左クリックすると、画面右下にアイコンが作成されます。この画面右下のアイコンを右クリックしますと、下図のメニューが表示されますので、ここから、接続と切断ができるようになります。アイコンの色は、状態を表し、赤が切断中、黄色が接続途中、緑が接続中であることを示しています。
![]()
OpenVPN用ルータの設定 どんなルータでもOpenVPNを構築できます。
リモートデスクトップ接続用Windows ファイアウォールの設定は、まずは、PCを2台並べて、通常のIPアドレス(192.168.0.X)で、試験して下さい。
OpenVPN を使用したWindows のリモートデスクトップ接続の設定例は、まずは、PCを2台並べて、通常のIPアドレス(192.168.0.X)で、試験して見て下さい。
以上で、VPN の構築が終了しました。LAN内に2台のPCを準備し、試験したことにより、証明書データと鍵(錠前)データ及びVPN サーバー機とVPN クライアント機の設定は、正しいことが証明されました。
冒頭にありましたインターネット越しにルータ2台のファイアウォールを抜けてVPN の構築が成功するどうかは、前項のルータの設定とWindows ファイアウォールの設定のみとなります。
うまく構築できない場合は、一時的にWindows ファイアウォールの設定を無効にして、ルータの設定を検査したり、また、その逆も行って、問題点の切り分けを行う必要があります。VPN サーバーとVPN クライアントが接続できない場合、「TLS交渉に失敗しました」というような嘘の表示が出る場合がありますので、LAN内動作試験の結果を信じて下さい。
このページで構築した例は、ほんの一部分です。構築に成功した後は、下記のサイトもご一読になり、理解を深めることをお奨めします。
ご健闘を祈ります。
おまけ1(OpenVPN をサービスアカウントでサービス動作をさせる設定)
おまけ2(OpenSSL の設定放置で、ISC BIND9 のサービス動作開始せず)
||