szkがVJやITや、趣味のゲームや自作PCのはなしをするところ。最近バイクをはじめた

【OpenVPN】opvnファイル+systemdでLinux機起動時にVPNに自動接続するメモ

最近良く使うので自分メモです。

opvnファイルは既に用意してある想定で記載します。

ユーザー名とパスワードの自動入力化

雑実装です。
セキュリティ的にはあまり褒められたものではないので、外に置く機器などに設定する際は細心の注意をば

.opvnファイルの中に以下の記載を行います。

Auth-user-pass /etc/openvpn/auth.txt

※ファイルパスとファイル名は何でもOKです。上は一例として

そしてauth.txtには次のような記載を行います。

hostname:~$ cat /etc/openvpn/auth.txt
<user>
<password>

上記のような記載にしておけばopenvpnコマンドでユーザー名とパスワードが聞かれなくなります。

Shellファイルの用意

上記を元にopenvpnを実行するshコマンドを作成します。

vi auto_vpn.sh
#!/bin/bash
 
while true
do
        if [[ `ifconfig | grep 'tun0:'` ]]; then
                echo "vpn is logined."
        else
               openvpn /etc/openvpn/<実行するovpnファイル>.ovpn
        fi
done

 

大分雑ですがこんな感じでしょうか。
ループになっており、tnl0(VPN接続)が無ければコマンド再実行するというもの。

作成後、パーミッションを変更しておきましょう。

chmod 755 ./auto_vpn.sh

systemdへの登録

上記のShファイルをsystemdに登録します。

vi  /etc/systemd/system/auto_vpn.service
[Unit]
Description = auto vpn login

[Service]
ExecStart = /<Shellファイルのファイルパス>/auto_vpn.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target

ファイルパスは自由。Shellファイル名は上記で作成したものを指定しましょう。
また、ファイル名がサービス名になります。(上の例だとauto_vpnがサービス名になる)
自身で任意につけてください。

実行

サービス登録したらsystemctlコマンドでの制御が可能になります。

systemctl enable auto_vpn

これで起動時に自動的にVPN接続されるようになります。


この記事を書いてる人→

szkのアバター

▼検索


▼カテゴリアーカイブ

▼人気記事

▼月別アーカイブ


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です