1. ソフトウェアの自動更新を有効にする

リレーを安全に保つために最も大事なことの1つは、セキュリティアップデートを適切なタイミングで、理想的には忘れないように自動的にインストールすることです。 指示に沿って、お使いのオペレーティングシステムでソフトウェアの自動更新を有効にしてください。

2. Tor Project のリポジトリの設定

Fedora 用に Tor Project のリポジトリを設定するには、主に /etc/yum.repos.d/Tor.repo を以下の内容で設定します。

[tor]
name=Tor for Fedora $releasever - $basearch
baseurl=https://rpm.torproject.org/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/fedora/public_gpg.key
cost=100

この点に関する詳細については、こちらからご確認いただけます。

3. tor のインストール

Tor のリポジトリを設定したら、パッケージをインストールできます。

# dnf install tor

4. obfs4proxy のインストール

私たちはここで obfs4 を Pluggable Transport として選択するので、 obfs4proxy をインストールすることになります。

他の Linux ディストリビューションとは異なり、Fedoraバイナリーパッケージを提供しています。これは Fedora 33 から利用できます。

パッケージは obfs4 であり、インストールが必要なパッケージはそれだけです。

# dnf install obfs4

ソースからの lyrebird のインストールやソースからのビルドについての詳細につきましては、公式ドキュメントをご覧ください。

5. Tor 構成ファイル (通常は /etc/tor/torrc ) を編集し、内容を以下のように置き換えます。

RunAsDaemon 1
BridgeRelay 1

# 「TODO1」を任意の Tor ポートに置き換えてください。このポートは外部から接続可能でなければなりません。
# ポート9001は一般的に Tor と関連しており、検閲当局がこのポートを探して
# インターネットをスキャンしている可能性があるため、避けてください。
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

# 「TODO2」を任意の obfs4 ポートに置き換えてください。
# このポートは外部から接続可能であり、ORPort に指定したポートとは異なる必要があります。
# ポート9001は一般的に Tor と関連しており、検閲当局がこのポートを探して
# インターネットをスキャンしている可能性があるため、避けてください。
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Tor と obfs4 間のローカル通信ポート。 常に 「auto」 に設定してください。
# 「Ext」は 「外部」ではなく 「拡張」を意味します。特定のポート番号を設定したり、
# 0.0.0.0 をリッスンしたりしないでください。
ExtORPort auto

# <address@email.com> をあなたのメールアドレスに置き換えてください。
# これにより、あなたのブリッジに問題が生じた際にご連絡することができます。これはオプションですが、強く推奨します。
ContactInfo <address@email.com>

# ブリッジにお好きな Nickname をつけてください。 これはオプションです。
Nickname PickANickname

ORPortServerTransportListenAddrContactInfo 、および Nickname の各オプションを忘れずに変更してください。

  • Tor の OR ポートと obfs4 ポートの両方が接続可能でなければならないことにご注意ください。あなたのブリッジがファイアウォールや NAT の背後にある場合、両方のポートを開けるようにしてください。obfs4 ポートがインターネットから接続可能かどうか、こちらのツールでご確認いただけます。

6. SeLinux を無効にする

SeLinux が "Enforcing" に設定されているか確認してください。

# getenforce

"Enforcing" に設定されていたら、Status を "Permissive" に変更してください。

# setenforce 0

変更を恒久化するには、以下のように入力します。

# nano /etc/selinux/config

また、SELINUX=enforcing を SELINUX=permissive に変更してください。

7. Fedora のファイアウォールのポートを開く

torrc ファイルで選択した obfs4 および ORPort の場合:

# firewall-cmd --add-port XXX/tcp --permanent

両方のポートに対して実行したら、以下のコマンドを実行してください。

# firewall-cmd --reload

(オプション) 特権ポートでの obfs4 バインディングを許可するように systemd を設定する

1024より小さい番号の固定ポートを obfs4 に使用する場合 (例えば80や443) 、ポートを非ルートユーザーと結びつけるよう obfs4 に CAP_NET_BIND_SERVICE 機能を与えるよう systemd を設定する必要があります。

# setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy

8. Tor を再起動

# systemctl enable --now tor

9. ログの確認

ブリッジが正常に稼働している場合、以下のような記述があるはずです (通常は、/var/log/tor/log/var/log/syslog など) 。

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

10. 備考

ブリッジの設定に際して問題がある場合は、ヘルプセクションをご覧ください。 ブリッジが正常に動作したら、インストール後の確認事項をご覧ください。