RaspberryPi 3B+に公式リポジトリを追加して最新のTorを入れてリレーノードを構築した
Twitterで呟いたのでこちらでも。
基本的にはTor公式サイトのHow to通りにやればよい。
…が、わざわざ太字で"Rasbian is not Debian"と太字で書いてある。
結論的に言ってしまうとRaspberryPi1A/BはCPUアーキテクチャがARMv6のため正常に動かない。RaspberryPi2以降はARMv7/8なので問題なく動作する。
一番お手軽なのはDebian公式リポジトリからのインストールである。
sudo apt install tor
しかしこの場合、ver.2系列の古いバージョンがインストールされてしまう。メンテはされているので動くのだが、Tor公式リポジトリから最新バージョンをインストールするのが好ましい。難しくはないのでサクサクと設定してしまおう。
aptのソースリストを開く。
sudo vim /etc/apt/sources.list
しかる後下記二行を追加。
deb https://deb.torproject.org/torproject.org stretch main deb-src https://deb.torproject.org/torproject.org stretch main
これでTor公式リポジトリが追加された。が、以前blogで書いたとおり、パッケージにはPGP/GPGによる署名がされているので、Tor公式リポジトリの公開鍵を設定する必要がある。
sudo curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo gpg --import sudo gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
上の行がcurlで公開鍵をDLしGPGに登録、下の行がその公開鍵をaptに追加である。
あとはパッケージリストを交信すれば最新版のTorをインストールできる
sudo apt update sudo apt install tor
続いて設定である。設定ファイルを開く
sudo vim /etc/tor/torrc
延々と書いてあるが最低限の設定でいい。
ORPort 443 DirPort 9030 RelayBandwidthRate 1000 KBytes RelayBandwidthBurst 2000 KBytes ExitPolicy reject *:* ExitPolicy reject6 *:* ExitRelay 0
これでTorの待ち受けポートが443/tcp、ディレクトリリストの待ち受けポートが9030/tcpになる。ここら辺のポートやRelayBandwidthRateで設定できる帯域はお好みで構わない。なお、出口ノードになるのはリスクが多すぎるのでオススメしない。この設定でも全てリジェクトしている。
ルータでのポートの開け方などなどはメーカでバラバラなので各位で行って欲しい。
設定が終わったならば再起動。
sudo systemctl restart tor
Torの起動には数分かかるので、一服した後、Syslogで起動を確認する。
less /var/log/syslog
で一番下の方にTorの起動に関するログが残っているはずだ。"Bootstraped 100%"の後に "Self-testing indicates your DirPort is reachable from the outside. Excellent. Publishing server descriptor."と表示されていれば問題ない。
ここで少し上の方を見ると、"Your Tor server's identity key fingerprint is 'Unnamed ****************************'"と表示されているはずだ。これがあなたのTorリレーのFingerprintとなる。
この一意の識別子になるFingerprintの秘密鍵は"/var/lib/tor/keys"に保管されている。Rasbianを再インストールしたり、別のRasPiで動かすときにFingerprintを引き継ぐことを考えて鍵はバックアップを取っておこう。
sudo tar cvfz tor_keys_raspi.tar.gz /var/lib/tor/keys/
でホームにバックアップを作成し、母艦PCなり別なUSBに保管する。
起動から3時間程度でTorネットワークの一覧に登録される。
このRelaySearchで、先ほど確認した自分のFingerprintを入力しよう。問題なく初めてTorネットワークに登録された時間や起動時間、帯域などが表示されていればリレーノードの開設は成功裏に終了である。
現状、日本のTorリレー数は120程度と寂しいので少しでもリレーが増えて欲しい。以上。