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

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

2. epel-release のインストール

CentOS/RHEL で tor のパッケージをインストールするには、初めに EPEL リポジトリの使用を許可する必要があります。そのためには、epel-release パッケージをインストールする必要があります。

# yum install epel-release

最近の CentOS/RHEL のバージョンは yum の代わりに dnf を使用しています。

# dnf install epel-release

dnf を使用する最近のバージョンの場合は、この設定ガイドで yum とある箇所で、代わりに dnf を使い続けてください。

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

CentOS/RHEL 向けの Tor Project のリポジトリを設定するには、/etc/yum.repos.d/Tor.repo を以下の内容に設定してください。

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

4. Tor のインストール

EPELと Tor のリポジトリを設定したら、パッケージをインストールしましょう。

# yum install tor

なお、EPEL のリポジトリから初めてパッケージをインストールする場合は、EPEL の GPG の署名鍵を検証するよう求められます。 鍵が Fedora Project のウェブサイトにある鍵と一致しているかどうか確かめてください。 これも Tor のリポジトリからパッケージを初めてインストールする場合に起こります。この場合も、鍵が一致しているかどうかを確かめてください。

5. lyrebird (obfs4proxy) をビルドして適切な場所に移動

古すぎるバージョンのgitの場合、go get が失敗する可能性があります。その場合は、gitのバージョンを新しいものにアップグレードしてみてください。

golang のパッケージと依存関係をインストールしましょう。

# yum install git golang policycoreutils-python-utils

バイナリーをビルドして、適切なディレクトリーに移しましょう。

git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird
cd lyrebird
make build
sudo cp .//lyrebird /usr/local/bin/
# chcon --reference=/usr/bin/tor /usr/local/bin/lyrebird

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

RunAsDaemon 1
BridgeRelay 1

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

ServerTransportPlugin obfs4 exec /usr/local/bin/lyrebird

# 「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 ポートがインターネットから接続可能かどうか、こちらのツールでご確認いただけます。

7. Tor を再起動

sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]

sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in TODO2]

systemd を搭載している CentOS/RHEL の最近のバージョン:

# systemctl enable --now tor
... or restart it if it was running already, so configurations take effect
# systemctl restart tor

CentOS/RHEL 6などの古いリリースを使っている場合は、次のようになります。

# service tor enable
# service tor start

8. ログの確認

ブリッジが正常に稼働している場合、以下のような記述があるはずです (通常は、/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.

9.備考

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