私が 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)の設定をしていきます。
なぜ、自宅の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の管理」をクリックします。
「カスケード接続の管理」をクリックします。
「新規作成」をクリックします。
関連する記事:
MS Azure を学ぶ (3) リソースグループの作成と管理 2 7月 22, 2024
Raspberry PiでのPi-Hole設定ガイド 6月 29, 2024
UbuntuとQNAPのiSCSI統合方法 2月 6, 2024
Linux の Cron の基本的な使い方と設定方法 10月 10, 2023
Server Name Indication (SNI) とは 7月 20, 2023
Video CC TranslatorでUdemyを快適に学ぶ 5月 11, 2023
LPIC を学ぶ(1) lsof コマンドについて 3月 14, 2023
MS Azure を学ぶ(2)Azure Active Directory とオンプレ Active Directory の違い 2月 15, 2023
MS Azure を学ぶ (1) リソースグループの作成と管理 11月 23, 2022
TimeMachineEditorでMacバックアップを最適化する方法 8月 30, 2022
最近の記事:
複数の宛先に ping を打つことができる「fping」 3月 4, 2025
ネイティブの英語 7 “A cup of joe” 1月 12, 2025
死刑確定囚・野比のび太 – 第二十三話・昇華するのび太の鬱屈 1月 3, 2025
死刑確定囚・野比のび太 – 第二十二話・静の怒りと武の苛立ち 12月 29, 2024
死刑確定囚・野比のび太 – 第二十一話・夫婦間の亀裂とのび太の影響 12月 28, 2024
死刑確定囚・野比のび太 – 第二十話・のび太の初出勤: 恐れと葛藤 12月 28, 2024
死刑確定囚・野比のび太 – 第十九話・ジャイアンとのび太の絆 12月 21, 2024
死刑確定囚・野比のび太 – 第十八話・引きこもりの息子と家族のジレンマ 12月 19, 2024
死刑確定囚・野比のび太 – 第十七話・ドラえもんと30歳ののび太の葛藤 12月 17, 2024
死刑確定囚・野比のび太 – 第十六話・剛田商店の成長と静香の貢献 12月 9, 2024