SoftEther VPN Serverをインストールしてみた

「外出先から自宅のLAN内にあるNASのデータを取り出したい」と思ったことはありませんか。
VPNを構築することでそれが可能になります。
構築にあたってはいくつかクリアしなくてはならない条件がありますが、意外と簡単に構築できますので挑戦してみてはいかがでしょうか。

ルーターによってはVPNサーバー機能が搭載されているものもあり、その場合だと更に簡単に構築できる可能性があります。
気になる場合はルーターのマニュアルを見てみてください。

この記事では「SoftEther VPN Server」というソフトをLinuxマシンにインストールする手順を説明します。

大前提

  • LAN内に常時稼働しているLinuxマシンがある
  • 上記Linuxマシンに外部から到達できる
  • Linuxとネットワークの知識を持っている

イメージとしては、上記Linuxマシンに接続することでそのLinuxマシンが繋がっているLANに繋がる感じになります。
外部から接続する端末から見たらLinuxマシンがルーターになる感じと言えば分かりやすいでしょうか。

尚、先述したルーターのVPNサーバー機能を使う場合も、そのルーターに外部から到達可能である必要があります。
言い方を変えると「グローバルIPアドレスが必須」ということになります。

厳密に言えば、いわゆる「ダイナミックDNS」と呼ばれるサービスを使うことでグローバルIPアドレスがない環境でも構築できる可能性はあります。
しかし、その場合は手順が複雑になりますので今回はそういったサービスを併用しての手順は割愛させていただきます。
ダイナミックDNSを使わずにグローバルIPアドレスがない環境でVPNを構築する方法はこちらの記事をご覧ください。
(VPSを使用する方法です)
関連記事

SoftEther VPN Serverを使ってVPNを構築する方法を説明した記事を公開しております。 記事内の前提条件にも記載があります通り、グローバルIPアドレスが割り当てられていてポートの開放が可能な環境を想定した記事になってい[…]

インストール手順

  1. SoftEtherダウンロードセンター」から最新のインストール用パッケージファイルをダウンロードします。
    コンポーネントは「SoftEther VPN Server」を選択し、プラットフォームとCPUはLinuxマシンに合ったものを選択します。

    ダウンロードセンター
  2. ダウンロードしたファイルを作業用のディレクトリに移動した後、そのディレクトリに入って展開します。
    (今回はホームディレクトリ直下のworkディレクトリを作業用ディレクトリとします)

    cd ~/work
    tar xzvf {ダウンロードしたファイル}
  3. 「vpnserver」というディレクトリが作られているので移動します。
    cd vpnserver
  4. 実行可能ファイルを生成します。
    make
  5. エラーなく終了したらvpnserverディレクトリを/usr/local配下に移動します。
    cd ..
    sudo mv vpnserver /usr/local
  6. パーミッションを変更します。
    cd /usr/local/vpnserver
    sudo chmod 600 *
    sudo chmod 700 vpncmd
    sudo chmod 700 vpnserver
    sudo chown -R root:root /usr/local/vpnserver
  7. 動作チェックを行います。
    sudo ./vpncmd
    3
    check
    exit
  8. 「すべてのチェックに合格しました」と表示されたらスクリプトの作成を行います。
    公式ドキュメントではinit.dを使う設定になっていますが、今回はsystemdを使います。
    /etc/systemd/systemディレクトリの中に「vpnserver.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
  9. vpnserverサービスを起動します。
    sudo systemctl start vpnserver
  10. 動作状況を確認します。
    systemctl status vpnserver
  11. 動作に問題ないようだったらサーバー起動時にvpnserverサービスも起動するように設定します。
    sudo systemctl enable vpnserver

公式インストール手順


まとめ

以上でインストール及び起動設定は完了です。
現状ではまだ接続することはできず、Linuxマシン上でVPNサーバーソフトが動いているだけという状況です。

意味のないものを動かしておくのが嫌だという方は下記コマンドにて停止・起動設定の解除をしてください。

sudo systemctl stop vpnserver
sudo systemctl disable vpnserver

実際に使う機会がないとVPNの良さはなかなか分からないものです。
当記事では自宅LAN内のNASへのアクセスを例に挙げましたが、公衆無線LANを使う際のセキュリティ対策としても有効だと思います。
是非VPNの利用を検討してみてください。

VPNの設定についてはこちらの記事をご覧ください。

関連記事

SoftEther VPN Server(以下、SoftEtherと表記)を使ってVPNを構築してみます。 SoftEtherのインストールについてはこちらの記事をご覧ください。 [sitecard subtitle=関連記事 […]