OpenVPNドキュメント

VPNの起動と接続テスト

サーバーの起動

まず、OpenVPNサーバーがインターネットからアクセス可能である事を確認してください。

  • ファイアウォールでUDPポート1194(もしくは設定したTCP/UDPポート)を開く
  • ファイアウォール/ゲートウェイからOpenVPNサーバーを実行しているマシンにUDPポート1194を転送するための設定をおこなう

次に、TUN/TAPインターフェースに対するファイアウォールの保護を解除します。

トラブルシューティングを容易にするために、OpenVPNサーバーをデーモンやサービスとしてではなく、最初にコマンドラインから実行 (Windowsの場合は.ovpnファイルを右クリック) することをお勧めします。

openvpn [サーバー設定ファイル]

通常、サーバーを起動すると、以下のようなメッセージが表示されます (出力はプラットフォームによって異なります)。

Sun Feb 6 20:46:38 2005 OpenVPN 2.0_rc12 i686-suse-linux [SSL] [LZO] [EPOLL] built on Feb 5 2005
Sun Feb 6 20:46:38 2005 Diffie-Hellman initialized with 1024 bit key
Sun Feb 6 20:46:38 2005 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Feb 6 20:46:38 2005 TUN/TAP device tun1 opened
Sun Feb 6 20:46:38 2005 /sbin/ifconfig tun1 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Sun Feb 6 20:46:38 2005 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Sun Feb 6 20:46:38 2005 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:23 ET:0 EL:0 AF:3/1 ]
Sun Feb 6 20:46:38 2005 UDPv4 link local (bound): [undef]:1194
Sun Feb 6 20:46:38 2005 UDPv4 link remote: [undef]
Sun Feb 6 20:46:38 2005 MULTI: multi_init called, r=256 v=256
Sun Feb 6 20:46:38 2005 IFCONFIG POOL: base=10.8.0.4 size=62
Sun Feb 6 20:46:38 2005 IFCONFIG POOL LIST
Sun Feb 6 20:46:38 2005 Initialization Sequence Completed

クライアントの起動

サーバー同様に、OpenVPNサーバーをデーモンまたはサービスとして起動するのではなく、最初にコマンドラインから実行 (Windowsの場合は.ovpnファイルを右クリック) することをお勧めします。

openvpn [クライアント設定ファイル]

Windowsでは、通常はクライアントを起動するとサーバー出力時と似たメッセージが表示されます。
"Initialization Sequence Completed"というメッセージが最後に表示されます。

次に、クライアントからVPN経由でpingを実行します。
ルーティングを使用している場合(サーバー設定ファイルでdev tunを使用している場合など)は、以下のようにおこないます。

ping 10.8.0.1

ブリッジを使用している場合 (サーバー設定ファイルでdev tapを使用している場合など) は、サーバーのイーサネットサブネット上のIPアドレスに対してpingを実行します。

pingが成功すればVPNの接続は成功です。


トラブルシューティング

ping が失敗した場合、或いはOpenVPNクライアントの接続が開始しなかった場合は、以下を事項を確認してください。

"TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)"というエラーメッセージが表示される

このエラーはクライアントがサーバーとのネットワーク接続を確立できなかった事を表しています。

解決策:

  • クライアント設定ファイルに設定されているOpenVPNサーバーのホスト名、IPアドレス、ポート番号が正しいかを確認します。
  • OpenVPNサーバーマシンが保護されたLANの単一のNICマシンである場合、サーバーのゲートウェイファイアウォールで正しく転送ルールが設定されているかどうかを確認してください。
    例えば、OpenVPNマシンがファイアウォール内の192.168.4.4にあり、UDPポート1194でクライアント接続を待機している時に、192.168.4.xサブネットのNATゲートウェイには"forward UDP port 1194 from my public IP address to 192.168.4.4."(パブリックIPアドレスからUDPポート1194を192.168.4.4に転送)という転送ルールが設定されている必要があります。
  • サーバーのファイアウォールを開き、UDP ポート1194(或いはサーバー設定ファイルで指定したTCP/UDPポート)への着信接続を許可します。

"Initialization Sequence Completed with errors"というエラーメッセージが表示される

このエラーは、Windows版で(1)DHCPクライアントサービスが実行されていない場合、(2)XP SP2で特定のサードパーティ製パーソナルファイアウォールを使用している場合に発生する可能性があります。

解決策:

DHCPクライアント サーバーを起動し、XP SP2で正常に動作するパーソナルファイアウォールを使用していることを確認してください。

"Initialization Sequence Completed"というメッセージは表示されるが、pingテストは失敗する

これはサーバーもしくはクライアントいずれかのファイアウォールがTUN/TAPインターフェイスをフィルタリングすることでVPNネットワーク トラフィックをブロックしていることを表しています。

解決策:

Windows XP SP2の場合、[Windowsセキュリティセンター]->[Windowsファイアーウォール]->[詳細設定]と進み、TAP-Windowsアダプタに対応するボックスのチェックを外してください。
また、サーバーのTUN/TAPインターフェイスがファイアウォールによってフィルタリングされていないことも確認してください。

proto udp設定を使用すると起動時に接続が停止し、サーバーに下記のログが表示される

TLS: Initial packet from x.x.x.x:x, sid=xxxxxxxx xxxxxxxx

クライアント側にはログは表示されません。

解決策:

クライアントからサーバーへの一方のみでしか接続が確立されていません。
サーバーからクライアントへの接続は、恐らくクライアント側のファイアウォールによりブロックされています。
(1)クライアント側でパーソナルソフトウェアファイアウォールが動作している、もしくは(2)クライアント側のNATルーターゲートウェイが動作している、のいずれかです。
サーバーから返されるUDPパケットがクライアントに到達できるようにファイアウォールの設定を変更してください。

その他のトラブルシューティング情報に関してはFAQを参照してください 。