
TorルーターをRaspberry Pi 5で自作して活用する方法
本記事ではRaspberry Pi 5を使ってTorルーターを自作する手順と使い方を解説します。
今回は新規に1台Torルーターを構築する機会があったので、手順を記事にまとめることにしました。
また、Torルーターの使い方や利用時の注意点などについても解説します。
読み進めるにあたり、最低限Linuxにログインしてコマンドを実行できることを前提にしています。
ただし、本記事はどなたでも簡単にTorルーターをセットアップできるようにスクリプトを用意していますので、コマンドを実行することに抵抗がない程度のレベルで全然問題ありません。
※VPN Cafeが用意したスクリプトを実行するだけでセットアップが完了します
Torルーターを使うメリット
TorルーターにスマホやPCを接続すると、接続した機器の通信はTorネットワークを経由するようになります。
Torルーターには次のようなメリットがあります。
TorやTorブラウザをインストールできない機器でもTorネットワークを経由させられる
簡単にVPNをTor経由に設定できる(VPN over Tor)
本記事では後半でVPNとTorルーターを組み合わせて使う方法について解説します。
Whonixとの違い
すべて無料で済ませたい、という方にはWhonixがおすすめです。
Whonixは仮想環境内にTorルーターと端末を構築します。ただし、いつくかの制約があります。
まず、この記事を書いている2024年12月時点では、WhonixはApple Siliconを搭載したMacに対応していません。
次に、Tor接続できる端末に制限があります。Whonixでは「Whonix-Workstation」と呼ばれる仮想マシンを端末として使います。
「Whonix-Workstation」以外の仮想マシンを使うこともできるのですが、スマホやPCといった物理マシンを端末として使うことは難しくなります。
用意するもの
今回わたしが用意したものは次のとおりです。
可能な限り手持ちの製品を流用すると費用を抑えられます。
Raspberry Pi 5 … アマゾンで購入
Raspberryケース … アマゾンで購入
電源アダプター … アマゾンで購入
microSDカード … アマゾンで購入
SDカードリーダー … 手持ちの機器を使用
ディスプレイ … 手持ちの機器を使用
HDMIケーブル … アマゾンで購入
キーボード … 手持ちの機器を使用
LANケーブル … 手持ちのケーブルを使用
パソコン(Windows, Mac, Ubuntu) … 手持ちのパソコンを使用
総額2万1千円ほどの出費となりました。ちょっと高く感じるかも知れませんが、匿名性を向上させる機器をつくるので、これくらの出費は必要です。
Raspberry Pi 5とケース、電源アダプター
わたしは今回Raspberry Pi 5を使いますが、Torルーターとして動作させる上で高い性能は必要ないため、性能的にはRaspberry Pi 4でも全然問題ありません。
ただし本記事ではRaspberry Pi 5を使うことを前提にセットアップスクリプトの動作テストをしているため、その点を心に留めておいてください。
Raspberry Piのケースは必須ではありませんが、できればケースを使ってください。基盤むき出しで運用することは、おすすめできません。
電源は重要です。Raspberry Pi 5は仕様にあった電源を選ぶ必要があるので、Raspberry Pi 5を購入する際は仕様にあった電源アダプターを合わせて購入した方が無難です。
microSDカードとカードリーダー
SDカードはmicroSDカードであれば何でもよく、容量は16GB以上あれば十分です。 また、SDカードにOSイメージを書き込むのでSDカードリーダーが必要です。手元のパソコンにSDカードを挿す場所がない場合は購入してください(安い物で大丈夫です)。
本記事でリンクを張っているmicroSDカードはSDカードのアダプターが付属しているので、SDカードサイズしか挿入できないカードリーダーでも全然問題ありません。
USB Type-CとType-Aの両方に対応したSDカードリーダーが欲しい方は、以下の製品がおすすめです。
SDカードリーダー(USB Type-C+Type-A対応)
ディスプレイとHDMIケーブル
最初からリモートログインして作業することもできるのですが、ディスプレイがない場合、万が一リモートログインできなくなるとお手上げ状態になります。
Raspberry Piをディスプレイと接続するには、端子の形状を合わせる必要があります。
Raspberry Pi側は「Mini HDMI(ミニHDMI)」です。ディスプレイ側がHDMIであるならば「Mini HDMI(ミニHDMI)~ HDMI」を接続するケーブルを用意してください。
手元にあるHDMIケーブルを流用したい場合は変換アダプターを使うこともできます。
わたしはIO-DATAのモバイルディスプレイを持っているので、Raspberry Piとの接続はこのモバイルディスプレイを使います。このディスプレイはMicro HDMI端子とUSB Type-Cを利用できます。
モバイルディスプレイをひとつ持っていると便利な場面が多いのでおすすめです。
キーボード
キーボードもディスプレイ同様に用意した方がよいです。なお、無線ではなく有線接続できるキーボードを使ってください。USB Type-Aで接続できれば何でもOKです。
マウス
本記事ではデスクトップ版のOSをインストールしないためマウスは使いません。
ただし、デスクトップ版のOSをインストールしたいという方はキーボードと合わせマウスも用意してください。USB Type-Aで接続できれば何でもOKです。
LANケーブル
TorルーターのWAN側(インターネット側)は有線でブロードバンドルーターと接続しますのでLANケーブルが必要です。環境に合った長さのストレートケーブルを用意してください。
LANケーブル x 1本
microSDカードにOSイメージを書き込む
OSはRaspberry Pi標準の「Raspberry Pi OS」を使います。
microSDカードにOSイメージを書き込む方法はいくつかありますが、今回は公式サイトからRaspberry Pi Imagerというツールをダウンロードして、microSDカードに書き込みます。
この方法はOSの初期設定からイメージファイルの書き込みまでサポートしているため、初心者の方でも安心して作業を進めることができます。
①公式サイトからRaspberry Pi Imagerをダウンロードする
https://www.raspberrypi.com/software/
上記のサイトにアクセスしてインストーラーをダウンロードします。わたしはWindows用のファイルをダウンロードしました。

ダウンロードが完了したらパソコンにインストールしておいてください。
②microSDカードにイメージファイルを書き込む
Raspberry Pi OSのイメージファイルを書き込むmicroSDカードをパソコンに挿入してください。
microSDカードを挿入したら、先ほどインストールしたRaspberry Pi Imagerを起動します。
最初に[デバイスを選択]をクリックしてください。

Raspberry Piの種類を選択します。わたしはRaspberry Pi 5を使うので赤枠で囲った箇所をクリックします。
ここはご自身が利用されるRaspberry Piの種類に合わせて選択してください。

次に[OSを選択]をクリックします。

GUI(デスクトップ画面)は不要なので「Raspberry Pi OS (other)」をクリックします。

64ビット版のRaspberry Pi OSをインストールしたいので、赤枠で囲った箇所をクリックします。

次に[ストレージを選択]をクリックします。

microSDカードがパソコンで認識していれば次のように表示されるので、OSイメージを書き込みたいストレージをクリックします。

[次へ]をクリックします。

カスタム設定をおこなうか確認画面が出るので[設定を編集する]をクリックします。

「一般」タブで次のように設定しました。
ホスト名はご自身で決めて設定してください(未設定でも問題ありません)。
ユーザー名とパスワードはご自身で好きなものを設定してください。
Wi-Fiは後で設定するので未設定のままにしておきます。
ロケールはタイムゾーンとキーボードレイアウトを正しく設定してください。

「サービス」タブではSSHを有効化しました。リモートログインが不要な場合は有効化しないでください。SSHを有効化しない場合、Raspberry Piのアップデートや設定変更などはディスプレイとキーボードを接続しておこないます。

「オプション」タブは特に変更していません。すべて設定したら[保存]ボタンをクリックしてください。

設定がすべて完了したら[はい]をクリックします。

確認画面が出ますので、OSイメージを書き込んで問題なければ[はい]をクリックしてください。

次のように書き込みが始まりますので、完了までしばらく待ってください。

正常に書き込みが完了すると次のような画面が表示されます。この画面が表示されたらmicroSDカードをパソコンから抜いて問題ありません。

[続ける]をクリックすると元に画面に戻るので、ツールを閉じてOSのイメージ書き込みを終了します。
Raspberry Piを起動してログインする
①起動前にやること!
miroSDカードをパソコンから抜き、Raspberry Piに挿入してください
キーボードをRaspberry Piに接続してください。
ご自宅のブロードバンドルーターとRaspberry PiをLANケーブルで接続してください(※)。
※大抵のブロードバンドルーターにはLANポートが備わっています。ブロードバンドルーターの裏側を確認してみてください。
ブロードバンドルーターの設置場所とRaspberry Piの設置場所が離れている場合、小型のアクセスポイントを使うと便利です。

わたしはWi-Fi接続できないネットワーク機器をインターネットに接続する際は、このような小型のアクセスポイントを使っています。ひとつ持っていると便利ですよ。
②電源を投入してログイン確認
Raspberry PiのUSB Type-C端子に電源ケーブルを接続してください。これでRaspberry Piの起動が始まるはずです。
画面が表示されたらSDカードにイメージを書き込んだ際に設定したユーザー名とパスワードでログインします。
※ユーザー名とパスワードを忘れてしまった場合はOSイメージの書き込みをやり直してください
ここから先はコマンドラインで設定します。
③インターネットに接続できているか確認する
次のコマンドを実行してインターネットへの接続性を確認します。
ping -c 1 1.1.1.1
インターネットに接続されていれば次のように「64 bytes from …」と表示されるはずです。
64 bytes from 1.1.1.1: icmp_seq=1 ttl=xx time=xx.xms
上記のような応答がない場合、インターネットに接続できていません。Raspberry Piが正しくブロードバンドルーターと接続できていない可能性が高いため、ケール接続を見直してください。
Wi-Fiを有効化する
Wi-Fiを有効化するためには国コードを設定する必要があります。次のコマンドを実行してください。
sudo raspi-config
次のように表示されるので「5 localisation Options」を選択してエンターキーを押下します。
※矢印キーで上下に移動できます

「L4 WLAN Country」を選択してエンターキーを押下します。

国コードを選択します。日本で使うのであれば「JP」を選択して[OK]をクリックします。
※「JP」を選択後、TABキーで[OK]を選択状態にしてエンターキーを押下します

次のように表示されますから[OK]をクリックします。

[Finish]をクリックして設定を終了します。
※TABキーで[Finish]を選択状態にしてエンターキーを押下します

これでWi-Fiが有効化されます。
Raspberry PiをTorルーター化する
次にRaspberry PiをTorルーター化します。
今回はわたしの方でシェルスクリプトを書きましたので、それを実行すれば完了です。
次のコマンドを実行すると自動的にパッケージのアップデートとTorルーター化のセットアップが始まります。
curl https://vpncafe.net/pi5/torrt | bash
インターネットへの接続環境にもよりますが、数分でセットアップが完了するはずです。
次に該当する方はスクリプトをダウンロード・編集してから、編集したスクリプトを直接実行してください。
SSID・パスフレーズを自分で決めたい(スクリプトはランダムな文字列を使います)
TorルーターのIPアドレスを変更したい(スクリプトは192.168.4.1/24固定です)
DHCPの割り当てアドレスを変更したい(スクリプトは192.168.4.2-100を割り当てます)
DHCPで割り当てるDNSサーバーを変更したい(スクリプトは1.1.1.1 8.8.8.8を割り当てます)
iptablesの設定を変更したい(スクリプトは53/udp、TorルーターあてのSSHを除きすべてTorに転送します)
スクリプトによるセットアップが完了するとWi-Fi接続するためのSSIDとパスフレーズが次のように表示されます(「X」の箇所はランダムな文字列)。
################################################## SSID=aterm-XXXXXX-g
PASSPHRASE=XXXXXXXXXXXX ##################################################
表示されているSSIDとパスフレーズをメモしてください。
※メモを忘れたり間違えてメモした場合はroot権限で「/etc/hostapd/hostapd.conf」を見てください
SSIDが「aterm-XXXXXX-g」となっているのは、目立たぬようにAtermを模しているためです。他意はありません。
SSIDとパスフレーズをメモしたら再起動します。
sudo shutdown -r now
再起動後、およそ1分を経過するとTorルーターとして使えるようになります。
※Raspberry Pi側の事情に合わせて、OS起動から30秒後にhostpadを起動し、OS起動から60秒後にTorを起動するように設定しています
お疲れさまでした。これでRaspberry PiのTorルーター化は完了です。
ここから先はTorルーターの使い方や注意点、VPNと組み合わせて匿名性を向上させる方法などを解説していきます。
この記事が気に入ったらチップで応援してみませんか?