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

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

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

  • Конфигурация виртуальной машины g1-micro - это самая дешевая альтернатива, но она может не работать с такой высокой производительностью, которую я хочу предложить.
  • Пользовательская виртуальная машина с 1 виртуальным ЦП и 1 ГБ ОЗУ, с обязательным использованием в течение 3 лет, кажется наиболее удобной и доступной.
  • Вытесняемый класс ВМ бесполезен.
  • Несколько экземпляров за балансировщиком нагрузки - плохая идея.

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

Поскольку вытесняемые виртуальные машины намного дешевле, я хотел использовать группы экземпляров с вытесняемыми виртуальными машинами. Затем, чтобы иметь узлы высокой доступности, я планирую использовать балансировщик нагрузки 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

Характеристики виртуальной машины

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

  • 1 виртуальный ЦП Inten Xeon @ 2,30 ГГц (Haswell)
  • 1 ГБ ОЗУ
  • Образ ОС: cos-stable-71-11151-71-0
    • Ядро: ChromiumOS-4.14.74
    • Kubernetes: 1.11.5
    • Docker: 18.06.1
    • Семейство: cos-stable
  • Образ Docker: Quantumobject / docker-tor-exit-relay
  • Сценарий запуска: run -d -p 2222: 22 -p 80:80 -p 9050: 9050 -p 9001: 9001 Quantumobject / docker-tor-exit-relay
  • Класс виртуальной машины: обычный
  • Регион: us-central1

Совет: Перейдите в сеть VPC > Межсетевой экран , создайте правило под названием «allow-tor» и установите:

  • Priority: 500 (все, что ниже значения по умолчанию 1000)
  • Цели: Указанные целевые теги
  • Целевые теги: Allow-tor
  • Протоколы и порты: Указанные протоколы и порты: «tcp: 22,80,443,9001,9050»

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

Бенчмарк

Кроме того, я провел тест openssl ( openssl speed aes в течение 3 секунд каждый cbc) как в экземпляре виртуального процессора g1-small, так и в пользовательском 1 ГБ 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

Custom:

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 виртуальным ЦП.

Мои вопросы:

  • Какая пропускная способность рекомендуется для каждого экземпляра?

  • Безопасно ли запускать один или несколько узлов ретрансляции / выхода Tor за одной нагрузкой балансировщик в GCP? Неа.

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

  • Достаточно ли спецификаций виртуальной машины g1-micro или g1-small для запуска узла с приличной производительностью? Пользовательская виртуальная машина с ОЗУ объемом 1 ГБ дешевле и мощнее.

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

4
задан 7 February 2019 в 17:36
2 ответа

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

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

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

.
4
ответ дан 3 December 2019 в 03:04

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

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

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

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

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

Достаточно ли g1-малых VM-спецификлов, чтобы запустить высокопроизводительный узел?

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

.
2
ответ дан 3 December 2019 в 03:04

Теги

Похожие вопросы