概要
自宅のオンプレサーバとIaaSで使っているクラウドを拠点間VPNで結ぶことでなんちゃってハイブリットクラウド環境を構築するのにSoftetherを用いて構築しました。
今回作った構成は小規模の構成のため、全てL2の1つのNWにまとめました。簡単に導入できかつ環境の管理をするのが非常に楽になりました。
今回前提としては既にSoftether Severが既に構築済であることです。
yunabe.hatenablog.com
インストール方法
softether client のダウンロード
wget http://jp.softether-download.com/files/softether/v4.27-9666-beta-2018.04.21-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.27-9666-beta-2018.04.21-linux-x64-64bit.tar.gz
ダウロードしたファイルを解凍
tar xvf softether-vpnclient-v4.27-9666-beta-2018.04.21-linux-x64-64bit.tar.gz
ファイルをデプロイ
cd vpnclient
make
作成したファイルを移動
cd ..
mv vpnclient /usr/local
権限を付与する
cd /usr/local/vpnclient/
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnclient
起動スクリプトの作成
vim /etc/init.d/vpnclient
#!/bin/sh # # chkconfig: 2345 99 01 # description: SoftEther VPN Client DAEMON=/usr/local/vpnclient/vpnclient LOCK=/var/lock/subsys/vpnclient test -x $DAEMON || exit 0 case "$1" in start) $DAEMON start touch $LOCK ;; stop) $DAEMON stop rm $LOCK ;; restart) $DAEMON stop sleep 3 $DAEMON start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0
スクリプトに権限付与
chmod 755 /etc/init.d/vpnclient
起動コマンド
/etc/init.d/vpnclient start
GUIで使えるように設定する
cd /usr/local/vpnclient/
./vpncmd
※起動後2のManagement of VPN Clientを選択
起動する際にパスワードを要求する
PasswordSet
※私はさらに自宅から以外からは許可しないようにクラウドのFWで設定をしました。
GUIで設定をできるように許可する
RemoteEnable
※GUI使うためにはTCP:9930のポートを開ける必要があります。
Windowsのクライアントアプリを使用する
- 仮想インターフェイスを作成する(vpn_<指定した名前>がIf名になります)
ifconfig
をすると作成したインターフェイスが表示されます。- 新規接続でsoftether VPN Sever で設定した宛先とユーザ名とを入力することでトンネルが張れます。
- 私の場合DHCPではなく固定でIPを指定したかったため以下のコマンドで起動時に固定でIPを振り分けています。
vi /etc/sysconfig/network-scripts/ifcfg-vpn_<指定した名前>
DEVICE=vpn_<指定した名前> BOOTPROTO=none ONBOOT=yes HWADDR=<作成した仮想インターフェイス> IPADDR=<指定したいIP> NETMASK=<指定したいサブネットマスク> USERCTL=no
ネットワークインターフェイス再起動
service network restart
確認
これで他のL2で接続されている拠点にpingを打ってリプライが返ってくるようであれば成功になります。