hiru.info

CentOSのアップデート後にTorが正常に起動しなくなる

作成: 2021-04-02
更新: 2021-05-13
目次

症状

CentOSのパッケージをアップグレードした後に、Torサービスを再起動すると発生する。
サービス起動時にBootstrapが完了せず、Torサービスが再起動ループに陥る。

スクリーンショット
赤枠部分にエラーが表示される

環境

主なソフトウェアのバージョン

torrcの内容(変更部分を抜粋)

Nickname HiruDotInfo
ORPort 9001
DirPort 9030
SocksPort 0
ExitRelay 0
ExitPolicy reject *:*

ContactInfo strangeworld[at]vivaldi[dot]net

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80

直前にアップグレードしたパッケージの一覧(DNF)

スクリーンショット

解決に成功した方法

1. 正常動作時に以下をバックアップ

1-1. リレーの長期IDキー

この例ではユーザ(USERNAME)のホームディレクトリにファイルをバックアップする。
{USERNAME}の部分をバックアップ先にしたいユーザ名に置き換えてから実行する。

$ sudo tar cvf /home/{USERNAME}/backup_tor.tar -C /var/lib/tor keys

1-2. ホスト名

$ sudo tar cvf /home/{USERNAME}/backup_tor_hostname.tar -C /var/lib/tor/hidden_service hostname

1-3. torrc

再インストール時に/etc/tor/torrcは初期状態に戻るので、変更部分を保存するか、バックアップしておく。

2. Torを再インストール

$ sudo dnf -y remove tor
$ sudo dnf -y install tor

3. 各種ファイル・設定を復元

3-1. リレーの長期IDキー

$ sudo tar xvf backup_tor.tar -C /var/lib/tor/

3-2. ホスト名

$ sudo tar xvf backup_tor_hostname.tar -C /var/lib/tor/hidden_service/

3-3. torrc

バックアップしたファイルを元に戻すか、変更内容を書き換える。

4. (念のため)torディレクトリの所有者を変更

{USERNAME_Tor}の部分をTorの実行ユーザ名(toranon等)に置き換えてから実行する。

$ sudo chown -Rv {USERNAME_Tor} /var/lib/tor/hidden_service/

5. スタートアップの登録と起動

$ sudo systemctl enable tor
$ sudo systemctl start tor

6. 動作確認

6-1. サービスの起動を確認

$ sudo systemctl status tor

6-2. Torのサイトを運営している場合は、Onionサイトの動作確認も

Tor Browserでアクセス可能か確かめる。