【Mac向け】コマンドラインからVPNをONにする

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術一課の加藤です。
今日はAWSのお話を離れ、ちょっとした効率化のお話を。

VPNをONにするのめんどくさい問題

PCからVPNを介してサーバーなどにアクセスを行いたい場面はよくあると思います。
その時、いちいちVPNの設定を開いてConnect/Disconnectを切り替えるのがめんどくさかったんですよね。

SSHをするときにVPNをONにすることが多かったため、ならTerminalからVPNをONにできればいいのでは…? と思いついたのが始まり。
それ用のシェルスクリプトを書いてみました。

そもそもコマンドでVPNをONにするには

MacにはデフォルトでVPN設定を切り替えできるコマンドが用意されています。

※なお[name]にはVPNの設定名を書きます

とはいえいちいちこれを打つのもめんどくさいので、bash_profileへ設定を行い、簡単に呼び出せるようにしていきます。

1. エイリアスを貼る

一番簡単なのはエイリアスを貼ることでしょう。
.bash_profileに以下を追加します

これで vpnstart 、 vpnstopvpnstatus の各コマンドを使って、VPNへの接続/切断および接続状況確認ができます

2. コマンドを作る

aliasだと物足りない場合はコマンドを作成してしまいましょう。
私はこちらの方法を使いました。

.bash_profileに以下を書き込みます。(ユーザーまたぎで使いたい場合など汎用性を高めたい場合は専用のファイルを作るなど各自工夫をお願いします)

今回はDEFAULT_VPNという環境変数にセットされた値か、-nオプションで与えた値のどちらかをVPNの設定名として利用します。
普段接続するVPNが決まっている場合は以下のコマンドで設定を.bash_profileに書き込んでください。

使い方は以下になります。

自分用途に作ったざっくり仕様なので、利用する際はご自身の責任でお願いします。

ちなみに

実は私、普段bashではなくfishを使っているため、上記のコマンドも実はブログ用にbashコマンドに書き起こしたものだったりします。

fish用のコマンドも下記にさらしておきますので、fish使いの人や、ちょっと気になっているという方はぜひご利用ください。(bashコマンドは急いで書き起こしたので、fishのコマンドと出力などにやや違いがありますがご了承ください。使い方は変わりません。)

 

AWS運用自動化サービス「Cloud Automator」