私はDebian7.8 Wheezyを使用しており、安定したリポジトリからopenvpnをインストールしました。
別のユーザー(コンピューターリテラシーが高くない)用にシステムをセットアップしたいのですが、構成したプライマリサーバー(/path/to/one.ovpn
)何らかの理由で失敗しました。バックアップがあります(/path/to/two.ovpn
)代わりに、バックアップとして自動的に接続します。
そして多分私は彼らに10個の.ovpnファイルを与え(例えば VPN Gate からの無料のコミュニティサーバーを使用して)、手動で行う必要なしにユーザーが安全であることを本当に確認しようとします(それらの1つが機能すると仮定します)それについては何でも。
デフォルトのopenvpn設定、またはDebianと互換性のあるサードパーティのGUIに、これを実現する方法はありますか?
それともスクリプト? (起動時に実行するように設定できます。)
今できる最善のことは、OpenVPNを適切に設定して、次のような2番目のサーバーがあることを通知することだと思います。
負荷分散/フェイルオーバー構成クライアントの実装
OpenVPNクライアント構成は、負荷分散とフェイルオーバーのために複数のサーバーを参照できます。例えば:
remote server1.mydomain
remote server2.mydomain
remote server3.mydomain
openVPNクライアントに、server1、server2、server3の順に接続を試みるように指示します。既存の接続が切断された場合、OpenVPNクライアントは最後に接続されたサーバーを再試行し、それが失敗した場合は、リスト内の次のサーバーに移動します。 OpenVPNクライアントに、起動時にサーバーリストをランダム化するように指示することもできます。これにより、クライアントの負荷がサーバープール全体に確率的に分散されます。
remote-random
DNS解決の失敗によってOpenVPNクライアントがリスト内の次のサーバーに移動するようにする場合は、以下を追加します。
resolv-retry 60
60パラメーターは、リスト内の次のサーバーに移動する前に、各リモートDNS名を60秒間解決しようとするようにOpenVPNクライアントに指示します。
サーバーリストは、同じマシンで実行されている複数のOpenVPNサーバーデーモンを参照することもできます。各デーモンは、異なるポートで接続をリッスンします。次に例を示します。
remote smp-server1.mydomain 8000
remote smp-server1.mydomain 8001
remote smp-server2.mydomain 8000
remote smp-server2.mydomain 8001
サーバーがマルチプロセッサマシンの場合、各サーバーで複数のOpenVPNデーモンを実行すると、パフォーマンスの観点から有利になる可能性があります。
OpenVPNは、ドメインのゾーン構成に複数のAレコードを持つDNS名を参照するリモートディレクティブもサポートしています。この場合、OpenVPNクライアントは、ドメインが解決されるたびにAレコードの1つをランダムに選択します。
ソース: https://openvpn.net/index.php/open-source/documentation/howto.html#loadbalance
コメントするのに十分な担当者ではありませんが、 このページ に従って追加したかったので、各remote
エントリのプロトコルを指定できます。
サーバーフェイルオーバー用にプロファイルを設定するにはどうすればよいですか?
OpenVPNに接続するサーバーのリストを提供できます。接続に失敗すると、OpenVPNは、応答するサーバーが見つかるまでリストをローテーションします。たとえば、プロファイル内の次のエントリは、最初にUDPポート1194を介してサーバーAに接続しようとし、次にTCPポート443、次にサーバーBでプロセスを繰り返します。OpenVPNは次のようになるまで再試行を続けます。正常に接続するか、接続タイムアウトに達します。これは、環境設定で構成できます。
remote server-a.example.tld 1194 udp remote server-a.example.tld 443 tcp remote server-b.example.tld 1194 udp remote server-b.example.tld 443 tcp