systemdを使用してシステム起動時に自動的にVPNに接続する

systemdを使用してシステム起動時に自動的にVPNに接続する

システムの起動時にVPNを自動的に起動し、ネットワークが再接続されたとき(何らかの理由で接続が切断された後)に再接続したいと思います。

接続コマンドはprotonvpn-cli connect -f

切断するコマンドは次のとおりです。protonvpn-cli disconnect

auto_vpn.serviceinというファイルが~/.config/systemd/user次の内容で作成されました。

[Unit]
Description=Connect to Proton-VPN
Requires=graphical-session.target
After=graphical-session.target

[Service]
Type=simple
ExecStart=/usr/bin/protonvpn-cli connect -f
ExecStop=/usr/bin/protonvpn-cli disconnect
Restart=on-failure
RestartSec=30
StartLimitInterval=350
StartLimitBurst=10
RemainAfterExit=yes

[Install]
WantedBy=graphical-session.target

次に、次を実行します。

systemctl --user daemon-reload
systemctl --user start auto_vpn.service
systemctl --user enable auto_vpn.service

今問題は、サービスが動作しているかです。ただし、コンピュータを再起動するとサービスは開始されません(有効になっていても)。また、ネットワークが再接続されたとき(何らかの理由で接続が切断された後)に再起動するかどうかはわかりません。

ベストアンサー1

したがって、私がsystemdで使用する多くのオプションに慣れていない場合でも、次の変更を加えてシステムを動作させ、そのままにすることができます。

BindsTo=network.service役に立たないようで削除しました。私は必要なくこれらのことを実行しました。

Type=simple
ExecStart=/usr/bin/protonvpn-cli connect -f
ExecStop=/usr/bin/protonvpn-cli disconnect

protonvpn-cliただし、ディレクトリの下に名前付きエントリがあることを確認してください/usr/bin。インストール方法によっては異なる場所にある場合があります。

この場合は、whereisパッケージの検索に使用します。

おすすめ記事