最善の方法は、サービスを使用することです。
- クライアントをインストールするときにOpenVPNサービスをインストールします。
- OpenVPNプロファイルを(Linuxでは一般的な.confではなく、拡張子.ovpnで)OpenVPNインストールディレクトリのconfigサブディレクトリに配置します
C:\Program Files\OpenVPN\config
。
- サービスコンソールを開きます(
services.msc
);
- OpenVPNServiceを見つけて右クリックし、[プロパティ]をクリックして、スタートアップの種類を[手動]から[自動]に変更します。
- サービスを開始すると、OpenVPNが.ovpnファイル内のプロファイルを見つけて接続します。ほとんどの場合、接続ファイルごとに1つのTUN / TAPインターフェイスが必要になることに注意してください。Windowsでは、構成ファイルを使用してインターフェースを接続に永続的に関連付けることを強くお勧めします
dev-node TAP_Serv
。OpenVPNに「Tap_Serv」という名前のネットワークインターフェースへの接続をバインドさせます。
サービスをすべてではなく特定のファイルのみに接続するように強制するホワイトリストを作成する方法があるかどうかを調査することをお勧めします。VPNサーバーをサービスとして使用する必要があり、同じマシンに時々しか接続しない複数のVPNクライアントファイルを必要とする人たちと、以前にいくつかの問題がありました。これらの状況で、OpenVPN GUIに使用可能な接続の美しいリストを表示したい場合、それはサービスがそれらのファイルを見て、それらに自動的に接続しようとしていたことを意味します。そのような場合は、サービスをまったく使用しないことにしました。
サービスを使用するオプションがない場合は、OpenVPN GUI呼び出しに追加のコマンドライン引数を渡して、起動時に自動的に接続することができます(通常どおりトレイアイコンを表示します)。
openvpn-gui.exe --connect myprofile.ovpn
ログイン時に実行するには、そのようなショートカットを通常の起動フォルダーに配置します。(すべてのユーザーの場合%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
、または現在のユーザーのみの場合%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
。)
VPNが設定される前にユーザーがインターネットに接続するのを防ぐ方法がわかりません。私がWindowsファイアウォールを通過しているかどうかを判断できる唯一の方法であり、私はそのテーマの専門家ではありません。パワーユーザーがインターネットにアクセスできないようにしたい場合は、ゲートウェイにファイアウォールを設置するか、それを回避するための強力なグループポリシーが必要です。
通常のユーザーの場合、デフォルトゲートウェイなしでWindowsクライアントマシンを構成できます。次のコマンドを使用して、Windowsクライアント上のVPNサーバーへの永続的な静的ルートを設定します(-Pを指定すると永続化されます)。
route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>
WindowsのRoueは、次のレジストリキーに格納されています。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes
この時点では、切断されたクライアントはVPNサーバーにのみアクセスできます。次に、VPNサーバー構成ファイルに次の行を追加して、クライアントが接続したときにクライアントにルートを追加できます。
VPNサーバーをデフォルトゲートウェイとして構成するには:
push "redirect-gateway def1 bypass-dhcp"
VPNサーバーを介して特定のルートを追加するには:
push "route 192.168.1.0 255.255.255.0"
Windowsでルートプッシュが機能しない場合があります。これが私に起こったとき、私はOpenVPNとそれのインターフェースをWindowsから完全にアンインストールし、システムを再起動し、最新バージョンのソフトウェアをインストールします。次に、最初の接続を確立する前に、Windowsを再起動します。これで問題は常に解決しましたが、Windows 10 Anniversary Update(1607)はOpenVPNにバグがあります。OpenVPNフォーラムのより深い議論へのリンクがあります:
Windows 10アニバーサリーアップデートでの接続の問題
Windows 10 OpenVPNクライアントをセットアップするときは、このことを覚えておいてください。