zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

OpenVPNでTAPが無いエラーが出たときのWindows8.1での対応方法

Windows8.1にOpenVPN 2.3.2を入れたら、うまく接続してくれなかった。

Sun Apr 00 00:00:00 2014 There are no TAP-Windows adapters on this system. You should be able to create a TAP-Windows adapter by going to Start -> All Programs -> OpenVPN -> Add a new TAP-Windows virtual ethernet adapter.
Sun Apr 00 00:00:00 2014 Exiting due to fatal error

こんなログを吐いて止まってる。

結局のところ上のメッセージ通り、TAPアダプタがなんか変なことになってて、
消してから入れなおしたら復活したのでそのメモ。

■確認
 [コントロールパネル]-[ネットワークと共有センター]-[ネットワーク接続の変更]で
 ネットワーク接続の情報を確認し、ここに[ローカルエリア接続 TAP-Windows Adapter V9]
 というアダプタが”1個だけ”存在しているかどうか確認。

a)TAPが複数存在している場合
 [スタート]画面の[TAP-Windows]の[Delete a new TAP-Windows virtual ethernet adapter]
 を管理者権限で実行し、いったん全部消した上で、
 同[Add a new TAP-Windows virtual ethernet adapter]を管理者権限で実行。
 →ネットワーク接続にTAP-Windows Adapterが出てきたことを確認して接続してみる。

b)そもそもスタート画面に[TAP-Windows]メニューが無い
 →OpenVPNをインストールするときに「Choose Components」で[TAP Virtual Ethernet Adapter]に
  チェックを入れ忘れた可能性あり。上記にチェックを入れた状態で再度上書きインストールする。
 →ネットワーク接続にTAP-Windows Adapterが出てきたことを確認して接続してみる。

c)インストールされているけどTAPが有効にならない。
 →C:\Windows\inf\setupapi.dev.logを確認

Verifying file against specific Authenticode(tm) catalog failed! (0x800b0101)
Error 0x800b0101: A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file.

含まれている証明書の期限が切れている、とある。
上記問題について、OpenSSL2.2.3での以下のバグ報告を確認。
https://community.openvpn.net/openvpn/ticket/321
(TAPの証明書が08/21/2013に切れるバージョンが入っていた)
※ただし、こちらのバグは最新版の2.3.2では解決済み。
Win7/8の64bit版に過去に古いバージョン(2.2.x)をインストールしていた場合に
 この現象が起きうる。というか起きた。
 この場合、コントロールパネルのプログラムのアンインストールより、
 OpenVPNおよびTAP-Windowsをアンインストールして再インストールすることで解決を見た。

以上。