У меня есть платная подписка на Google Cloud Platform, и я хочу запустить ретранслятор Tor и узлы выхода. Я использую образ Docker Quantumobject / docker-tor-exit-relay , просто подключи и работай.
Вкратце, согласно полученным ответам:
Мое первоначальное обоснование
Поскольку вытесняемые виртуальные машины намного дешевле, я хотел использовать группы экземпляров с вытесняемыми виртуальными машинами. Затем, чтобы иметь узлы высокой доступности, я планирую использовать балансировщик нагрузки 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
Характеристики виртуальной машины
В настоящее время я тестирую виртуальную машину со следующей конфигурацией:
run -d -p 2222: 22 -p 80:80 -p 9050: 9050 -p 9001: 9001 Quantumobject / docker-tor-exit-relay
Совет: Перейдите в сеть VPC > Межсетевой экран , создайте правило под названием «allow-tor» и установите:
При создании виртуальной машины / шаблона перейдите в Управление, безопасность, диски, сеть, единоличное владение , выберите Сеть и установите тег , который вы установили в Настройки брандмауэра.
Бенчмарк
Кроме того, я провел тест 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 ГБ дешевле и мощнее.
Заранее спасибо.
Запуск нескольких вытесняемых узлов для резервирования - плохой план. Если вытесняемые узлы работают в одном и том же регионе, то вполне вероятно, что они будут закрыты одновременно из-за растущего спроса в этом регионе.
Вытесняемые узлы в разных регионах менее склонны к одновременному закрытию, но риск все еще существует и может зависеть от того, что делают другие клиенты GCE, что полностью находится вне вашего контроля.
Не используйте вытесняемые узлы, если вас беспокоит их доступность. Они подходят для пакетной обработки, где вытеснение не представляет большой проблемы, и вы можете просто выполнять обработку позже.
.Безопасно ли запускать вытесняющие узлы, которые отключаются на 24 часа работы или меньше? (Присвоение IP-адресов динамическое и один и тот же IP для нового узла не гарантируется)
Безопасно? Конечно. Но вы никогда не увидите к ним трафика. Здесь есть отличная запись по пути, по которому Tor проверяет новые реле и выходные узлы: Жизненный цикл нового реле...
По сути, любое новое реле "тестируется" в течение более 60 дней, прежде чем оно увидит реальный трафик. Я могу поручиться, что это точно, так как я работаю с реле Tor около 2 лет. Вы вряд ли увидите реальный трафик, если ваши узлы не будут хранить одни и те же идентификаторы каждый раз, когда они перезагружаются, и если ваш узел не сможет доказать свою надежность, он, скорее всего, будет помещен ниже в пищевую цепь.
Кроме того, если узел выйдет из строя на долгое время, вам, возможно, придется пересидеть эти периоды ожидания. Мое реле было в автономном режиме в течение 3 месяцев по мере того, как я переезжал в страны, и мне еще предстоит увидеть, как трафик возвращается к тому, каким он был раньше.
Вы можете увидеть, во что верит Тор в вашем реле, посмотрев на его страницу с метриками. Например, вот моя .
Достаточно ли g1-малых VM-спецификлов, чтобы запустить высокопроизводительный узел?
Идея Tor о высокой производительности отличается от идеи общего интернета в целом. Например, я запускаю свою на довольно старом Intel NUC с довольно старым процессором Intel Celeron и печальным количеством оперативной памяти, и она перекрывается примерно на 70 Мбит/с - потому что это все, что OpenSSL может протолкнуть через процессор. 70 Мбит/с очень большой для реле Tor (возможно, не выходной узел). Я бы представил, что даже базовая полу-современная маленькая ВМ сможет обогнать ее.
.