カテゴリー
2022年 Raspberry Pi VPN おすすめ販売 ガジェット コンピューター

Raspberry Pi 4 でサイト間 VPN を作ってみよう

Raspberry Pi 4 で SoftEther を使って、サイト間 VPN の設定をしてみました。その時のメモです。Raspberry Pi OS のインストールから、SoftEther の設定まで。

私が Raspberry Pi 4 を最初に購入したのは 4ヶ月ほど前なのですが、やたらと気に入ってしまい、とうとう 4台目を購入しちゃいました。2GBモデルを1台、4GBモデルを2台、8GBモデルを1台持ってます。

今回は、Raspberry Pi 4 で、Softether を動かし、会社に置いてある Windows 上の Softether と、インターネット越しのサイト間 VPN を張ってみました。その時のメモ書きです。

必要なもの

Raspberry Pi 4 本体

VPN を動かすだけなら、2BG のモデルでも動きますが、4GB のモデルの方が良いかと思います。値段も1000円程度しか変わりませんし。

4GBモデル

posted with カエレバ

初めて Raspberry Pi 4 を購入する人は、セットになったものを購入すると便利です。必要なものが全て (モニター以外) 付いてます。

電源アダプター

動かしっぱなしの人はいのですが、使い終わったら電源を消したい人は、このスィッチの付いたタイプがおすすめす。電源を入れる時に、ケーブルの抜き差しが不要になります。

Raspberry Pi 4 ケース

Raspberry Pi は、使っているとすぐに熱くなります。以前、Linux でサーバーを動かしてみたのですが、ちょっと使っていたら、すぐにシステム温度が 90 度くらいまで上がりました。

ファンが付いているカバーが一番おすすめです。私も最初はこれを購入しました。やっぱり、音は気になりますね。そばにいかなければ分からない程度ですけど。

なので、2台目からは、ファンなしのケースを購入しましたファンなしなら、これがおすすめです。現在、Raspberry Pi 4 は 4台所有していますが、3台にこれを使用しています。

触ると本体は多少熱くなってますが、システム温度はしっかり下げられています。

Raspberry Pi 用モニター

忘れてはいけないのがモニターです。Raspberry Pi には、モニターはありません。基盤剥き出しの本体のみです。

OS インストール直後しか使用せず、あとは RDP とか VNC などで接続しますが、最初は必要ですので忘れないように購入しましょう。私はこれを使ってます。

MicroSD カード

Linux でサーバーを動かすなら、16GB でも 32GB でも十分です。

あと、MicroSD のサイズが大きいほど、バックアップの時間が長くなります。これを考えると、なるべく MicroSD のサイズは小さいに越したことはありません。

MicroSD リーダー・ライター

Raspberry Pi では、OS を MicroSD に書き込んで、そこから起動させて使います。OS の書き込みの際に必要となりますので、持っていない場合は購入しておきましょう。

事前準備

MicroSD に OS イメージを書き込むのには、Raspberry Imager を使うのが便利です。これが圧倒的に速いです。

Raspberry Pi Imager を起動し、Raspberry Pi OS (Raspbian)を、MicroSD にインストールします。

「Operation System」 の中からRaspberry Pi OS は選択できます。Raspberry Pi Imager が、ダウンロードして書き込んでくれます。

OS の書き込みが完了したら、MicroSD カードをRaspberry Pi 4に差し込み、Raspberry Pi OS を起動させます。

Raspberry Pi OS のIPアドレスは、固定にした方が良いです。あと、WiFi も停止して、ケーブルでネットワークに接続させましょう。

VNC も有効にしておきます。これにより、リモートから画面アクセスが可能になりますので、設定がしやすいです。

VPN のインストール

Raspberry Pi OS のブラウザーを起動し、SoftEther のダウンロードページ(https://www.softether-download.com/en.aspx?product=softether)から、必要なコンポーネントをダウンロードをします。

以下のように選択します。

  • 「ダウンロードするソフトウェアを選択」で、SoftEther VPN (Freeware) を選択
  • 「コンポーネントを選択」で、SoftEther VPN Server を選択
  • 「プラットフォーム」で、Linux を選択
  • 「CPU を選択」で、ARM EABI (32bit) を選択

ダウンロードが完了したら、画面の上のメニューの左側にある「ターミナル」をクリックして起動します。

ここからは、コマンド操作になります。

ダウンロードしたファイルを指定して展開します。

tar xzvf softether-vpnserver-v4.34-9745-beta-2020.04.05-linux-arm_eabi-32bit.tar.gz

「vpnserver」というフォルダが作成されるのが見えます。

「vpnserver」ディレクトリに移動して、make コマンドを実行します。

$ cd vpnserver
$ make

make を実行すると、何度か質問されるので、全て 1(Yes) で回答していきます。

Do you want to read the License Agreement for this software ?
1. Yes
2. No
Please choose one of above number:
1

vpnserver のプログラムの生成が開始します。

「vpnserver」フォルダを丸ごと /usr/local/ ディレクトリにコピーします。

cd ..
sudo rsync -av vpnserver /usr/local

または、フォルダを丸ごと移動させてしまっても良いです。

$ sudo mv vpnserver /usr/local

/usr/local/のディレクトリに「vpnserver」フォルダをコピーまたは移動できたら、/usr/localに移動します。

cd /usr/local

chmodコマンドで、権限を書き換えて保護していきます。

まずは、vpnserverフォルダです。

sudo chmod 700 vpnserver

次に、に移動します。

cd vpnserver

以下のコマンドを実行します。

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 700 vpncmd vpnserver

Raspberry Pi 4が起動した際に、SoftEther も自動で起動するようにします。

以下のvpnserver.serviceファイルを、新規で作成します。

sudo vim /usr/lib/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
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

/usr/local/vpnserver/vpnserver_startで、起動させる訳です。

なので今度は、/usr/local/vpnserver/ディレクトリーに、vpnserver_startファイルを作ります。

vim /usr/local/vpnserver/vpnserver_start

自動でtapデバイスの名前を選んできてブリッジに追加するスクリプトです。

#!/bin/bash
/usr/local/vpnserver/vpnserver start

tap=$(/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}')
/sbin/brctl addif br0 $tap

権限を変更します。

sudo chmod 755 /usr/local/vpnserver/vpnserver_start

これで、SofeEther 側の設定は完了です。

ブリッジのインストールと設定

bridge-utilsをインスト―ルします。

sudo apt-get install -y bridge-utils

ブリッジのipアドレスを設定。

/etc/dhcpcd.confに固定の内容を書いてはいけない。

sudo vim /etc/network/interfaces

自分の環境に合わせて、設定内容を記入していきます。

# loopback
auto lo
iface lo inet loopback

# Ethernet port
auto eth0
iface eth0 inet manual

# Bridge interface
auto br0
iface br0 inet static
address 172.16.xxx.yyy #固定のipアドレスを指定
netmask 255.255.255.0
network 172.16.xxx.0 #ネットワークのアドレスを指定
broadcast 172.16.xxx.255 #ブロードキャストアドレスを指定
gateway 172.16.xxx.yyy # ルータのアドレスを入れる
bridge_ports eth0

設定を適用させるために、一度リブートします。

sudo reboot
sudo /usr/local/vpnserver/vpnserver start

vpnserverの起動登録をします。

sudo systemctl enable vpnserver.service

これで、ブリッジのインストールと設定が完了です。

VPN Server Manager のインストール

ここからは、Raspberry Pi OS ではなく、Windows PC での作業となります。

自分のWindows PCに、VPN Server Manager をインストールします。

SoftEther のダウンロードページ(https://www.softether-download.com/en.aspx?product=softether)から、必要なコンポーネントをダウンロードをします。

以下のように選択します。

  • 「ダウンロードするソフトウェアを選択」で、SoftEther VPN (Freeware) を選択
  • 「コンポーネントを選択」で、SoftEther VPN Server Manager for Windows を選択
  • 「プラットフォーム」で、Windows を選択
  • 「CPU を選択」で、Intel (x86 and x64) を選択

VPN Server Manager の設定

まずは、VPN接続される側(自宅に置いてあるRaspberry Pi 4)の設定をしていきます。

画像に alt 属性が指定されていません。ファイル名: vpn+deployment.png

なぜ、自宅のRaspberry Pi 4が接続される側かというと、インターネット越しにSSL VPNが向かってきます。このインターネットからの通信を、インターネットルーターで、Raspberry Pi 4に向ける必要があるからです。Inboud NATでも良いですし、Port Forwardingでも良いです。ただ、こういった設定は、会社のITで管理されている機器には設定ができません。そのため、自宅の方で行います。

Windows PC 上のVPN Server Manager から、Raspberry Pi OS 上のVPN Serverに接続して、VPN関連の設定をしていきます。

VPN Server の登録

以下のように設定していきます。

  • 接続設定名に、Raspberry Pi OS のIPアドレスを指定します。
  • ホスト名には、後から見て、これがどのVPN Serverなのか分かる名前を指定します。Raspberry Pi OS の名前でも良いと思います。
  • ポート番号は、443のままが良いでしょう。

設定が完了したら、OKを押して登録します。

  • 仮想HUBの名前を指定します。「どこへの接続」という感じの名前が分かりやすいと思います。
  • 仮想HUBの管理パスワードも設定します。

設定が完了したら、OKを押して保存します。

次に、「ローカルブリッジ設定」をクリックします。

  • 「新しいローカルブリッジの定義」の「仮想HUB」のプルダウンメニューから、先ほど作成した仮想HUBの名前を選択します。
  • 「LANカード」では、プルダウンメニューから「br0」を選択します。

設定が完了したら、閉じるをクリックして、設定を保存します。

「ダイナミックDNS設定」をクリックします。

ダイナミックDNS機能の設定画面の中の「ダイナミックDNSホストの変更」を設定していきます。

設定が完了したら、閉じるをクリックし、設定を保存します。

ユーザーを登録していきます。

「ユーザー管理」をクリックします。

「新規作成」をクリックし、ユーザーを作成します。

  • 「ユーザー名」で、ユーザー名を設定します。例えば、Tarouとかuser-01などです。
  • 「本名」で、上記ユーザーの本名を入力します。例えば、Tarou Yamada などです。
  • 「説明」はオプションが、後からこのユーザーがどのようなユーザーなのか分かるようにコメントを入れておきます。
  • 「パスワード認証」で、このユーザーがVPN接続する際に使用するパスワードを指定します。

設定が完了したら、OKをクリックし、設定を保存します。

これで、VPN接続される側の設定は完了です。

次に、VPN接続する側(オフィスのWindows のSoftEther)の設定を行います。

「仮想HUBの管理」をクリックします。

「カスケード接続の管理」をクリックします。

「新規作成」をクリックします。

関連する記事:

最近の記事: