お世話になります。菅沼と申します。
以下の環境で使用しています。
Server
Centos 6.9
OpenVPN 2.2.2(yumでインストール)
ブリッジで運用
Client
Windows10 64bit
OpenVPN 2.3.12
OpenVPNは、proxy経由、windowsサービスとして起動しています。
本日2016/09/23にwindows10のロックから復帰をしたところ、windowsのアップデートみたいな画面が出てきて、アップデートしました。その後、いままでつながっていたOpenVPNがつながらなくなり、いろいろ試した結果、クライアント側のルーティングテーブルに妙なデータが入っていることがわかりました。今までつながっていたクライアントでroute -4 printをコマンドプロンプトから打つと以下の結果になっていました。
結果の一部
192.168.1.0 255.255.255.0 リンク上 192.168.1.202 291
ところがつながらなくなってからは、
192.168.1.0 255.255.255.0 リンク上 192.168.1.202 291
192.168.1.0 255.255.255.0 192.168.1.12 192.168.1.202 291
と192.168.1.0への経路が2個あり、片方のデフォルトGWがOpenVPNのサーバのアドレスになっていました。
この状態ですと、すべての通信が192.168.1.12で止まってしまい、192.168.1.12より先にすすみません。pingやsshは192.168.1.12まで到達、接続できます。
コマンドプロンプトから
を実行すると問題なくつながります。
ログを見ますと
Fri Sep 23 15:50:36 2016 TEST ROUTES: 2/2 succeeded len=2 ret=1 a=0 u/d=up
Fri Sep 23 15:50:36 2016 C:\WINDOWS\system32\route.exe ADD 192.168.1.0 MASK 255.255.255.0 192.168.1.12
Fri Sep 23 15:50:36 2016 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=35 and dwForwardType=4
Fri Sep 23 15:50:36 2016 Route addition via IPAPI succeeded [adaptive]
Fri Sep 23 15:50:36 2016 C:\WINDOWS\system32\route.exe ADD 192.168.1.0 MASK 255.255.255.0 192.168.1.12
Fri Sep 23 15:50:36 2016 ROUTE: route addition failed using CreateIpForwardEntry: オブジェクトは既に存在します。 [status=5010 if_index=18]
Fri Sep 23 15:50:36 2016 Route addition via IPAPI failed [adaptive]
Fri Sep 23 15:50:36 2016 Route addition fallback to route.exe
Fri Sep 23 15:50:36 2016 env_block: add PATH=C:\WINDOWS\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Fri Sep 23 15:50:36 2016 Initialization Sequence Completed
とありまして、2行目のroute.exe addの最後に192.168.1.12がついているのが、原因かと思われます。
今は、バッチファイル作って、タスクスケジューラがなぜか実行できなかったため、立ち上げた後に手動でバッチファイルでルーティングテーブルのデータを削除しています。
おそらく、windows側の問題ではあると思うのですが、根本的な解決(サービス起動で、自動でつながるようになる)はありますでしょうか。もしあれば、ご教示いただけると助かります。
よろしくお願い申し上げます。