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

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

2. pkg のブートストラップ

このガイドでは、FreeBSD の基本インストールがすでに実行されており、 ベースシステムのみが動作していることを想定しています。 つまり、パッケージはインストールされていませんし、pkg パッケージマネージャーすらもインストールされていません (sudo はなく、root でコマンドを実行しています) 。

pkg をブートストラップしてインストールするには、以下のコマンドを実行します。

# pkg bootstrap
# pkg update -f
2.1. pkg の設定に推奨される方法

アップストリームのアップデートを「より速く」追うために、pkg が使用している「quarterly」ブランチを「latest」ブランチに変更することをお勧めします。

また、パッケージやアップデートの取得に HTTPS を使用することを推奨します。そのためには、追加のパッケージ (ca_root_nss) が必要です。

ca_root_nssパッケージをインストールします。

# pkg install ca_root_nss

pkg が使っている元の設定を維持しつつ、それを上書きする新しい設定をします。そこで、新しいディレクトリーを設定し、必要なものを上書きする構成ファイルを作成します。この設定ファイルは /usr/local/etc/pkg/repos/FreeBSD.conf になります。

新しいディレクトリーの作成:

# mkdir -p /usr/local/etc/pkg/repos

新しい設定ファイル /usr/local/etc/pkg/repos/FreeBSD.conf は以下のようになります。

FreeBSD: {
  url: pkg+https://pkg.freebsd.org/${ABI}/latest
}

これらすべての変更を適用した後、パッケージリストを再度更新し、適用する新しい更新が既にあるかどうかをご確認ください。

# pkg update -f
# pkg upgrade -y -f

3. Tor のインストール

ここでは最新の安定版をインストールします (推奨) 。

# pkg install tor

または、アルファリリースをインストールします。

# pkg install tor-devel

4. obfs4proxy のインストール

# pkg install obfs4proxy-tor

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

RunAsDaemon 1
BridgeRelay 1

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

ServerTransportPlugin obfs4 exec /usr/local/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

Log notice file /var/log/tor/notices.log

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

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

  • FreeBSD のファイアウォールを 「default deny」 ポリシーで使っていますか? もしそうなら、obfs4proxy がループバックインターフェイス経由で Tor プロセスと通信できることをご確認ください。また、Tor の ExtORPort をホワイトリストにすることにもご注意ください。

6. sysctl の random_id 設定が有効になっていることを確認

# echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
# sysctl net.inet.ip.random_id=1

7. tor デーモンを起動し、ブート時に起動することを確認

# sysrc tor_setuid=YES
# sysrc tor_enable=YES
# service tor start

8. ログの確認

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

[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.

9.備考

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