LoginSignup
30
29

More than 3 years have passed since last update.

さくらのVPSでVPNを構築

Posted at

概要

さくらVPSへVPNサーバを初めて構築してみた。
個人的に海外にいるので、日本のIPにしたかった。
「SoftEtherVPNに挑戦!」したのですが、色々なサイトをまたいだのでまとめとして書かせてください。

環境

  • さくらVPS
  • CentOS7

ハマったこと

  • インストール設定手順はあったが、それだけでは接続出来なかった
  • ログの確認したら、DHCPサーバがないから接続できない事がわかった

この2点。
[エラー >> ログ確認]をするまで時間がかかってしまった。

やることをざっくり

  1. SoftEtherVPNのインストール
  2. 起動設定
  3. GUIでの操作
  4. 仮想HUB設定
  5. ユーザ作成
  6. 仮想DHCPサーバ設定
  7. さくらVPSのポート開放

なお、7番は自力でお願いします。

サーバへSoftEtherVPNのインストール

インストールと最初の設定はこちら
を参考にしました
まず公式のSoftEtherVPNでダウンロードへ行きます。
以下項目でプルダウンで選択します。

項目 プルダウン
コンポーネント SoftEtherVPNServer
プラットフォーム Linux
CPU Intel x64/ AMD64 (64bit)

image.png

[ダウンロード可能なファイル]というのが以下のように出ているはずなので、betaではないものを選択し、右クリック > リンクのURLコピーをします。
image.png

サーバでの作業

ファイルのダウンロード

$ 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サーバ設定

簡単に設定しておきましょう。

/usr/local/vpnserver/vpn_server.config
       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を選びます。

image.png

コマンドで設定も出来ますが、デスクトップアプリがあるのでそちらから操作していきます。

image.png

SettingName/ HostName/ PortNumber を入力・選択(ピンクのところです)し、OK
接続すると、パスワードの設定が求められるので、そこでVPNサーバ管理用パスワードを設定します。

以下のような画面になるので、[IPsec/L2TP setting]という下の方にあるボタンをクリックします。

image.png

クリックしたら、黄色い部分にチェックを入れます。
一番下にある[IPsec Pre-Shared Key]という事前共有キーの設定もしておきます。

image.png

OKを押すと以下の画面に戻るので、戻ったら[Create a Virtual Hub]をクリック
image.png

仮想HUBに任意の名前をつけます。

image.png

追加すると、先程入力した任意の名前で作成されているか確認しましょう。
今回だと、VPN_HUB というのが新たに作られています。

image.png

作成したVPN_HUBを選択し、すぐ下にある[Manage virtual hub]をクリックします
私のさくらVPSには、DHCPサーバがないためDHCPサーバを有効にさせます。

image.png

[secureNatConfigure]をクリックし、IPアドレスの設定をします。
それが終わったら[EnableSecureNat]をクリックします。

image.png

IPアドレスを以下のように設定します。
クラスC(192.168.X.X)だとエラーになるという記事もみたので、もしダメだった場合はクラスBかクラスAで設定しましょう。

image.png

EnableSecureNat をクリックして、Exitを押すと以下のようになります。
右側のステータスのところで、Enableになっていることを確認しましょう。

image.png

次は[ManageUser]をクリックし、ユーザを作成します。

image.png

[New]を押してユーザ作成画面へ行きます。
ユーザ名とパスワードを入力して、OK

image.png

これであとは、クライアントPCを等で接続をお試しください。

感想

やることがわかっていれば、あとはコマンドではなくGUIで出来るので楽でしたー

30
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
29