概要
さくらVPSへVPNサーバを初めて構築してみた。
個人的に海外にいるので、日本のIPにしたかった。
「SoftEtherVPNに挑戦!」したのですが、色々なサイトをまたいだのでまとめとして書かせてください。
環境
- さくらVPS
- CentOS7
ハマったこと
- インストール設定手順はあったが、それだけでは接続出来なかった
- ログの確認したら、DHCPサーバがないから接続できない事がわかった
この2点。
[エラー >> ログ確認]をするまで時間がかかってしまった。
やることをざっくり
- SoftEtherVPNのインストール
- 起動設定
- GUIでの操作
- 仮想HUB設定
- ユーザ作成
- 仮想DHCPサーバ設定
- さくらVPSのポート開放
なお、7番は自力でお願いします。
サーバへSoftEtherVPNのインストール
インストールと最初の設定はこちら
を参考にしました
まず公式のSoftEtherVPNでダウンロードへ行きます。
以下項目でプルダウンで選択します。
項目 | プルダウン |
---|---|
コンポーネント | SoftEtherVPNServer |
プラットフォーム | Linux |
CPU | Intel x64/ AMD64 (64bit) |
[ダウンロード可能なファイル]というのが以下のように出ているはずなので、betaではないものを選択し、右クリック > リンクのURLコピーをします。
サーバでの作業
ファイルのダウンロード
$ 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
実行ファイルを生成
$ 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ですべてYESと答えましょう。
質問項目 | 回答 |
---|---|
ライセンスを読みたいですか? | 1 |
ライセンスの同意について読んで理解しましたか? | 1 |
ライセンスに同意しましたか? | 1 |
フォルダ毎移動し、権限を変更
対象ファイル・フォルダ | 権限 | 説明 |
---|---|---|
vpnserver/ | 600 | root以外アクセスできない |
vpncmd, vpnserver | 700 | 実行権限を付与 |
$ cd ~
$ sudo mv vpnserver/ /usr/local/
$ cd /usr/local/vpnserver/
$ sudo chmod 600 *
$ sudo chmod 700 vpncmd
$ sudo chmod 700 vpnserver
[vpncmd]を実行
$ sudo ./vpncmd
1. VPN Server または VPN Bridge の管理
2. VPN Client の管理
3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)
1 - 3 を選択: 3
VPN Tools>check
すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。
コマンドは正常に終了しました。
VPN Tools>exit
「全てのチェックに合格しました。」が出れば OK です。
自動起動の設定
新規で[softethervpn.service]ファイルを作成
$ cd /etc/systemd/system
$ sudo vi softethervpn.service
[softethervpn.service] の中身を以下にする
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
[Install]
WantedBy=multi-user.target
サービスの起動とサービス自動起動の登録
$ sudo systemctl start vpnserver
$ sudo systemctl enable vpnserver
VPNサーバ設定
簡単に設定しておきましょう。
declare DDnsClient
{
bool Disabled true ← ダイナミックDNS機能無効化(VPNサーバーへ独自ドメイン名(例:centossrv.com)でアクセスする)
}
declare ListenerList
{
declare Listener0
{
bool DisableDos false
bool Enabled false ← ポート443での待ち受けを無効化※nginx/apache 等と強豪するため
uint Port 443
}
declare Listener1
{
bool DisableDos false
bool Enabled false ← ポート992での待ち受けを無効化
uint Port 992
}
declare Listener2
{
bool DisableDos false
bool Enabled false ← ポート1194での待ち受けを無効化
uint Port 1194
}
declare Listener3
{
bool DisableDos false
bool Enabled true
uint Port 5555
}
}
VPNサーバの再起動
$ sudo systemctl restart vpnserver
ここのページでサーバをGUIで操作出来るソフトをインストールします。
プルダウンで選択するので、自分のPCのOSを選択してください。
私はMacなので、Macを選びます。
コマンドで設定も出来ますが、デスクトップアプリがあるのでそちらから操作していきます。
SettingName/ HostName/ PortNumber を入力・選択(ピンクのところです)し、OK
接続すると、パスワードの設定が求められるので、そこでVPNサーバ管理用パスワードを設定します。
以下のような画面になるので、[IPsec/L2TP setting]という下の方にあるボタンをクリックします。
クリックしたら、黄色い部分にチェックを入れます。
一番下にある[IPsec Pre-Shared Key]という事前共有キーの設定もしておきます。
OKを押すと以下の画面に戻るので、戻ったら[Create a Virtual Hub]をクリック
仮想HUBに任意の名前をつけます。
追加すると、先程入力した任意の名前で作成されているか確認しましょう。
今回だと、VPN_HUB というのが新たに作られています。
作成したVPN_HUBを選択し、すぐ下にある[Manage virtual hub]をクリックします
私のさくらVPSには、DHCPサーバがないためDHCPサーバを有効にさせます。
[secureNatConfigure]をクリックし、IPアドレスの設定をします。
それが終わったら[EnableSecureNat]をクリックします。
IPアドレスを以下のように設定します。
クラスC(192.168.X.X)だとエラーになるという記事もみたので、もしダメだった場合はクラスBかクラスAで設定しましょう。
EnableSecureNat をクリックして、Exitを押すと以下のようになります。
右側のステータスのところで、Enableになっていることを確認しましょう。
次は[ManageUser]をクリックし、ユーザを作成します。
[New]を押してユーザ作成画面へ行きます。
ユーザ名とパスワードを入力して、OK
これであとは、クライアントPCを等で接続をお試しください。
感想
やることがわかっていれば、あとはコマンドではなくGUIで出来るので楽でしたー