問題タブ [openvpn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1033 参照

ssh - 動的 IP からの ssh/VPN アクセス / 旅行中。ノックまたはdynDNSベースの認証?

ダイナミック IP アドレスから、または旅行中 (つまり、ランダムなホテル IP) から ssh または VPN ログインにダイナミック DNS ベースの認証を使用する場合と、kockd を使用する場合の利点と欠点は何ですか? 理想的には、ssh/VPN クライアント機能を備えたデバイスは、必要な追加のクライアント ソフトウェアを使用できる必要があります。

(代わりに、ssh / VPN ポートをすべてのユーザーに対して開いたままにしておくことは、あまり魅力的ではありません。)

私は、kockd (または他のポート ノッキング デーモン) を好む傾向があります。

0 投票する
2 に答える
16612 参照

winforms - プログラムでOpenVPN接続を切断するにはどうすればよいですか?

WindowsでOpenVPN接続を開始および停止するWinFormsアプリケーションを作成しています。OpenVPN GUI for Windows( http://openvpn.se/ )が提供するのと同じ機能を実現しようとしていますが、独自の.NETベースのUIを使用しています。

次のアプローチを使用して接続を開始しています。

これによりopenvpn.exeが呼び出され、接続が正常に確立されます。

ただし、接続が確立された後、接続を終了する方法を決定できません。Process.Kill()を使ってみました

これによりプロセスは強制終了されますが、初期ルーティング状態は復元されません。事実上、LANカードを手動で無効/有効にするまでネットワークにアクセスできません。

VPN接続が確立される前の「openvpn--show-net」の出力:

Process.Kill()を使用してVPN接続を閉じた後の「openvpn--show-net」:

プロセスWM_CLOSE / WM_QUIT / WM_ENDMESSAGEメッセージも送信してみましたが、結果が得られませんでした。


適切なソリューションの詳細については、 「実行中のOpenVPNプロセスの制御」の「管理インターフェイスの使用」というタイトルのセクションの手順を参照してください。

C#からのTelnetの使用に関する詳細情報。

0 投票する
2 に答える
5939 参照

c# - DEVCON.EXE (ドライバー ツール) と OpenVPN

より大きなソフトウェア パッケージのアドオンとして、トレイから OpenVPN を管理するアプリケーションを作成しました。

OpenVPN には、OpenVPN アダプター (またはその他のドライバー) をインストールする tapinstall.exe というファイルが含まれています。調査の結果、このファイルは、Microsoft が Windows DDK に含めている devcon と呼ばれるコマンドライン ツールとまったく同じです。OpenVPN の担当者は、使用するために名前を変更しました。

そのため、カスタム アクションでセットアップ (msi) インストーラー中に使用して、ドライバーをインストールします。ほとんどの場合、問題なく動作します。

時々、devcon が失敗してハングし、終了しません。その後、devcon を再実行すると、ドライバーが 2 回インストールされます...これにより、基本的に OpenVPN が壊れます。

devcon でこの問題を見た人、それが何をしているのか知っている人、またはそれを修正する方法を知っている人はいますか?

別の解決策として、C# からドライバーをインストールする方法を知っている人はいますか? (.inf ファイルと .sys ファイルがあります)

更新: この問題は非常にまれであることがわかりました。これは、OpenVPN アダプターの V8 バージョンをアンインストールしてから OpenVPN アダプターの新しいバージョン (V9) をインストールするアップデートを適用した場合に最も頻繁に発生します。また、インストールの合間に PC を再起動しても発生しないようです。そのため、アンインストール時に PC を強制的に再起動した方がよいかもしれません....

補足: MSI インストーラーからドライバーをインストールするために、WiX と DifxAPI (私はそう呼ばれていると思います) を使用している人たちについて聞いたことがあります。これがカスタム アクションでプレーンな C# から実行できる場合のアイデアはありますか? WiX を使用してセットアップ プロジェクトを最初からやり直したくありません (時間がかかる可能性があります)。

0 投票する
2 に答える
5681 参照

c# - C# - OpenVPN をきれいに閉じる

より大きなアプリケーションの拡張機能として、OpenVPN を制御するトレイに収まるアプリケーションを作成しました。

コマンド ラインで openvpn.exe を実行する場合は、F4 キーを押して閉じることができます。C# から同じキープレスを送信する必要がありますが、StandardInput には文字列値しか送信できません。

OpenVpnを強制終了して閉じる必要があり、これがVistaで時々BSODを引き起こしているようです...

この問題についても説明している MSDN の私の投稿へのリンクを次に示します: MSDN フォーラム

StandardInput を使用して特別なキーストロークを Process に送信する方法を知っている人はいますか?

それとも、OpenVPN をよりきれいに閉じるための回避策でしょうか?

アップデート:

以下は、StandardInput.Write() に渡されると機能しません。この例では F1 キーが使用されています。

  • ConsoleKey.F1
  • "\x70" (F1 の 16 進値)
  • Convert.ToChar((int)ConsoleKey.F1)

ユーザー名/パスワードを OpenVPN に問題なく渡すことができるため、入力/出力は既に適切にリダイレクトされています。

更新 2: OpenVPN のいくつかのコマンド ライン オプション ドキュメントでこれを見つけました:

--service exit-event [0|1] OpenVPN が別のプログラムによって自動的に実行され、ディスプレイやキーボードを介したユーザーとの対話が不可能な場合に使用する必要があります。一般に、特定の OpenVPN 構成がサービスとして実行されているときに OpenVPN サービス ラッパーによって自動的に追加されるため、エンド ユーザーがこのオプションを明示的に使用する必要はありません。exit-event は Windows グローバル イベント オブジェクトの名前であり、OpenVPN はこのイベント オブジェクトの状態を継続的に監視し、シグナル状態になると終了します。

2 番目のパラメータは exit-event の初期状態を示し、通常はデフォルトで 0 になります。

同じ exit-event パラメータを使用して、複数の OpenVPN プロセスを同時に実行できます。いずれにせよ、制御プロセスは終了イベントを通知し、そのようなすべての OpenVPN プロセスを終了させることができます。

これを C# でどのように使用しますか? 「終了イベント」は、ミューテックスに言及していることを示していますか?

0 投票する
4 に答える
20154 参照

c# - Windows での OpenVPN --auth-user-pass FILE オプション

--auth-user-pass スイッチを介してファイルからユーザー名/パスワードを OpenVPN に渡そうとすると、次のエラーが発生します。

少なくとも彼らは礼儀正しい。

したがって、私たちの回避策は、Auth Username: および Auth Password: プロンプト (これは C# にあります) を受け取ったときに、プログラムで「標準入力」に書き込むことでした。

タイミングに関するものは 100% 信頼できるものではないため、資格情報を別の方法で OpenVPN に渡す方法を探していて、この投稿に出くわしました: OpenVPN Post

--enable-password-save オプションを使用してソースを再コンパイルできると書かれています。誰もこれを行うことができましたか?

私の最後の質問は次のとおりです。クライアント側で認証ユーザー名/パスワードを openvpn.exe に渡すにはどうすればよいですか? そして、OpenVPNGUI はどうにかしてこれを行いますか (おそらく、彼らが行うことをコピーできます)?

0 投票する
1 に答える
3081 参照

permissions - OpenVPN経由で接続する場合、errno = 13はどういう意味ですか?

OpenVPN接続のテールエンド(それ以外の場合は成功しているように見えます)は次のように述べています(先頭のタイムスタンプは省略されています)。

注:TUN / TAP dev / dev / net / tunを開くことができません:アクセスが拒否されました(errno = 13)
注:カーネル2.2へのフォールバックを試みていますTUN/TAPインターフェイスTUN/ TAPdevを
動的に割り当てることができません終了します

ここでの問題は何ですか?

0 投票する
2 に答える
12503 参照

cloud - Heroku で VPN をセットアップすることは可能ですか?

ステージング環境をプライベートに保つために、heroku で openVPN を使用して VPN をセットアップすることは可能ですか? もしそうなら、誰かが記事やリンクを持っていますか?

0 投票する
1 に答える
6220 参照

python - pythonを使用してopenvpnを実行することを期待

オープン vpn を自動的に実行するには python スクリプトが必要ですが、オープン vpn の実行には sudo を使用します

それが私の端末コマンドです。sudo のパスワードを入力する必要があります。pexpect を使用してそのコマンドを実行できますか? そして、openvpnが正常に実行されたかどうかを知りたいので、終了コードを取得する必要があります

ありがとう

0 投票する
1 に答える
7595 参照

openvpn - OpenVPNTAPドライバーのインストール

Tapinstallを介してWindowsでOpenVPNのTAPドライバーの複数のインスタンスを制御しようとしています。すべてのデバイスのHWIDが同じであるため('tap0901')、tapinstallで1つのデバイスを削除できないようです。発行すると、すべてのデバイスが消えます。

さらに、別のインスタンスをインストールする場合

tapinstallは既存のすべてのインスタンスのドライバーを更新しようとするため、他のすべてのものはリセットされます(既存のタップインストールを使用して開いている接続が切断されます)。

これまでの私の解決策は、INFファイルで指定されたhwidのすべてのインスタンスの名前を別の名前に変更し、.catファイルと.sysファイルの名前もこの新しい名前に変更することでした。ただし、これによりドライバーの署名が壊れます。

複数のOpenVPNTAPドライバーインスタンスを管理するための代替方法を知っている人はいますか?

  1. 他のインスタンスの操作を妨げることなく、ドライバーの単一のインスタンスを削除します
  2. 他のインスタンスの動作を妨げることなく、新しいインスタンスをインストールします

Win32API呼び出しも問題ありません。これを自動化するプログラムを書こうとしています。

助けてくれてありがとう!

0 投票する
3 に答える
5387 参照

android - Android 用の VPN プロバイダー API はありますか?

Android 用の VPN 'プロバイダー' を構築する方法はありますか? 新しい VPN タイプを既存の VPN インフラストラクチャに追加する方法はありますか? たとえば、OpenVPN は、pppoe のようなものもこのカテゴリに収まる可能性があります。