起動時にOpenVPNクライアントを自動的に起動する


34

起動時にOpenVPNを自動的に起動しようとしています。今日は手動で入力する必要があります

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

その後にユーザー名とパスワードが続きます。起動時にこれを自動化する良い方法はありますか?

回答:


42

編集/etc/default/openvpn。キーボードのCtrl+ Alt+ Tを押して、ターミナルを開きます。開いたら、以下のコマンドを実行します:

sudo gedit /etc/default/openvpn

AUTOSTART="all"行のコメントを解除します。保存して閉じます。システムを再起動します。

画像


(i)特定のVPNをそのように開始するにはどうすればよいですか?(ii)この方法で開始された接続に認証を提供するのは誰ですか(ユーザー名とパスワードの組み合わせをプレーンテキストで保存せずに接続を開始できますか)。(iii)可能であれば、cliメソッドが望ましい(ヘッドレスサーバーでの実装が可能)。の代わりnanogedit使用できますが、nm-appletを使用して資格情報をキーリングに保存することはできません。
ジョナサンY. 14

@JonathanY。これらの利用可能なリソース、HereおよびHereをご覧ください。新しい質問をすることも検討してください。
ミッチ

6
とても感謝しております。(i)(この質問の範囲内です)への答えを伝えることができる限り、AUTOSTART="all"すべての.confファイルを開始しようとします/etc/openvpn(ただし、確認が必要です)。(ii)への回答もこの質問で合理的に範囲が定められています-ユーザー入力なしでシークレットが利用可能でない限り、VPN接続を自動的に開始することはできません(明らかな理由から、プレーンテキストよりもキーチェーンの方が望ましい)。(iii)は課外活動であり、新しい質問に値するかもしれません。これらのリンクではそれらのどれも回答されていませんが、私は見ることができます。
ジョナサンY. 14

図のコメントにあるように、AUTOSTARTのデフォルトは実際には「すべて」です。したがって、私の意見では、この編集は必要ありません。
イヴB

1
@YvesBデフォルトはAUTOSTARTのコメントが外され、空になった場合にのみ、「すべて」である
グスク

9

systemd(16.04)を使用している場合、AUTOSTART = "all"を設定してもまだ開始されていないため、これに注意してください。

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

ただやる

systemctl daemon-reload

その後、サービスを再起動します

 sudo service openvpn restart

パーフェクト、どうもありがとう。
pylover

8

2行にユーザー名/パスワードを含むファイルがある場所に置くことができauth-user-pass filenameます。anonine.ovpnfilename

filenameプレーンなユーザー名/パスワードが含まれているため、適切に保護されていることを確認してください。

これはからopenvpn --helpです:

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

anonine.ovpnこの方法で証明書を追加することもできます:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>

3

接続するためにユーザー名/パスワードが必要ない場合は、.ovpnファイルの名前を.confの拡張子に変更します。

OpenVPNは、autostart = allがなくても、起動時に接続する必要があります。

ユーザー名/パスワードが必要な場合、

.confファイルを編集します

auth-user-pass user-password-filenameの編集

次を含むファイルを作成します。

username
password

Network Managerに接続する場合は、最初に次のことを確認してください。

sudo apt-get install network-manager-openvpn

Ubuntuが少なくとも14.04であることを確認してください。これは、12.04では機能しません。

ca.crt、client.crtなどがない場合は、.confから抽出します。

Network Managerを使用して、新しいVPN接続を作成するか、confをインポートします。

証明書とta.keyを追加します。

ルート、ネットワーク上のリソースにのみ接続を使用します。

ネットワークマネージャーでインターネット接続を編集します。選択してVPNに接続し、その後、あなたのVPN接続が選択します。


0

OPには興味がないかもしれませんが、このサービスがログインするまで起動しないことに不満を感じました。グラフィカルなものか、Ctrl + Alt + F#TTYのいずれかです。最終的に、私はログインしたときに自分のマシンがwifiにしか接続しないことに気付きました。ここで他の回答と、実行するための標準的なアドバイスを組み合わせて、この他の質問のsudo update-rc.d openvpn defaults最初の回答とうまくいきました。おそらくこれは別のGoogle社員に役立つかもしれません。


0

私にとって

auth-user-pass filename

動作しませんでした

つかいます

askpass /etc/openvpn/filename

そして、一番上の行にのみパスワードを持っています

動作し、今ではopenvpnが起動時に起動します

openvpnが機能しているかどうかを確認するコマンド:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

IPを確認するには(ルーターの外部IPとは異なる必要があります)

sudo service openvpn stop

sudo service openvpn start

常に再起動せずに設定を確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.