OpenVPNドキュメント
サーバーの起動
まず、OpenVPNサーバーがインターネットからアクセス可能である事を確認してください。
- ファイアウォールでUDPポート1194(もしくは設定したTCP/UDPポート)を開く
- ファイアウォール/ゲートウェイからOpenVPNサーバーを実行しているマシンにUDPポート1194を転送するための設定をおこなう
次に、TUN/TAPインターフェースに対するファイアウォールの保護を解除します。
トラブルシューティングを容易にするために、OpenVPNサーバーをデーモンやサービスとしてではなく、最初にコマンドラインから実行 (Windowsの場合は.ovpnファイルを右クリック) することをお勧めします。
通常、サーバーを起動すると、以下のようなメッセージが表示されます (出力はプラットフォームによって異なります)。
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ファイルを右クリック) することをお勧めします。
Windowsでは、通常はクライアントを起動するとサーバー出力時と似たメッセージが表示されます。
"Initialization Sequence Completed"というメッセージが最後に表示されます。
次に、クライアントからVPN経由でpingを実行します。
ルーティングを使用している場合(サーバー設定ファイルでdev tunを使用している場合など)は、以下のようにおこないます。
ブリッジを使用している場合 (サーバー設定ファイルで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インターフェイスがファイアウォールによってフィルタリングされていないことも確認してください。
クライアントファイアウォールによるTUN/TAPアダプタのフィルタリングを無効にすることは、セキュリティの観点から一般的に妥当です。
基本的にファイアウォールに認証されたVPNトラフィックをブロックしないように指示することになるからです。
また、サーバー側でTUN/TAPインターフェイスをファイアウォールする事に関しては、セキュリティ上メリットがあることを認識しなくてはなりません。
サーバー側でのファイアーウォールの使用についてはアクセスポリシーのセクションも参照してください。
proto udp設定を使用すると起動時に接続が停止し、サーバーに下記のログが表示される
クライアント側にはログは表示されません。
解決策:
クライアントからサーバーへの一方のみでしか接続が確立されていません。サーバーからクライアントへの接続は、恐らくクライアント側のファイアウォールによりブロックされています。
(1)クライアント側でパーソナルソフトウェアファイアウォールが動作している、もしくは(2)クライアント側のNATルーターゲートウェイが動作している、のいずれかです。
サーバーから返されるUDPパケットがクライアントに到達できるようにファイアウォールの設定を変更してください。
その他のトラブルシューティング情報に関してはFAQを参照してください 。