Feral HostingでTor Relayを動かす

Feral Hostingについて

Feral Hostingは共有型のサービスホスティングサービスです。
https://www.feralhosting.com/pricing

公式のガイドでTorrentに利用するソフトウェアの手順が多く紹介されているため、多くのユーザはTorrentをリモートで行うために利用しているはずです。
https://www.feralhosting.com/wiki/index

Feral HostingでのTorrentについて

Torrentは今回の本題ではないですが、軽く触れます。
多くのユーザは違法なコンテンツをTorrentでダウンロードします。
自宅の回線でダウンロードするとIPが固定されていた場合、ダウンロード者を特定することは容易いですし、開示をされ訴訟をされるリスクもあります。
そのため、自宅でNo Logを謳うVPNサービスを利用するか、このようなホスティングサービスを利用することになります。

Feral Hostingのようなサービスを利用すれば自宅でPCを24時間動かすことなく24時間に渡りTorrentを稼働できるようになるわけです。

Feral HostingのAS番号はAS200052です。
アムステルダムのDCで動作しており、イギリスの会社が運営しています。
Upstream(Transit購入+IPを広報)はArelion、Transit購入のみで広報はしていないLiberty Globalがあります。
またEU圏の複数のIXに接続しています。

Feral Hostingのユニークな機能として、Reroute Trafficが挙げられるでしょう。
Feral Hostingに入る経路は選べませんが、アクセス元のIPに対する経路をFeral Hostingが受信した中から選べます。
つまりArelionかLiberty Global、IXからも該当のユーザの経路を受け取っていればIXも自由に選択できるわけです。
上流に国際線を持つTier2がいれば、大抵はEUのIXに接続していますので、経路が複数表示されます。
Amsterdamのような遠い場所と通信する場合、経路によって(経由するASによって)大幅に遅延や速度が変化します。
それをユーザが選択できるのは画期的なことです。
経路を選択し、ワンクリックで即座に/32でNextHopを向けたStatic Routeが入ります。

その経路は30日間のみ保持されます(受け取る経路が消えても、30日間は消えません。
この機能を提供しているASは見たことがないです。
ぜひ試してみてください。
https://network.feral.io/reroute


ストレージ、サーバ等は複数のユーザで共有されます。
20Gbpsと記載されていますが、その速度をフルで利用することはできないことに注意が必要です。
高価で容量の少ないSSDプランと、安価で容量の多いHDDプランが存在します。
回線速度を活用してTorrentを行いたい場合、SSDプランを選択することが大切です。
両方のプランを試しましたが、SSDプランのほうが200倍ほど速度がでます。

1ヶ月利用しましたが、200TBほどSeedすることができました。
800Mbps以上は簡単に出ます。
最大1.5Gbpsほどを記録しました。

Torrentについての雑記

SSDプランはDiskが少ないため、データを手元のマシンに移す必要があります。
溢れてもすぐにサービスが停止されることはありません。

SSHでのログインが提供されているため、rsyncを利用するとスムースです。
日本からは距離が遠いので、Shell Scriptで並列で動かすようにすると、400Mbpsほどでダウンロードできます。
適当に鍵を設置して、パスワードレスでログインできるようにすると、完全に自動化できます。

Tor Relayの設置について

Tor Exitは設置できるASが限られます。
しかしRelayならば、大抵のASで設置が可能です。
Feral Hostingも例外ではありません。

しかしサーバ自体は共有で、ユーザのみ分離されているため、少し変わった方法を取る必要があります。

Feral Hostingには昔は多くのリレーが設置されていたようですが、現在はかなり減少しています。
https://metrics.torproject.org/rs.html#search/as:AS200052

複数のプロセスを動かすことで、800MbpsほどのTrafficを出すことが可能です。
これを月2000円程度で運用することができます。

Tor Exit Nodeは許可していないが、リレーは許可すると公式に謳っているため安心です。
https://www.feralhosting.com/wiki/getting-started/newbie-info

Tor Relay設置方法

apt-getなどでinstallすることは出来ないため、バイナリを持ち込むかビルドして利用する必要があります。
今回はビルドする方法で行いました。

  1. 最新のTorをダウンロードします。
    https://www.torproject.org/download/tor/
    >wget https://dist.torproject.org/tor-0.4.9.3-alpha.tar.gz
  2. 解凍します
    >tar xzf tor-0.4.9.3-alpha.tar.gz tor-0.4.9.3-alpha
  3. ディレクトリに入ります
    >cd tor-0.4.9.3-alpha/
  4. ビルドします
    >./configure && make

    以下のバイナリが存在することを確認します。
    src/app/tor
  5. ユーザディレクトリに設定ファイルやTorの生成するファイルを収納するディレクトリを用意する必要があります。
    今回はtorというフォルダを作成しました。
    >mkdir tor
    データ用のディレクトリも作成します。
    >cd tor ; mkdir datadir
    その後、フルのパスを取得しておきます
    >cd .. ; pwd
  6. torrc、tor-service-defaults-torrcを用意します。
    tor-service-defaults-torrcは複数プロセス動かすときに共有できる内容を書きます。
    torrcには各プロセスごとの内容を記載します。
    >nano tor-service-defaults-torrc
    DataDirectory /<フルパス>/tor/datadir
    PidFile /<フルパス>/tor/tor.pid
    RunAsDaemon 0

    ControlSocket /<フルパス>/tor/control GroupWritable RelaxDirModeCheck
    ControlSocketsGroupWritable 1

    CookieAuthentication 1
    CookieAuthFileGroupReadable 1
    CookieAuthFile /<フルパス>/tor/control.authcookie
  7. 利用されていないポート番号を調べておきます。
    >ss -tulpn
    ずらっと出るので、適当に使われていないポートを選びます。
    >nano torrc
    Nickname <サーバ名>
    ContactInfo <メールなど>
    RunAsDaemon 0
    ORPort <利用するポート番号>
    ExitPolicy reject :
    IPv4Only 1
  8. systemctl等は利用できないので、screen等で稼働させましょう。
    >screen -s tor1
    バイナリがあるディレクトリに移動します。
    >cd ~/tor-0.4.9.3-alpha/src/app/
    動かします。
    >./tor –defaults-torrc /<フルパス>/tor/tor-service-defaults-torrc -f /<フルパス>/tor/torrc –RunAsDaemon 0

10日ほど稼働させれば、Guardにも登録され、常時200Mbpsほどを転送するようになります。

お問い合わせ先

この記事に書いてある内容について何らかのご意見やご要望がある方は以下のメールアドレスまでご連絡ください
[email protected]

タイトルとURLをコピーしました