最近はVPNの利用は一般的になってきたように感じます。一度使い始めるとVPN接続していない場合ソワソワしてしまいます・・・(私だけ??)
VPNというと一般的には有料のものを利用すると思いますが、今回は自宅でVPNサーバの構築を行います。無料で使えて、しかも自宅ネットワークに外部から接続できていいことずくめです。
自宅でVPNサーバを構築するのであれば、やはり省電力のPCの利用が理想。そこで、ずいぶん前に購入したRaspberry Pi 2の出番というわけです。
Raspberry Pi 2は性能が低いため、押入れに眠っていることがほとんどかと思いますが、それでは非常にもったいない!!
私は他のラズパイの作業の先行検証のために使用していたものを利用することにしました。検証用のラズパイがなくなってしまうので今後どうしよう・・・💦
前置きは以上で、今回はRaspberry Pi 2へVPNサーバを構築するまでを記事にします。クライアント設定については、長くなってしまうため次回以降を予定しています。
当記事は、自分用の備忘録を兼ねています。記録ミス、コマンド誤りなども考えられるため利用する際は注意してください。
この記事の目次
Raspberry Pi 2 OSインストール
まずは、ラズパイ2にOSをインストールする方法ですが、ラズパイ5と基本的に同じなので、『[第4回]Raspberry Pi 5のOSインストール手順』を参考に実施していきます。
違いは、デバイスとOSです。以下を選択。
- Raspberry Piデバイス : RASPBERRY PI 2
- OS : RASPBERRY PI OS (32-BIT)
インストール完了後、[第7回]で記事にした『(おまけ)CUI起動設定』を実施することをお勧めします。ラズパイ2は性能が非常に低くGUI(デスクトップ画面)で作業を行おうとするとすぐにCUPが100%に張り付きます。デスクトップで必要な作業を済ませた後はCUI起動にすることにより、起動時間やTeraTermのレスポンス等が改善されます。
sortetherの設定の際にラズパイ2のIPを指定する必要があるため、IPの固定も実施します。
SoftEther インストール
この作業は、すべてラズパイ2で実施します。
SoftEtherダウンロード
まずはSoftEtherを公式サイトの『SoftEther ダウンロード センター』からダウンロードします。
上記から入ります。
SoftEther ダウンロード センターでダウンロードするソフトウェアを選択します。
- ダウンロードするソフトウェアを選択 : SoftEther VPN (フリーウェア)
- コンポーネントを選択 : SoftEther VPN サーバー
- プラットフォームを選択 : リナックス
- CPUを選択 : ARM EABI (32ビット)
『CPUを選択』はRaspberry Pi 2の場合、『ARM EABI (32ビット)』を選択します。利用するラズパイでこの選択は適時判断してください。
ダウンロードするSoftEther VPN サーバーについて、過去のバージョンも下にたくさん表示されダウンロード可能ですが、基本的には最新のものがセキュリティー対応などがされているはず。
ダウンロードファイルからmake(コンパイル)
$ cd 【ダウンロードファイルのディレクトリ】
$ tar zxvf softether-vpnserver-v4.43-9799-beta-2023.08.31-linux-arm_eabi-32bit.tar.gz
$ cd vpnserver
$ make
上記はダウンロードしたファイルを解凍し、コンパイルを実行。
makeを実行した際に、色々メッセージが流れますが、以下の情報が出力されていればおそらく大丈夫です。
VPN Tools>Check
Check コマンド – SoftEther VPN の動作が可能かどうかチェックする
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
SoftEther VPN 動作環境チェックツール
Copyright (c) SoftEther VPN Project.
All Rights Reserved.
この動作環境チェックツールを実行したシステムがテストに合格した場合は、SoftEther VPN ソフトウェアが動作する可能性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください…
‘カーネル系’ のチェック中…
[合格] ○
‘メモリ操作系’ のチェック中…
[合格] ○
‘ANSI / Unicode 文字列処理系’ のチェック中…
[合格] ○
‘ファイルシステム’ のチェック中…
[合格] ○
‘スレッド処理システム’ のチェック中…
[合格] ○
‘ネットワークシステム’ のチェック中…
[合格] ○
すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。
コマンドは正常に終了しました。
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
The preparation of SoftEther VPN Server is completed !
vpnserverの配置
以降の作業は『root』へ切り替えてから実施。
$ cd ..
$ mv vpnserver /usr/local
上位のディレクトリに移動し、vpnserver(ディレクトリ)を所定の箇所へ移動
$ cd /usr/local
$ chmod 700 vpnserver
$ cd vpnserver
$ chmod 600 *
$ chmod 700 vpncmd vpnserver
配置したフォルダ、ファイルの権限を設定
vpnserverの自動起動設定
$ cd /usr/lib/systemd/system
$ vi 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
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
設定ファイルを作成
$ systemctl start vpnserver.service
$ systemctl enable vpnserver.service
vpnserverを起動し、自動起動も有効にする。
$ systemctl status vpnserver.service
vpnserverの起動状況を確認。『Active: active (running)』となっていることを確認。
SoftEther設定(VPN Server Manager利用)
この作業は、すべてWindowsPCで実施します。
VPN Server Manager インストール
SoftEtherを公式サイトの『SoftEther ダウンロード センター』からダウンロードします。
SoftEther ダウンロード センターでダウンロードするソフトウェアを選択します。
- ダウンロードするソフトウェアを選択 : SoftEther VPN (フリーウェア)
- コンポーネントを選択 : SoftEther VPN Server Manager for Windows
- プラットフォームを選択 : Windows
- CPUを選択 : Intel (x86 and x64)
ダウンロードしたファイルを実行しインストールを行う。
インストールソフトウェアの選択では『SoftEther VPN サーバ管理マネージャ(管理ツールのみ)』を選択。
インストールについては他に特筆すべき事項なし。
VPN Server Manager 設定
インストールしたVPN Server Managerを使用し、ラズパイ2のsoftetherの設定を行います。設定中のスクリーンショットはほぼ取れていないため、画像がない部分が多いです。
<実施内容>
①『新しい接続設定』押下
②以下項目を設定し『OK』を押下
- 接続設定名 : なんでもよい
- ホスト名 : ラズパイのIP
- 管理パスワード : パスワード設定 ※初回接続時は設定不要
③初回接続時はダイアログボックスで管理者パスワードの作成を求められるため以下を入力
- 新しいパスワード : パスワード設定
- 確認入力 : パスワード設定
④SoftEther VPN Server / Bridge 簡易セットアップ
『リモートアクセス VPN サーバー』にチェックし『次へ』を押下
⑤ダイアログボックスで『初期化確認』メッセージが出るので『はい』を押下
⑥ダイアログボックスで仮想HUB名を設定し『OK』を押下
- 仮想HUB名 : VPN
⑦ダイナミックDNS機能
ダイナミックDNS機能が備わっているので、『割り当てられているダイナミックDSNホスト名』の内容を控える。
※ダイナミックDNSについて知りたい方は、[第5回]『DDNSとは』参照
⑧IPsec / L2TP / EtherIP / L2TPv3 サーバー機能の設定
- L2TP サーバー機能を有効にする (L2TP over IPsec) : チェック
- IPsec 事前共有鍵 : 自分で決め入力する
⑨VPN Azure サービスの設定
『VPN Azure を無効にする』にチェック
⑩ユーザ作成(VPNクライアントを利用し接続するユーザ)
『簡易セットアップの実行』画面で『ユーザーを作成する』を押下
『ユーザの管理』画面で『新規作成』を押下
『ユーザの新規作成』画面で以下を入力
- ユーザ名 : 自分で決め入力する
- パスワード : 自分で決め入力する
- パスワードの確認入力 : 自分で決め入力する
⑪ローカルブリッジ設定
以下を入力し『ローカルブリッジを追加』を押下
- 仮想 HUB : VPN
- 物理的な既存のLANカードとのブリッジ接続 : チェック
- LAN カード : eth0
<補足>
ネットワークのブリッジ設定については、私自身詳しくないためどうすべきか説明がきちんとできません。(設定することによって、何がどう変化するのかが理解できていないため)
上記設定は試行錯誤し一番簡単だと判断したものです。外部からのクライアント接続や、内部からssh接続に問題ないことを確認済みです。
(参考)
https://ja.softether.org/4-docs/1-manual/7
https://qiita.com/tkyonezu/items/00311e2285366984891c
https://qiita.com/naoyoshinori/items/aab1b3cc0a31dfc3557b
まとめ
Raspberry Pi 2へSoftEtherでのVPNサーバ構築でした。これからVPNサーバの構築をしようと考えている方の一助になれば幸い。
実際に構築してみた感想ですがWordPressの構築と比較すると非常に簡単でした。ラズパイ2にインストールしなければならないのはSoftEtherだけで、あとはWindowsPCの方から設定できます。少し悩んだのはローカルブリッジ設定の箇所くらいです。
1日で構築完了まで行けるとは思っていませんでした。
構築完了後、1週間程度スマホを3台接続して利用していますが安定稼働しています。外出中に自宅のファイルサーバへアクセスできるのも想像以上に便利ですね。
あと、無料で利用できるのが何より素晴らしい(電気代はかかります)。
次回以降、クライアント設定について解説していきます。通信速度や使用感についても記事にしようと考えています。
今回ルータのポートマッピングの説明はしていません。クライアント設定と合わせて記事にします。
- スマホのクライアント設定(OpenVPN Connect利用)
- PCのクライアント設定
- Fire TV Stickのクライアント設定(成功するか不明)
いじょ!!
コメント