OpenVPNクライアントでのroute addについて(windows)

2,491 views
Skip to first unread message

T.Suganuma

unread,
Sep 23, 2016, 3:49:49 AM9/23/16
to OpenVPN Japan Users Group
お世話になります。菅沼と申します。

以下の環境で使用しています。

Server
Centos 6.9
OpenVPN 2.2.2(yumでインストール)
ブリッジで運用
サーバー側のインターフェースは192.168.1.12/24

Client
Windows10 64bit
OpenVPN 2.3.12
OpenVPNは、proxy経由、windowsサービスとして起動しています。
クライアント側のインターフェースは、192.168.1.202/24
クライアント側は、OpenVPNではない、通常の接続は仮に10.0.0.1/24とします。

本日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まで到達、接続できます。

コマンドプロンプトから

route delete 192.168.1.0/24 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側の問題ではあると思うのですが、根本的な解決(サービス起動で、自動でつながるようになる)はありますでしょうか。もしあれば、ご教示いただけると助かります。

よろしくお願い申し上げます。




Reply all
Reply to author
Forward
0 new messages