今回はConoHaのVPSを利用してサーバー上のUbuntuにSoftehterをインストールしてVPN接続を確立するまでの手順を備忘録代わりに記載していきたいと思います。
vpsサーバーを利用してvpn接続をすることにした理由
1、固定IPアドレスがあればWORDPRESS(ワードプレス)を出先で編集する際になにかと便利
2、無料のWI-FIを利用する際にVPN接続できればセキュリティの観点から少し安心
3、VPNプロトコルはopenvpnを利用したかった(スマホ&PC利用)
以上3点です。
条件1と2はマイIPのソフトイーサ版というサービスを利用すれば簡単に導入することが可能だけど、3つめの条件がスマホ利用時には満たせないことや月額料金を少しではあるが抑えたいということでvpsサーバーを利用することにしました。
さくらのVPSとConoHaで迷った
VPSサーバーとしてはさくらのVPSの方が安定していそうな気がしていたけれど、価格の面でConohaの方が安く(初期費用の差)かなり迷いました。
結局両方体験してみた結果自分の利用法としてはそこまで大差なかったので価格優先でConohaを利用することに決定。
ただVPNサーバー以外の用途ももし考えていたのならさくらのVPSにしていたかなと思います。
まずはubuntuのプログラム更新
$sudo apt-get update $sudo apt-get upgrade
updateとupgradeの違いを知りたい方はこちら↓
softeherを導入する際に必要なパッケージを事前に一括でインストールする
$sudo apt-get ufw gcc make vim
※viを使って編集できる方はvimをインストールする必要はないです。
ユーザーを追加する
$sudo adduser [name] $sudo passwd [name] Changing password for user [name]. New UNIX password: #パスワードを入力 Retype new UNIX password: #パスワード再入力 passwd: all authentication tokens updated successfully.
[name]という箇所はお好きなユーザー名に変更して入力してください
ファイアーウォールの設定
$sudo ufw enable $sudo ufw deafault DENY #一度ポートをすべて閉じる $sudo ufw allow 22 $sudo ufw allow (SSHで利用しようとしているポート番号) $sudo ufw allow 80 $sudo ufw allow 443 $sudo ufw reload
SSHとネット通信用のポート以外は閉じているので、必要なポートがあれば追加してください。
SSHの設定
$vim /etc/ssh/sshd_config Port 22 # 22をSSHで利用しようと考えているポートに変更 PermitRootLogin yes # yesをnoに変更 $sudo service ssh restart
sysv-rc-confをインストール
$sudo wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sysv-rc-conf/sysv-rc-conf_0.99.orig.tar.gz $sudo tar zxvf sysv-rc-conf_0.99.orig.tar.gz $sudo cd sysv-rc-conf-0.99 $sudo make $sudo make install $sudo apt install libcurses-ui-perl libterm-readkey-perl libcurses-perl
・makeでファイルをコンパイル
・make installでコンパイルしたファイルをインストール
一通り準備ができたのでsoftetherをインストールしていく
$sudo wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.29-9680-rtm/softether-vpnserver-v4.29-9680-rtm-2019.02.28-linux-x64-64bit.tar.gz $sudo tar zxvf softether-vpnserver-v4.29-9680-rtm-2019.02.28-linux-x64-64bit.tar.gz
・wgetでURL先のファイルをダウンロード
・tar zxvfでダウンロードしたファイルを展開
$ cd vpnserver $ sudo make Do you want to read the License Agreement for this software ? 1. Yes 2. No Please choose one of above number: 1 ------------------------------------------------------------------------ Did you read and understand the License Agreement ? (If you couldn't read above text, Please read 'ReadMeFirst_License.txt' file with any text editor.) 1. Yes 2. No Please choose one of above number: 1 ------------------------------------------------------------------------- Did you agree the License Agreement ? 1. Agree 2. Do Not Agree Please choose one of above number: 1 $ cd $ mv vpnserver /usr/local $ cd /usr/local/vpnserver/ $ chmod 600 * $ chmod 700 vpncmd $ chmod 700 vpnserver
自分はmakeをした後エラーがでて躓いてしまっていたんですが、gccをインストールし忘れていたことが原因でした。
$ ./vpncmd vpncmd command - SoftEther VPN Command Line Management Utility SoftEther VPN Command Line Management Utility (vpncmd command) By using vpncmd program, the following can be achieved. 1. Management of VPN Server or VPN Bridge 2. Management of VPN Client 3. Use of VPN Tools (certificate creation and communication speed measurement) Select 1, 2 or 3: 3 VPN Tools was launched. By inputting HELP, you can view a list of the commands t hat can be used. VPN Tools>check
vpncmdを起動してvpncサーバーが正常に機能しているかチェックする。
vpnサーバが自動起動するように設定していく
まずはvpnサーバーをスタートアップスクリプトに登録
$ sudo vim /etc/init.d/vpnserver #!/bin/sh # chkconfig: 2345 99 01 # description: SoftEther VPN Server DAEMON=/usr/local/vpnserver/vpnserver LOCK=/var/lock/subsys/vpnserver 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
vimの使い方がわからない方はコチラのサイトを参考にすればわかりやすいかなと思います↓
sysv-rc-confでvpnserverを自動起動するように設定
$ sudo sysv-rc-conf
vpnserverと記載されている右側2,3,4,5列内で[ ]スペースキーを入力する。
[×] ← こういう風になっていたら正しく入力できています。
VPS上のサーバーで行う設定はとりあえずここまでで終了。
次回はwindowsサーバー管理用のソフトを利用してopenvpnで接続するまでを記載していきます。