vpncmd.exeで仮想NICがインストールできません

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
toppan
Posts: 6
Joined: Mon Sep 28, 2015 10:47 am

vpncmd.exeで仮想NICがインストールできません

Post by toppan » Mon Sep 28, 2015 10:51 am

初めまして。SoftEtherVPNを愛用させていただいております。

早速ですが、SoftEther VPN Clientのvpncmd.exeでNicCreateコマンドを実行しても、下記のようなエラーになり仮想NICがインストールできません。

------------------------------------------------------------
※vpncmd.exeを実行後「2. VPN Client の管理」を選択して「NicCreate VPN」を実行
VPN Client>NicCreate VPN
NicCreate コマンド - 新規仮想 LAN カードの作成
エラーが発生しました。(エラーコード: 31)
仮想 LAN カードデバイスドライバのインストールに失敗しました。
------------------------------------------------------------
※ワンライナーでも同様の結果(vpncmd.exe localhost /client /cmd NicCreate VPN)
※ちなみに「NicDelete VPN」で仮想NICの削除は正常に実行されました。
------------------------------------------------------------

しかし、接続マネージャからGUIで実行すると正常に作成されました。

もちろん、PCの再起動や、32/64bit版の両方を試してみましたができませんでした。
vpnclient.exeはサービスモードとユーザモードの両方で、何度も行いましたが作成できません。
NIC名も変更してみましたがエラーになりました。

ログ(client_log)には特に何も出力されておらず、原因不明です。
OSのイベントログにも何も出力されておりません。

ちなみに、vpncmd.exeのCheckコマンドで動作環境を確認してみましたが、全て合格となっております。

接続マネージャでGUI操作で作成できたのでとりあえずはよかったのですが、
現在、バッチファイルを作成しておりまして、vpncmd.exeで仮想NICが作成できないので作業が止まっている状態です。

不具合なのか、もしくは当方のコマンドの認識に相違があるのか、ご教授頂きたく思います。

よろしくお願い致します。

<環境>
OS:Windows7 Ultimate 64bit (32bitのPCも所持しているのでそちらでも試しましたが同様にエラーとなりました)
ユーザ:Administrator (Admin権限のユーザではなくAdministratorユーザとしてログインしています)
SoftEther:VPN Client 4.18 Build 9570(最新版の4.19 Build 9578 Betaも試しましたが同様にエラーとなりました)

toppan
Posts: 6
Joined: Mon Sep 28, 2015 10:47 am

Re: vpncmd.exeで仮想NICがインストールできません

Post by toppan » Mon Sep 28, 2015 11:52 am

自己レス追記です。

時間があったので、さきほどVMware仮想マシンでWin7 Ultimate 64bitをクリーンインストールして、
インストールした直後の状態でSoftEtherVPNClientをインストーラからインストールし、
vpncmd.exeでNicCreateを行いましたが、エラーになりました。
※Win7の32bitはメディアを所持していないため検証不可

同様に、WinXP 32bitを仮想マシンでクリーンインストールし、同様に行ったところ、こちらは正常に作成されました。

ログオンユーザはAdministrator、vpnclient.exeはサービスモード、ホスト名はvmwin7、vmwinxpとし2バイト系は入っていません。
VPNバージョンは「4.18 Build 9570 RTM」と「4.19 Build 9578 Beta」の両方を試しました。

コマンドも「NicCreate VPM」で同一のコマンドを実行しています。
また、ワンライナーコマンドでもWin7はNG、WinXPはOKとなりました。
※vpncmd.exe localhost /client /cmd NicCreate VPN

これらのことから、当方のコマンドの認識違いやその他ソフトウェアの競合などではなく、
VPNClientの不具合ではないかと推測されます。
※ただし物理マシンではなく仮想マシン上での検証のためそもそもサポートされているかは不明ですが…。

何か情報等がありましたら、ご教授お願い致します。

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: vpncmd.exeで仮想NICがインストールできません

Post by cedar » Tue Sep 29, 2015 9:11 am

クライアント接続マネージャを一度も起動していない状態だと仮想 LAN カードの作成に失敗するかもしれません。
vpnclient(_x64).exe /uihelp を起動してから仮想 LAN カードを作成してみてください。

toppan
Posts: 6
Joined: Mon Sep 28, 2015 10:47 am

Re: vpncmd.exeで仮想NICがインストールできません

Post by toppan » Tue Sep 29, 2015 1:19 pm

> cedar様
情報ありがとうございます。

ご指示頂いた通り「vpnclient(_x64).exe /uihelp」を実行したところvpncmd.exeから正常に仮想NICが作成されました。

vpnclientをサービスモードで起動後にuihelpを実行:OK
vpnclientをユーザモードで起動後にuihelpを実行:OK
上記2パターンの起動順序をそれぞれ逆順で実行:OK

となりました。

ただ、サービス、ユーザモードにかかわらずに、一度でもvpnclientのプロセスを終了させてしまった場合は、uihelpを実行済みであったにも関わらず、再度uihelpを実行する必要がありました。
※プロセス終了後にuihelpを実行せずにNicCreateを実行したら本件同様のエラーとなった

とりあえず、vpnclientを本来の起動方法で実行した後、uihelpを実行すればvpncmdから仮想NICが作成可能となりましたので、バッチファイルの作成を再開することができます。

ご教授頂きありがとうございました。

また、本件について2点ご質問させてください。

1.「クライアント接続マネージャを一度も起動していない状態だと失敗するかもしれない」とのことですが、クライアント接続マネージャは「vpncmgr.exe」なので、ご指示頂いた「vpnclient.exe」ではないのですが、仮想NIC作成時にどのような相互関係があるのでしょうか。

2.「uihelp」とはどのような機能なのでしょうか?
vpnclient.exeを引数指定せずに起動した際に表示される(install、usermodeなどの説明が記載されている)引数一覧のダイアログには、uihelpの記載がないため、どのような機能なのか不明なので、教えて頂ければ幸いです。

よろしくお願い致します。

cedar
Site Admin
Posts: 2070
Joined: Sat Mar 09, 2013 5:37 am

Re: vpncmd.exeで仮想NICがインストールできません

Post by cedar » Thu Oct 01, 2015 9:03 am

vpnclient.exe 本体は、通常はサービスとして動作していますが、Windows Vista 以降では
デフォルトでサービスがダイアログ等を表示できなくなったため、ダイアログを表示する可能性がある
処理はユーザーが起動する UI Helper と呼ばれるプロセスに委託する仕組みとなっています。
仮想 LAN カードの作成以外にも、接続エラーの表示やパスワードの再入力も UI Helper が
担当しています。

UI Helper はクライアント接続マネージャ(GUI)の起動時に自動的に起動されます。
通常は、ユーザーのログオン時にスタートアップからクライアント接続マネージャが起動されますが、
何らかの理由でクライアント接続マネージャを起動していない場合は、UI Helper を別途で
起動する必要があります。

なお、UI Helper は起動時に接続したサービスとの接続が切れると自動的に終了します。

toppan
Posts: 6
Joined: Mon Sep 28, 2015 10:47 am

Re: vpncmd.exeで仮想NICがインストールできません

Post by toppan » Thu Oct 01, 2015 11:56 am

ceder様

内容について理解できました。
ご解説頂きありがとうございました。

インストーラからインストール後に、WinXPのほうは確かにUIHelperがスタートアップ登録されて起動していましたが、
Win7はなぜかスタートアップに登録されておらず、その結果今回のようなエラーが発生したものと思います。

なぜスタートアップに登録されていなかったのかどうかはわかりませんが、
今回の根本原因としては解決・理解しましたので、本件はこれにてクローズとさせて頂きます。

この度はご教授ありがとうございました。

Post Reply