Katoです。前回は SoftEther VPN を導入するための下準備を行いました。今回は SoftEther VPN を導入し、サーバ設定ツールで接続してみます。
まず最初に SoftEther VPN の公式サイトから、 SoftEther VPN Server をダウンロードします。ダウンロードしたファイルを保存したいディレクトリに入ってから実行すると楽です。 SoftEther VPN のダウンロードセンターは http://www.softether-download.com/ja.aspx です。
wget ダウンロードURLをペースト
OpenSSL のPOODLE脆弱性に対応したバージョンもあるのですが、そちらはベータ版のみの提供です。
今回はテストですので未対策のRTM版を使うことにしましょう。
実際に企業環境で導入する場合は、POODLE脆弱性が及ぼす影響をしっかり吟味しリスク管理に則った選択を取って下さい。ダウンロードが完了したら書庫を展開し、make
コマンドで実行ファイルを生成します。
make
コマンドを実行するとライセンス条項などが表示されますので、一通り目を通して問題ないことを確認して下さい。
また、ライセンス条項に同意し実行ファイルの生成が完了すると、そのシステムで正常に SoftEther VPN が動作するかテストが行われます。AMIで提供される CentOS7 であればオールクリアできると思います。
tar xzf ダウンロードしたファイル名 cd vpnserver make
vpnserver
ディレクトリは wget
コマンドでダウンロードしたディレクトリの中にありますので、必要であれば vpnserver
ディレクトリを好みの場所へ移動します。
LinuxのFHS(※)に従うのであれば /opt
が妥当かと思われます。SoftEther VPN の公式ドキュメントでは /usr/local
を例としていますが、この場所はFHSの観点からすると不適切です。
(※)FHS=Filesystem Hierarchy Standardの略。Linuxファイルシステムにおける主要ディレクトリとその内容を定めたもの
さて、好みのディレクトリに vpnserver
ディレクトリを移動させたらいよいよ vpnserver
サービスを開始します。
./vpnserver start
このコマンドだけで vpnserver
サービスは起動します。プロセスが存在することを次のコマンドで確認しましょう。
pgrep vpnserver
または
ps aux|grep vpnserver
pgrep
コマンドならばプロセス番号が、ps
コマンドならばプロセス名が得られていれば正常に稼働していることがわかります。
vpnserver
の設定は vpncmd
コマンドを利用すればコンソールからも可能ですが、今回は便利なGUIツールを利用しましょう。
このGUIツールはWindows専用ですので、管理端末に Linux や Mac を用いている場合は vpncmd
で頑張ることになります。
先ほどのダウンロードセンターのURL(http://www.softether-download.com/ja.aspx)を開き、SoftEther VPN Server Manager for Windows を選択します。

表示されるダウンロードリストから最新のRTM版を選択してダウンロードしてください。 インストール手順は簡単ですので手順は省略します。 インストールが完了したら Server Manager を起動します。

「新しい接続設定」ボタンを押すと下の図3のような画面が現れます。接続設定名はお好みの名前を入力して下さい。

ホスト名の欄は EC2 インスタンスのパブリックIPアドレスを入力します。
DNSサービスでIPアドレスと紐つけてある場合は、ここにFQDNを入力しても利用できます。 今回はテストということでDNSサービスを利用していませんので、直接IPアドレスを記入しましょう。 また、Server Manager はプロキシ経由の環境でも利用可能ですので、プロキシを経由する必要がある場合は設定を行って下さい。
右側のラジオボタンがサーバ管理モードになっていることを確認し、OKボタンを押します。

最初の起動画面に戻りますので、上の図4のように先ほど追加した設定を選択してOKボタンを押します。
初回の接続ですのでパスワードの設定を要求されます。好みの文字列にしてOKを押しましょう。 すると簡易セットアップ画面と IPsec 設定の確認画面が表示されますが、今回は両方とも閉じるボタンを押して閉じてしまいます。
最後に次の図5ようなウインドウが残ります。

この画面が表示されると SoftEther VPN Server に接続されていることになります。
次はプライベートセグメントのテストサーバにVPN Clientをインストールします。
本来はVPNサーバと同一IPセグメントを持つサーバならばクライアント不要なのですが、AWS は NIC のプロミスキャスモードが使えないことに起因する問題のためインストールが必要です。
この問題については、本連載「AWSとVPNソフトウェア」の第1回をご覧下さい。
まずはVPNサーバを踏み台にしてプライベートサーバにSSH接続しますが、この時もちろん接続用秘密鍵が必要です。VPNサーバに安全な方法でコピーし、そのパーミッションを400にしておきましょう。
chmod 400 秘密鍵ファイル名 ls -al ssh -i 秘密鍵ファイル名 centos@プライベートサーバアドレス
正常にログインできたら、以下のコマンドで基本的な設定を行いましょう。
yum install wget gcc ntp setenforce 0</code> vi /etc/selinux/config →SELINUX=disabledに変更 rm /etc/localtime ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime vi /etc/locale.conf →ja_JP.UTF-8に変更 . /etc/locale.conf date →ここで日付時刻が日本語で表示され、JSTとなっていることを確認 systemctl start ntpd systemctl enable ntpd
ホスト名の変更と固定は必要ならば行います。今回はテスト用疎通確認サーバですので省略しますが、設定方法は前回のエントリに記載しています。以下のコマンドでVPNクライアントをインストールします。
wget VPNクライアントのURL tar xzf ダウンロードしたファイル cd vpnclient make →VPNサーバ同様、ライセンス条項を確認
実行ファイルが生成されたら、VPNサーバ同様 /opt
にディレクトリを移動しましょう。その後、VPNクライアントのサービスを起動します。
/opt/vpnclient/vpnclient start
サービスの稼働確認はVPN Server同様、
pgrep vpnclient
または
ps aux|grep vpnclient
で行うことが可能です。プロセス番号やプロセス名が表示されれば正常稼働しています。
次回は管理GUIからの VPN Server の設定と、コンソールからの VPN Client の設定を行います。