VPNを使って学内から自由にネットに接続する方法

どうもラプラスです。

今回はやり方を忘れないための備忘録として、SoftEther VPNを使って、サーバーとクライアントでVPN接続させる方法を書きます。

私は今大学生で学生寮に住んでいるのですが、やはり学内ネットワークには様々な制約があります。普通にWebページや動画などを観るだけなら全く問題ないですが、ライブ配信やオンラインゲームなどをする際には、ポートが閉まっていて利用できないことがほとんどです。

今まではスマホのテザリングでなんとかやってましたが、やはりデータ通信量をべらぼーに消費してしまうのでなんとかしたいと思ってました。

学内ネットは通信制限があるとはいえ、自分のいる大学は情報系ということもあり、通信速度はエグいです。常時700~800Mbpsの速度を出します💧

というわけで、この高速回線を使いながら制限を回避したいということで、VPN通信でトンネル張ることにしました。というか流石に情報系の大学なんだから、SSHやFTPSで使う22番ポートぐらいは開けておいてほしいです。

※留意事項:学内で本記事の内容を実施する際は、あくまで自己責任でお願いします。

SoftEther VPNの簡単な説明

そもそもVPNというのは、今使っているネットワークから外部の別のネットワークに接続して、安全に作業するための技術です。今回は、学内のネットワークからうまく抜け出し、外部に用意したVPNホストに接続して、そこで自由に通信を行う方法までを書きたいと思います。

それができると、学内ネットワークにいながら、外部のネットワークに接続させることができるので、VPNホストとの通信さえ確率してしまえば、一切制限をうけることなくインターネットを使うことができるようになります。

今回その仕組を実装する手段として、SoftEther VPNをを使うことにしました。

■SoftEther VPNの概要

SoftEther VPN ("SoftEther" は 「ソフトウェアによるイーサネット」を意味します) は、世界中で最も強力で使用が簡単な、複数 VPN プロトコルに対応した VPN ソフトウェアの 1 つです。SoftEther VPN は Windows、Linux、Mac、FreeBSD および Solaris 上で動作します。

SoftEther VPN はオープンソース・ソフトウェアです。SoftEther VPN は任意の個人的または業務用途に無償で使用していただくことができます。

SoftEther VPN は BYOD (Bring your own device / 社員が個人で購入したデバイスを社内利用する方法) をあなたの会社で実現するために使用できます。SoftEther VPN に搭載された L2TP/IPsec サーバー機能 を利用することにより、遠隔地にあるスマートフォンやタブレット端末、ノートパソコンから社内のローカルネットワークへのリモートアクセスが可能になります。SoftEther VPN の L2TP VPN サーバー機能は、Windows、Mac、iOS および Android との間で強力な互換性があります。

引用元:SoftEther VPNプロジェクト

つまり、オープンソースで誰でも利用できて、スマホ・タブレット・PCなどの各種デバイスからの利用もできるということですね。

SoftEther VPNの構築手順

では、ここから実際にVPNの確立までの手順を説明していきます。

準備するソフトウェア類とサーバーの用意

VPNを確立するために必要なソフトウェアは3つあります。

  • SoftEther VPN Client(クライアントにインストール)
    VPNホストに接続し、VPNを確立するためのソフトウェア。
  • SoftEther VPN Server(サーバーにインストール)
    VPNホストを構築するためのソフトウェア。
  • SoftEther VPN  Server Manager(クライアントにインストール)
    VPNホストの設定・管理を行うためのソフトウェア。

これら3つのソフトウェアをそれぞれサーバーとクライアントにインストールします。

また、VPNホストを構築するためにグローバルIPが割り当てられた、root権限のあるサーバーを用意します。必ずroot権限が必要になりますので、通常のレンタルサーバーは使用できません。

自前で自宅サーバーを所有している方はそちらを使ってもらえればと思いますが、普通はないと思うのでVPSを使います。VPSは格安でグローバルIPの割り当てられたサーバーを丸々レンタルができるサービスです。

おすすめは、私も使っている「ConoHa VPS」です。管理画面が使いやすく、非常に安定しています。更に学生の場合は学割を使って、10%引きになるのでかなりお得です。

ConoHa VPSのプラン選択

VPNホストとして使うだけなら、一番左の最低プランで十分です。上記は12ヶ月契約の料金ですが、契約期間が長くなるほど、1ヶ月当たりの料金が安くなります。

OSはCentOS7.8を選択

OSの選択項目が表示されたら、「CentOS」を選択し、バージョンは「7.8」にします。記事出費つ時点では、8.2までリリースされていますが、バージョン8になってから色々と使用が異なってくるため、私は無難なバージョン7系で進めました。

基本的には、画面の指示通り進めれば大丈夫なので、詳細な登録手順は割愛します。

私の環境・

■クライアント:Windows 10 Pro 64bit

■サーバー:ConoHa VPS 512MBプラン

  • OS:CentOS 7.8
  • メモリー:512MB
  • CPU:1コア

■前提

  • ConoHa VPSを契約済みであること
  • SSHでサーバーにログインができる状態であること

以上の条件の元、以下説明をしていきます。

各種ソフトウェアのインストールと設定

ではここから各種ソフトウェアのインストール手順を説明していきます。

まず、VPNホストの立ち上げからやっていきます。

SoftEther VPN Serverのインストール

Windows 10の「パワーシェル」もしくは「Windows Terminal」をを立ち上げ、sshコマンドでサーバーにログインします。

$ ssh root@IPアドレス -p 22

ログインできたら、ルート直下の「tmp」ディレクトリーに移動します。

$ cd /tmp

移動したら、まず必要な依存パッケージをインストールします。

# yum -y install zlib-devel.x86_64
# yum -y install gcc.x86_64

終わったら、そこに「SoftEther VPN Server」のソースファイルをダウンロードします。

ダウンロードURLを確認するために、クライアントで「SoftEther VPN」のダウンロードページにアクセスします。

SoftEther VPN Serverのダウンロードリンク確認

上記の条件で項目を選択し、一番上に出てきた「.gz」ファイルのリンクをコピーしておきます。

コンソールに戻り、wgetコマンドで上記でコピーしたリンクを指定して、ソースファイルをダウンロードします。

[root@vpn-host tmp]# wget [コピーしたリンク]

そうしたら、「softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz」みたいなファイルが生成されているので、tarコマンドで解凍します。解凍すると「vpnserver」というフォルダーが生成されるので、cdコマンドで中に移動します。

[root@vpn-host tmp]# ls -la
合計 106824
drwxrwxrwt. 8 root root 4096 11月 1 16:48 .
dr-xr-xr-x. 18 root root 4096 10月 28 10:00 ..
drwxrwxrwt 2 root root 4096 9月 30 16:47 .ICE-unix
drwxrwxrwt 2 root root 4096 9月 30 16:47 .Test-unix
drwxrwxrwt 2 root root 4096 9月 30 16:47 .X11-unix
drwxrwxrwt 2 root root 4096 9月 30 16:47 .XIM-unix
drwxrwxrwt 2 root root 4096 9月 30 16:47 .font-unix
-rw-r--r-- 1 root root 7510103 4月 5 2020 softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz
# 解凍
[root@vpn-host tmp]# tar zxvf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz
[root@vpn-host tmp]# cd vpnserver

そうしたら、次はmakeコマンドでソースコードをビルドします。その間、ライセンスの同意を複数回求められるので、全て1を入力して進めます。

[root@vpn-host tmp]# make

SoftEtherのマニュアルに従って、ビルドしたソースファイルを「/usr/local」に移動させます。その後、パーミッションの設定を行います。

[root@vpn-host vpnserver]# cd ..
[root@vpn-host tmp]# mv vpnserver/ /usr/local/

# 移動されたか確認
[root@vpn-host tmp]# cd /usr/local/
[root@vpn-host local]# ls -la
合計 52
drwxr-xr-x. 13 root root 4096 9月 30 17:12 .
drwxr-xr-x. 13 root root 4096 5月 18 11:11 ..
drwxr-xr-x. 2 root root 4096 10月 23 15:56 bin
drwxr-xr-x. 2 root root 4096 10月 23 15:56 etc
drwxr-xr-x. 2 root root 4096 4月 11 2018 games
drwxr-xr-x. 2 root root 4096 10月 23 15:56 include
drwxr-xr-x. 5 root root 4096 10月 23 15:56 lib
drwxr-xr-x. 3 root root 4096 10月 23 15:59 lib64
drwxr-xr-x. 4 root root 4096 10月 23 15:56 libexec
drwxr-xr-x. 2 root root 4096 4月 11 2018 sbin
drwxr-xr-x. 5 root root 4096 5月 18 11:11 share
drwxr-xr-x. 2 root root 4096 4月 11 2018 src
drw------- 9 root root 4096 11月 1 17:15 vpnserver

# パーミッションの設定
[root@vpn-host tmp]# cd /usr/local/vpnserver/
[root@vpn-host tmp]# chmod 600 *
[root@vpn-host tmp]# chmod 700 vpncmd
[root@vpn-host tmp]# chmod 700 vpnserver
[root@vpn-host tmp]# chown root:root *

これでインストール完了です。チェック機能が用意されているので、念の為に正しくインストールされているかの確認をしておきます。

[root@vpn-host tmp]# cd /usr/local/vpnserver/
[root@vpn-host tmp]# ./vpncmd
...
...
1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3: # 3を入力

VPN Tools>check
...
...
If this operation environment check tool is run on a system and that system passes, it is most likely that SoftEther VPN software can operate on that system. This check may take a while. Please wait...
# 全てPass(合格)したか確かめる
Checking 'Kernel System'...
Pass
Checking 'Memory Operation System'...
Pass
Checking 'ANSI / Unicode string processing system'...
Pass
Checking 'File system'...
Pass
Checking 'Thread processing system'...
Pass
Checking 'Network system'...
Pass
...
...
VPN Tools>exit
[root@vpn-host tmp]#

全て「pass」で進んで終了すれば大丈夫です。

最後にVPNを起動します。

[root@vpn-host tmp]# cd /usr/local/vpnserver
# VPN起動
[root@vpn-host tmp]# ./vpnserver

これでSoftEther VPNが起動したので、VPNホストの構築は完了です。

自動起動の設定をする

自動起動の設定をしておくと、サーバーを再起動した時に自動でSoftEtherを起動することができます。余裕があればやっておいた方が良いでしょう。

まず、自動起動するための設定ファイルを作成します。

[root@vpn-host tmp]# cd /etc/systemd/system
[root@vpn-host tmp]# vim 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

# ファイルが作成されたか確認
[root@vpn-host tmp]# ls -l softethervpn.service
-rw-r--r-- 1 root root 215 Feb 18 15:36 softethervpn.service

systemctlコマンドで自動起動の設定を行う。

# 自動起動ON
[root@vpn-host tmp]# sudo systemctl enable softethervpn
# 自動起動がenableになったか確認する
[root@vpn-host tmp]# sudo systemctl list-unit-files --type=service | grep softether
softethervpn.service         enabled

最後に一度サーバーを再起動し、SoftEtherが起動しているかを確認します。

[root@vpn-host vpnserver]# systemctl status softethervpn
● softethervpn.service - SoftEther VPN Server
Loaded: loaded (/etc/systemd/system/softethervpn.service; enabled; vendor preset: disabled)
Active: active (running) since 水 2020-10-28 10:00:40 JST; 4 days ago
Process: 815 ExecStart=/usr/local/vpnserver/vpnserver start (code=exited, status=0/SUCCESS)
Main PID: 838 (vpnserver)
CGroup: /system.slice/softethervpn.service
tq838 /usr/local/vpnserver/vpnserver execsvc
mq839 /usr/local/vpnserver/vpnserver execsvc

しっかり、「Active」と表示されていれば大丈夫です。

SoftEther VPN Server Managerのインストールと設定

まず、SoftEther VPNのダウンロードページを開き、「SoftEther VPN Server Manager」を選択して、一番上に出てきたリンクからダウンロードします。

SoftEther VPN Server Managerのダウンロードページ

ダウンロードしたら、インストーラーを起動して、画面の指示に従って作業を進めます。

SoftEther VPN Server Managerのダウンロードページ

インストールするソフトウェアの選択画面が表示されたら、「SoftEther VPN サーバー管理マネージャー」を選択します。

新しい接続を追加する

管理マネージャーを起動すると、「新しい接続設定」ボタンがあるのでクリックします。

接続設定の追加画面

「接続設定名」はご自由に好きなものを入力しておいてください。「ホスト名」は、ConoHa VPSで契約したサーバーのIPアドレスを入力します。「経由するプロキシの設定」は、「HTTPプロキシサーバー経由接続」を選択し、サーバー管理者から知らされているプロキシ接続情報を「プロキシサーバーの接続設定」で設定してください。「管理パスワード」は、まだ設定していないので、空欄で大丈夫です。

「OK」をクリックすると、新規で管理パスワードの設定ウィンドウが表示されるので、パスワードの設定をします。

その後、「簡単設定ウィザード」が表示されますが、今回は使わないので閉じてください。

仮想HUBの作成

「仮想HUBの追加」をクリック。

仮想HUBの追加画面

仮想HUB名」は、お好きな英数字で入力。パスワードは、サーバー全体の管理パスワードとは別の、仮想HUB専用のパスワードを新規で設定する。

追加した仮想HUBを

追加した仮想HUBを選択し、HUBの管理ウィザードが開いたら、「ユーザーの管理」をクリック。

ユーザーの管理画面

「新規作成」をクリック。

ユーザーの新規作成画面

「ユーザー名」の入力は必須で、半角英数字で入力。「本名」と「説明」の入力は任意です。「認証方式」は、「パスワード認証」を選択。

次に「ローカルブリッジ設定」を開きます。

ローカルブリッジ設定

「仮想HUB」は、さきほど作成したものを選択します。「新しいtapデバイス名」は、半角英数字でお好きなものを入力します。終わったら、「ローカルブリッジを追加」をクリックして閉じます。

ローカル日リッジ設定ウィザード

次に仮想NATの設定を行います。作成した仮想HUBの管理画面を開きます。

仮想NATの設定

SecureNAT機能を有効化します。警告のメッセージが表示されますがそのまま進めます。

仮想NAT機能の有効化

SecureNATの設定

MACアドレスは、最初の部分だけ「00-AC」に書き換えます。DNSサーバーのアドレス1・2は、ConoHaのDNSサーバーのIPアドレスを指定します。ConoHaのDNSは調査したら3つあったので、とりあえずどれでもいいです。

  • ns-a1.conoha.io ⇒ 118.27.60.132
  • ns-a2.conoha.io ⇒ 118.27.60.133

基本t的に下記の画像の通りに設定できていれば大丈夫です。

SecureNATの設定ウィザード

これで、サーバーの設定は終了です。あと、もう少し。あとは、最後VPN接続できれば完了です。

SoftEther VPN Clientのインストールと設定

やっと作業も終盤です。あとは、「SoftEther VPN Client」でVPN接続できれば完了です。

まず、SoftEther VPNのダウンロードページを開き、「SoftEther VPN Client」を選択します。一番家に出てきたダウンロードリンクをクリックして、インストーラーをダウンロード・インストールします。

SoftEther VPN Clientダウンロード

SoftEther VPN Client接続マネージャーを立ち上げたら、メニューの「接続」⇒「接続設定の新規作成」に進みます。

SoftEther VPN Client接続設定

途中でプロキシの設定が検出されたという通知が表示されるので、自動設定するので、「OK」を押します。「接続設定名」は任意の半角英数字、「ホスト」はVPSのIPアドレス、ポート番号はそのまま、「仮想HUB名」は、ホスト名を入力した段階で選べるようになるので、先程のサーバー設定で作成したものを選択、「経由するプロキシサーバーの設定」は、自動設定されているはずなのでそのまま、あとは作成したユーザー名とパスワードの情報を入力して「OK」を押します。

VPN接続完了画面

無事に「接続完了」という表示になっていれば正常に接続できています。

お疲れ様でした!!

次から接続するときは、今回設定した設定プロファイルをダブルクリックで接続できます。切断は、プロファイルを右クリックし、その中の「切断」をクリックすることで切断できます。

とりあえず、これで何の成約も受けることなくネットライフが遅れるようになります。月額数百円の出費はありますが、無制限にネットが使用できるようになるので圧倒的にコスパが良いと思います。

学内ネットを使っていて制限がうっとおしいとストレスを貯めているかたの助けになれば嬉しいです!

おすすめの記事