Назад | Перейти на главную страницу

Узлы ретрансляции / выхода Tor под вытесняемыми виртуальными машинами

У меня есть платная подписка на Google Cloud Platform, и я хочу запустить ретранслятор Tor и узлы выхода. Я использую образ Docker квантовый объект / докер-тор-выход-реле, просто подключи и работай.

Вкратце, согласно полученным ответам:

Мое первоначальное обоснование

Поскольку вытесняемые виртуальные машины намного дешевле, я хотел использовать группы экземпляров с вытесняемыми виртуальными машинами. Затем, чтобы иметь узлы высокой доступности, я планирую использовать балансировщик нагрузки GCP, чтобы в любой момент работал только один IP-адрес и хотя бы одна виртуальная машина.

Кроме того, я изначально планировал использовать виртуальные машины типа g1-small (1/2 общего виртуального ЦП и 1,7 ГБ ОЗУ) для затрат, и я сравниваю с другими альтернативами, такими как виртуальные машины обычного класса с «обязательным использованием» (которые применяют скидки ).

Инвестиции

Ниже приведены ориентировочные затраты на виртуальные машины (согласно калькулятору):

Config.     | Class       | vCPU | RAM    | C. usage | Price/Mo
----------------------------------------------------------------
g1-micro    | Regular     | 0.2  | 600MB  | Not set  | US$3.88
g1-small    | Preemptible | 0.5  | 1.70GB | Not set  | US$5.11
g1-small    | Regular     | 0.5  | 1.70GB | Not set  | US$13.80
n1-standard | Regular     | 1    | 3.75GB | 3 years  | US$15.60
Custom      | Regular     | 1    | 1GB    | 3 years  | US$11.78
Custom      | Regular     | 1    | 2GB    | 3 years  | US$13.17

ВЦП - Intel Xeon @ 2,3 ГГц, микроархитектура Haswell.

Кроме того, нам нужны предполагаемые затраты на исходящий трафик (ежемесячно потребляемая пропускная способность) (полезно для групп, а не для отдельных виртуальных машин):

BW    | Zone 1 | Zone 2 | Zone 3 | Zone 4 | Price
-----------------------------------------------------
70GB  | 40GB   | 15GB   | 5GB    | 10GB   | US$9.42
80GB  | 80GB   | 30GB   | 10GB   | 20 GB  | US$19.27
350GB | 200GB  | 75GB   | 25GB   | 50 GB  | US$48.82
700GB | 400GB  | 150GB  | 50GB   | 100 GB | US$98.07

Zone 1: Americas/EMEA
Zone 2: Asia/Pacific
Zone 3: Australia
Zone 4: China

Характеристики ВМ

В настоящее время я тестирую виртуальную машину со следующей конфигурацией:

Наконечник: Перейти к Сеть VPC > Брандмауэр и создайте правило под названием "allow-tor" и установите:

При создании ВМ / шаблона перейдите в Управление, безопасность, диски, сеть, единоличное владение, Выбрать Сети, и установите тег вы устанавливаете в настройках брандмауэра.

Контрольный показатель

Кроме того, я провел тест openssl (openssl speed aes в течение 3 секунд каждый cbc) в экземплярах g1-small и Custom 1 GB RAM 1 vCPU, и я получил следующие результаты:

g1-small:

type         16 bytes    64 bytes    256 bytes   1024 bytes  8192 bytes  16384 bytes
aes-128 cbc  102714.85k  114937.26k  118729.12k  119713.45k  120548.01k  120684.54k
aes-192 cbc  87781.72k   96917.15k   99274.67k   100145.83k  100463.96k  100515.84k
aes-256 cbc  76597.38k   83198.89k   84709.38k   85080.02k   85516.29k   85859.83k

Пользовательский:

aes-128 cbc  100811.34k  114144.42k  116054.50k  117985.42k  119586.42k
aes-192 cbc  85914.78k   95220.79k   98367.39k   98994.68k   99095.15k
aes-256 cbc  76171.38k   82969.05k   84497.50k   85145.08k   84728.69k

Производительность почти такая же, возможно потому, что общий виртуальный ЦП получает полную мощность в определенные моменты, когда это необходимо, но не всегда, по сравнению с выделенным 1 виртуальным ЦП.

Мои вопросы:

Заранее спасибо.

Запуск нескольких вытесняемых узлов для резервирования - плохой план. Если вытесняемые узлы работают в одном и том же регионе, вполне вероятно, что они будут остановлены одновременно из-за увеличения спроса в регионе.

Вытесняемые узлы в разных регионах с меньшей вероятностью будут отключены одновременно, но риск все еще существует и может зависеть от того, что делают другие клиенты GCE, что полностью вне вашего контроля.

Не используйте вытесняемые узлы, если вам важна доступность. Они подходят для пакетной обработки, где вытеснение не представляет большой проблемы, и вы можете просто выполнить обработку позже.

Безопасно ли запускать вытесняемые узлы, которые выключаются через 24 часа работы или меньше? (Назначение IP-адресов динамическое, и тот же IP-адрес для нового узла не гарантируется)

Сейф? Конечно. Но вы никогда не увидите к ним никакого трафика. Здесь есть отличная статья о том, как Tor проверяет новые реле и выходные узлы: Жизненный цикл нового реле

По сути, любое новое реле «тестируется» в течение 60+ дней, прежде чем обнаружит реальный трафик. Я могу поручиться, что это верно, поскольку я использую реле Tor около 2 лет. Вы вряд ли увидите какой-либо реальный трафик, если ваши узлы не будут сохранять одни и те же идентификаторы при каждом перезапуске, и если ваш узел не может оказаться надежным, он, вероятно, будет помещен ниже в пищевой цепочке.

Кроме того, если узел переходит в автономный режим на долгое время, вам, возможно, придется пересадить эти периоды ожидания. Мой ретранслятор был отключен в течение 3 месяцев, поскольку я переезжал в другую страну, и я еще не видел, чтобы трафик вернулся к тому, что было раньше.

Вы можете узнать, что Tor думает о вашем ретрансляторе, просмотрев его на их странице показателей. Например, вот мой.

Достаточно ли спецификаций виртуальной машины g1-small для запуска высокопроизводительного узла?

Идея Tor о высокой производительности отличается от всего Интернета в целом. Например, я запускаю свой на довольно старом Intel NUC с довольно старым процессором Intel Celeron и печальным объемом оперативной памяти, и он ограничивается примерно 70 Мбит / с - потому что это все, что OpenSSL может протолкнуть через процессор. 70 Мбит / с - это очень много для ретранслятора Tor (возможно, не для выходного узла). Я полагаю, что даже простая полусовременная небольшая виртуальная машина сможет превзойти ее.