Tunnelblick で VPN 接続できなくなったので対処した

2018.01.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

SSL VPN 環境に接続する際に Tunnelblick を使っているのですが、ある日接続しようとすると下記のダイアログが出てきました。

数日前にバージョンアップをした程度で特に何かを変えたつもりはなかったのですが、対応方法をメモしておきます。

手順 1 : ログを確認する

上に貼ったダイアログにも書いてあるように、詳細なログが出力されているはずですのでそれを確認します。

メニューバーの Tunnelblick のアイコンから「VPN の詳細…」をクリックし、詳細画面を表示させます。

上部の「接続先」アイコンをクリックして、左のリストから普段使用している接続先を選択。ログを見ると、このようなエラーメッセージが出力されていました。

要は「設定ファイルの 6 行目にある tls-remote オプションがおかしい」ということのようです。

手順 2 : 設定の修正(Workaround)

取りあえず設定を開いてみます。

左下の歯車アイコンから「OpenVPN 接続先設定ファイルを編集…」を選択すると、設定ファイルがテキストエディタで開かれます。

6行目あたりに「tls-remote」で始まる行がみえるので、それをコメントアウトして保存します。

この状態で「接続」をクリックすると。。。今度はうまくつながりました。

(一度だけ認証を求めるダイアログが表示されますが、これは設定ファイルを修正したための模様です)

手順 3 : 設定の修正(正?)

単純にコメントアウトするのも乱暴なので、もう少し設定を追ってみました。

「openvpn tls-remote」で検索すると、「--tls-remote オプションは OpenVPN 2.4系で DEPRECATED になった」等といった情報と共に、下記のサイトが見つかりました。

こちらにこう書かれています:

There is a line like the following tls-remote "/C=Country/L=City/O=Company/CN=Name/emailAddress=email address"

You have to replace the line with the following line verify-x509-name "C=Country, L=City, O=Company, CN=Name, emailAddress=email-address"

これに従って再度設定を修正したところ、問題なく動いているようでした。

設定前とログを見比べてみると、VERIFY X509NAME OK との記述が 1 行ふえていました。ただこれ以外にも VERIFY が行われている記述はあり、この設定が特別必要か、と言われると自信はありません。

設定前 :

2017-12-13 23:25:40 VERIFY OK: depth=1, C=jp, L=Tokyo, O=Classmethod ...(略)
2017-12-13 23:25:40 VERIFY OK: depth=0, C=jp, L=Tokyo, O=Classmethod ...(略)

設定後 :

2017-12-13 23:08:26 VERIFY OK: depth=1, C=jp, L=Tokyo, O=Classmethod ...(略)
2017-12-13 23:08:26 VERIFY X509NAME OK: C=jp, L=Tokyo, O=Classmethod ...(略)
2017-12-13 23:08:26 VERIFY OK: depth=0, C=jp, L=Tokyo, O=Classmethod ...(略)

とはいえ Verify に時間がかかる訳でもなく、邪魔にもならないので、とりあえず追加したままで使ってみようと思います。

注意点

  • tls-remote の含まれる行は 2 行ありました。片方はすでにコメントアウトされていたので、されていないほう(有効なほう)をコメントアウトしてください
  • 設定ファイルの編集は、Tunnelblick 上から(歯車アイコンから)行わないと上手くいかないようです(おそらく改ざん防止の機能と思われます)
  • verify-x509-nameの追加行は、問題があったら削除する、という運用でいきたいと思います

まとめ

設定ファイルにて tls-remote と指定されている行をコメントアウトすることで、再度 VPN に接続できるようになりました。

ただ、Tunnelblick のバージョンが上がったのは数日前で、OpenVPN 2.4.x に至っては Tunnelblick 内で数ヶ月前から使われていると思うので、何故急にエラーになるようになったのかは正直よく分かっていません。

もし同じ現象が出た方がいましたら、上記の手順を試してみて下さい。