はじめに
「また同じ手順を踏むのか」
SoftEther VPN ClientをLinuxにインストールするたびに、この気持ちになります。ソースをダウンロードして、ビルドして、vpncmdで仮想NICを作って、アカウントを設定して、接続して、IPアドレスを振って——。
1台だけなら我慢できます。でも、複数のマシンで同じ作業をするとなると、正直やってられないんですよね。
というわけで、全部自動でやってくれるスクリプトを作りました。
何ができるのか
このスクリプトが自動化してくれる作業は以下の通りです。
- 必要なパッケージのインストール(openSUSE / Ubuntu / CentOS対応)
- SoftEther VPN Clientのダウンロードとビルド
- 仮想NICの作成
- 接続アカウントの設定
- VPN接続の確立
- IPアドレスの設定(固定IP / DHCP両対応)
要するに、設定ファイルを書いてコマンドを1発叩くだけで、接続完了まで持っていけるんです。
使い方
1. リポジトリを取得する
git clone https://github.com/kamo-git/setup_tools.git
cd setup_tools/softether-vpn
2. 設定ファイルを作成する
cp .env.sample .env
nano .env # お好みのエディタで
最低限、以下を自分の環境に合わせて書き換えます。
VPN_SERVER_HOST="vpn.example.com" # 接続先サーバー
VPN_SERVER_PORT="443" # ポート番号
VPN_HUB_NAME="DEFAULT" # 仮想HUB名
VPN_USER="user" # ユーザー名
VPN_PASSWORD="password" # パスワード
固定IPを使いたい場合はこちら。
USE_STATIC_IP="true"
VPN_STATIC_IP="192.168.1.10/24"
DHCPでいい場合は USE_STATIC_IP="false" にすればOKです。
3. 実行する
chmod +x setup.sh
sudo ./setup.sh
これだけ。あとは勝手にやってくれます。
2回目以降はどうなるか
既にインストール済みの環境では、ビルド工程がスキップされて接続設定だけ実行されます。
設定を変えて再接続したいときも、.envを編集してもう一度実行すればいい。冪等性があるので、何度実行しても壊れません。
切断するには
sudo /usr/local/vpnclient/vpncmd localhost /CLIENT /CMD AccountDisconnect my_vpn_connection
まとめ
手作業でやると10分以上かかっていた作業が、設定ファイルを書いてコマンド1発で終わるようになりました。複数マシンへの展開も、同じ.envファイルを使い回せばいいだけです。
「面倒なことは自動化する」——エンジニアなら誰しも思うことですよね。同じ悩みを持つ方の参考になれば幸いです。
リポジトリはこちら
GitHub – kamo-git/setup_tools
Contribute to kamo-git/setup_tools development by creating an account on GitHub.