最近良く使うので自分メモです。
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接続されるようになります。
コメントを残す