カゴヤのサーバー研究室

カゴヤのサーバー研究室:VPSでやってみよう

カゴヤのVPS+SoftEther VPNで簡単にVPNサーバーを自作しよう

文●小泉 健太郎

  • この記事をはてなブックマークに追加
  • 本文印刷
※本記事はカゴヤ・ジャパンが提供する「カゴヤのサーバー研究室」に掲載された【初心者向け】VPNサーバーとは?VPS+SoftEtherで簡単に自作する方法も解説を再編集したものです。

 

「フリーWiFiでも安全にインターネットを使いたい」
「接続元に固定IPアドレスを使いたい」
「国外からでも日本国内と同じインターネット環境を使いたい」

 これらの要望は、VPNサーバーを使えば全て叶えることができます。ただしVPNサーバーの構築は、方法によっては手間がかかる上にコストも高くなるため手軽には行えません。 この記事ではVPNサーバーとは何か初心者の方にもわかりやすく解説した上で、VPS+SoftEhterで簡単かつ安価にVPNサーバーを構築する方法を紹介します。

VPNサーバーとは

 VPNとは、「Virtual Private Network」(仮想プライベートネットワーク)を略した言葉です。VPNでは通信キャリアの公衆網を使い、仮想的に自社専用のプライベートネットワークを構築します。

 その上でVPNサーバーとは、自社でVPNを実現するために必要なサーバーのことです。VPNサーバーはインターネットなどの公衆網内に仮想的なプライベートネットワークを構築し、VPN上の通信を管理します。

 VPNやVPNのセキュリティについての詳細は、以下の記事で解説しておりますので興味があればあわせてご覧ください。

 ●【入門】VPNとは?仕組みから設定方法までわかりやすく解説
 ●【わかりやすい】 【図解】IPSecの仕組みとは?IPSec-VPN とSSL-VPNの違い

|VPNサーバーの主な種類

 VPNサーバーの主な種類として、以下の2つがあげられます。

【インターネットVPN用サーバー】

 既存のインターネット回線上に、プライベートネットワークを構築するタイプのVPNサーバーです。既存のインターネット回線を使うため手軽で、設定も比較的簡単な点が特徴としてあげられます(当記事で紹介するのは、このインターネットVPN用サーバーの構築方法です)。

【IP-VPN用サーバー】

 通信キャリアの提供する公衆網の中でも、インターネットでなく外部に公開されていない閉域網を使うタイプのVPNサーバーです。IP-VPNでは、インターネットと同様にIPプロトコルで通信を行います。閉域網を使うことからインターネットVPNよりセキュリティ性が高くなる一方、コストが大幅に増え構築の難易度も高くなるのが特徴です。

VPNサーバーを使う主なメリット

 それではVPNサーバーを使うことで、どのようなメリットがあるのでしょうか。以下、主なメリットを解説します。

|セキュリティを強化できる

 インターネット上の通信は、悪意のある第三者に盗聴される可能性があります。特にセキュリティが十分でないフリーWiFiによる通信では、盗聴のリスクも高くなることからより注意が必要です。

 その点VPNサーバーを構築しVPN経由でインターネットに接続することで、通信の内容を暗号化しセキュリティを強化できます。VPNサーバーを使うことにより、フリーWiFiを使った通信も暗号化され安全に利用可能です。

|セキュリティにかけるコストを節約できる

 安全に通信を行うためには、専用線を使ったり高額なセキュリティサービスを契約したりする必要があります。一方、VPNであれば既存のインターネット回線を使って、セキュリティを高めることが可能です。別途サーバーの費用が発生するものの、安価なサーバーを使うことによってセキュリティにかけるコストを大幅に節約できます。

VPNサーバーを使うときの注意点

 VPNサーバーはメリットがある反面、利用する場合は注意点もあります。VPNサーバーを利用する際は、以下にあげる注意点を把握しておいてください。

|通信速度が遅くなる恐れがある

 VPNサーバーを使う場合、VPNサーバー経由でインターネットなどにアクセスすることになります。そのためVPNサーバーを使わない場合と比べると、通信速度が遅くなる可能性がある点は注意が必要です。

|規模が大きくなると管理が煩雑になる(接続台数に制限がある)

 VPNサーバーを複数の拠点から使うようになったり接続台数が多くなったりすると、管理が煩雑となり担当者の負担が増えます。VPNサーバーを使う規模が大きくなる可能性がある場合は、担当者を増やすなど対策を検討しましょう。

 なおVPNサーバーの種類などによっては、接続台数に制限が生じる可能性もあります。利用人数が少ない場合は問題ありませんが、大人数で使う可能性がある場合は注意して下さい。

SoftEtherとVPSでVPNサーバーを構築する方法

 SoftEhterとVPSを使えば、比較的手軽にVPSサーバーを構築可能です。ここではSoftEhter+VPSでVPNサーバーを構築する方法について解説します。

|SoftEtherとは

 SoftEtherとは、LANカードやスイッチといったネットワークデバイスの機能を仮想的に実現し、VPN接続を確立するソフトウェアです。

 本来はサーバーがファイアーウォールによセキュリティ対策を行っている場合、その設定を大幅に変更しないとVPNによる接続ができません。けれどSoftEtherを使うと、「SoftEther VPNプロトコル」が使うポートさえ開放されていれば、VPN接続を確立できます。

|VPSとは

 VPS(Virtual Private Server)とは、仮想的に実現する専用サーバーのことです。物理的な専用サーバーを使うのに比べ、VPSであればより少ないコストで利用できます。VPNサーバーを運用する場合に関しても、VPSを利用すればコストの節約につながるのです。

 VPSについてより詳しく知りたい場合は、以下の記事を参照ください。

 ●VPSとは?仕組みと活用、選び方をわかりやすく解説

 またKAGOYA CLOUDの申込手順やサーバー作成方法については、以下記事で紹介しております。興味があればあわせて参照ください。

 ●サバ管への道!VPS道場 ~第1回 サーバー とは何のこと?種類は?~

VPNサーバー(SoftEther VPN Server)側の構築と設定を行う

 以下、VPS+SoftEhterでVPNを構築する手順を解説します。VPSで利用しているOSは「Ubuntu 20.04」で、コマンドライン入力で操作を行っていきます。

■事前準備

 事前準備として、まずはUbuntuにインストールされているパッケージを更新しておきます。

   $ sudo apt update
   $ sudo apt upgrade

 次に、必要なパッケージをインストールしておきます。

   $ sudo apt install -y gcc make

■SoftEther VPN Serverのインストール

 ご利用の環境にあったインストールパッケージをダウンロードして、適当なディレクトリに保存します。以下のコマンド例は、ユーザーのホームディレクトリに「tmp」というディレクトリを作成し、そこにSoftEtherサーバーのパッケージをダウンロードしています。

   $ cd
   $ mkdir tmp
   $ cd tmp
   $ wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.39-9772-beta/softether-vpnserver-v4.39-9772-beta-2022.04.26-linux-x64-64bit.tar.gz

 なお、上のwgetコマンドで指定しているダウンロードURLは、インストール時点での最新版パッケージのURLを指定しましょう。

 以下のダウンロードセンターにアクセスし、今回のVPSの場合はプルダウンメニューで「SoftEther VPN (Freeware)」>「SoftEther VPN Server」>「Linux」>「Intel x64 / AMD64 (64bit)」と選択するとURLが表示されます。一番上に表示されるのが最新版です。

 ●SoftEtherダウンロードセンター

 続いて、保存したファイルを展開(解凍)し、展開後に作成された「vpnserver」ディレクトリへ移動して、makeコマンドでビルド(ソースコードからのアプリケーションの生成)を実行します。

   $ tar xzvf softether-vpnserver-*.gz
   $ cd vpnserver
   $ make

 1つ上のディレクトリへ戻り、vpnserverディレクトリを「/usr/local」ディレクトリ内に移動させます。

   $ cd ..
   $ mv vpnserver /usr/local/

 root(サーバー管理者)以外のユーザーがファイルにアクセスできないように、vpnserverディレクトリ内のパーミッション(アクセス権限設定)を変更しておきます。

   $ cd /usr/local/vpnserver/
   $ chmod 600 *
   $ chmod 700 vpncmd
   $ chmod 700 vpnserver

 コマンドライン管理ユーティリティのvpncmdを起動します。

 ※起動途中で選択画面が出てきたら「3. VPN Tools コマンドの使用…」を選んでください。

   $ ./vpncmd

 起動したらcheckコマンドを実行して、正しくインストールされているかどうかを確認します。

   VPN Tools>check

 全てのチェック項目が合格していれば、インストールは完了です。vpncmdを終了します。

   VPN Tools>exit

■SoftEther VPN Serverが自動起動されるようにする

 サーバーがダウンしても、SoftEther VPN Serverが自動起動されるように、ユニットファイルを作成します。まずnanoコマンド(エディタ)を起動します。

   $ sudo nano /etc/systemd/system/vpnserver.service

 このファイルに書き込む内容は以下のとおりです。

[Unit]
Description = SoftEther VPN Server
After = network.target

[Service]
Type = forking
User = root
ExecStart = /usr/local/vpnserver/vpnserver start
ExecStop = /usr/local/vpnserver/vpnserver stop
Restart = on-failure
RestartSec = 3s

[Install]
WantedBy = multi-user.target

 内容を入力したら、「Ctrl+X」キー→「Y」キー→「Enter」キーの順に押してファイルを保存し、nanoエディタを終了します。

 リロードして作成したユニットファイルを有効化し、vpnserverが正常に実行されるか確認します。

   $ sudo systemctl daemon-reload
   $ sudo systemctl enable vpnserver
   $ sudo systemctl start vpnserver
   $ sudo systemctl status vpnserver

 最後のコマンド(systemctl status~)の実行結果の3行目に「Active: active (running)」と表示されれば問題ありません。

■SoftEther VPN Server Managerの設定を行う

 ここまでLinux(Ubuntu)のVPSにSoftEther VPN Serverをインストールしてきましたが、まだSoftEther Serverの設定は完了していません。ただし、ここからはVPSにインターネット接続したWindowsやmacOS上のGUIアプリケーション(SoftEther VPN Server Manager)で設定をすることができます。

 以下のSoftEther公式サイトにアクセスし、今度はプルダウンメニューを上から「SoftEther (Freeware)」>「SoftEther VPN Server Manager for Windows(またはMac OS X)」>「Windows(またはMac OS X)」>「Intel (x86 and x64)」と指定して、表示されるURLからインストーラーをダウンロードします。

 ●SoftEtherダウンロードセンター

 ダウンロードしたらインストーラーを起動し、指示に従ってインストールを進めてください。

 イントールが完了したらSoftEther VPN Server Managerを起動し、「新しい接続設定」をクリックします。

 「新しい接続設定の作成」画面が表示されたら、以下項目を適宜入力し「OK」をクリックします。

 この後はウィザードの指示に従い、以下の通りすすめます。

1. 「VPNサーバーの種類」は「リモートアクセスVPNサーバー」を選び「次へ」をクリックします。
2. 「仮想HUB名」はデフォルトの「VPN」のままで構いません。「OK」をクリックし先にすすみます。
3. 「ダイナミックDNS機能」は、VPSを利用し固定IPアドレスがある場合は利用しません。「閉じる」をクリックします。
4. 「IPsec/L2TP/EtherIP/L2TPv3サーバー機能の設定」では、IPsec/L2TPを使う場合にL2TPサーバーを有効にします。L2TPサーバーを有効にする場合は、「IPsec事前共有鍵」をデフォルトの「vpn」から任意の文字列に変更しておいてください。設定完了後、「OK」をクリックします。
  ※IPsec/L2TPが有効でなくても、SoftEther VPNプロトコルによってVPN接続が可能です。
5. 「VPN Azureサービスの設定」画面が表示されます。固定IPアドレスで利用する場合、VPN Azureサービスは使わないので「VPN Azureは無効にする」を選びます。
6. VPNサーバーへ接続するユーザーの作成画面へ遷移します。「ユーザーを作成する」をクリックしてください。
7. 「ユーザーの新規作成画面」が表示されるので、以下3点を入力し「OK」をクリックして下さい。

 以上でウィザードは完了です。

 次に仮想HUB名をダブルクリックし、「仮想HUBの管理」 画面へ移動します。

 「仮想HUBの管理」が開いたら「仮想NATおよび仮想DHCPサーバー機能」をクリックします。

 仮想NATの設定画面が表示されたら、「SecureNAT機能を有効にする」をクリックして「閉じる」をクリックして下さい。

 これでVPNサーバー(SoftEther VPN Server)側の設定は完了です。

クライアント(SoftEther VPN Client)側の設定を行う

 ここではWindowsでSoftEhterの公式クライアントソフト(SoftEther VPN Client)を使い、VPN接続する方法を紹介します。なお公式クライアントソフトはmacOS版、Linux版も用意されています。

 まず、以下の公式サイトから「SoftEhter VPN Client」のWindows版をダウンロードして、インストールします。

 ●SoftEtherダウンロードセンター

 インストール完了後、起動して「新しい接続設定」の作成をクリックし、ウィザードを起動します。

 ウィザードの指示に従い、以下の通り設定を進めてください。

1. 「仮想LANカードを作成しますか?」と聞かれるので「はい」をクリック。
2. 「新しい仮想LANカードの作成画面」では何も変更せず「OK」をクリック。

 これでウィザードが完了します。ウィザード完了後、最初の画面に戻るのでもう一度「新しい接続設定の作成」をクリックして下さい。

 新しい接続設定のプロパティでは、以下項目を入力して「OK」をクリックします。

 あとは、作成した接続設定名をダブルクリックするとVPN接続ができます。

 接続を切断する場合は、接続マネージャーの「接続」→「切断」をクリックして下さい。

まとめ

 VPNサーバーは、VPNで安全に通信を行うときに必要となるサーバーです。VPNを使うことでインターネット上に仮想的な専用線を構築でき、フリーWiFi上でも安全に通信が行えるようになります。

 VPNサーバーの構築には手間とコストがかかりますが、SoftEhter+VPSの組合せなら比較的簡単かつ安価にVPNサーバーの構築と利用が可能です。VPNサーバーを使えば、固定の接続元IPアドレスを使ったり、国外でも国内と同じインターネット環境を利用したりすることもできます。

■関連サイト

過去記事アーカイブ

2023年
01月
02月
03月
04月
05月
2022年
02月
06月
07月
08月
09月
10月
11月
12月
2021年
06月
08月
10月
11月
12月
2020年
10月