В нынешней ситуации многие сервисы блокируют доступ из РФ, я покажу как можно обойти этот запрет с помощью ProxyChains и Tor на примере MongoDB.

Устанавливал на Linux Ubuntu 22.04


1. Для начала обновите систему Linux

sudo apt update && sudo apt upgrade

2. Установка Tor и Proxychains

sudo apt install proxychains tor -y

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


3. Настройка ProxyChains

Открываем конфиг

nano /etc/proxychains.conf

3.1 Динамическая цепочка должна быть раскомменчена

Все, что вам нужно сделать, это убрать символ # перед dynamic_chain.

dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app

3.2 Поместите комментарий перед random_chain и strict_chain. Просто добавьте # перед ними.

#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see  chain_len) from the list.
# this option is good to test your IDS :)
...
#strict_chain

3.3 Таким образом вы избежите утечки DNS, которая может раскрыть ваш истинный IP-адрес.

# Proxy DNS requests - no leak for DNS data
proxy_dns

3.4 Добавьте socks5 127.0.0.1 9050 в список прокси последней строкой.

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4  127.0.0.1 9050 
socks5  127.0.0.1 9050 

Здесь уже будет указан socks4 proxy. Вам нужно добавить socks5 proxy, как показано выше. И, наконец, сохраните файл конфигурации и выйдите из терминала.


4 Использование ProxyChains

На всякий случай основные команды TOR

Чтобы проверить состояние Tor:

service tor status

Чтобы запустить службу tor :

service tor start

Чтобы остановить службу tor :

service tor stop

4.1 Запуск. Для начала запускаем службу TOR

service tor start

Чтобы использовать ProxyChains, просто введите команду ProxyChains в терминале, а затем имя приложения, которое вы хотите использовать.

Формат следующий:

Например чтобы использовать Nmap, sqlmap, firefox:

proxychains nmap -targetaddress
proxychains python sqlmap -u target
proxychains firefox www.flippa.com

Для теста смотрим свой текущий внешний IP сервера

wget -qO- eth0.me

далее смотрим через проксик

proxychains wget -qO- eth0.me

Если меняется то всё сделано правильно


5. Наконец-то установка MongoDB

Для начала импортируйте публичный ключ GPG для последней стабильной версии MongoDB. Вы можете найти соответствующий файл ключа на сервере ключей MongoDB. Вам нужно найти файл, который включает номер последней стабильной версии и заканчивается на .asc. Например, если вы хотите установить MongoDB версии 5.0, необходимо искать файл с именем server-5.0.asc.

curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

cURL — это инструмент командной строки, который доступен во многих операционных системах и используется для передачи данных. Он читает все данные, хранящиеся в переданном URL, и выводит содержание в вывод системы. В следующем примере cURL выводит содержание файла ключа GPG, а затем вводит его в команду sudo apt-key add -, добавляя ключ GPG в ваш список доверенных ключей.

Также обратите внимание, что команда curl использует опции -fsSL, которые вместе указывают cURL не выполнять скрипт без каких-либо обязательств. Это означает, что, если по какой-либо причине cURL не может связаться с сервером GPG, либо сервер GPG не работает, он не добавит полученный код ошибки к вашему списку доверенных ключей случайно.

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

apt-key list

Запустите следующую команду, которая создает файл в каталоге sources.list.d под именем mongodb-org-5.0.list. В этом файле содержится только одна строка: deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
Эта единственная строка указывает APT все, что необходимо знать об источнике, и где его найти:
  • deb: означает, что источник ссылается на обычную архитектуру Debian. В других случаях эта часть строки может выглядеть как deb-src. Это означает, что источник представляет исходный код дистрибутива Debian.

  • [ arch=amd64,arm64 ]: указывает, в какие архитектуры загружать данные APT. В данном случае это архитектуры amd64 и arm64.

  • https://repo.mongodb.org/apt/ubuntu: это URI, представляющий местоположение данных APT. В данном случае URI указывает на адрес HTTPS, где находится официальный репозиторий MongoDB.

  • focal/mongodb-org/5.0: репозитории Ubuntu могут содержать несколько разных выпусков. Это означает, что вам нужна только версия 5.0 пакета mongodb-org, доступная для выпуска Ubuntu focal («Focal Fossa» — это кодовое название Ubuntu 20.04).

  • multiverse: эта часть указывает APT на один из четырех основных репозиториев Ubuntu. В данном случае — на репозиторий multiverse.

После запуска этой команды обновите локальный индекс пакетов вашего сервера, чтобы APT знал, где найти пакет mongodb-org: Т.к. сайт и репозитории для РФ более недоступны, используем проксик

sudo proxychains apt update

После этого вы можете установить MongoDB:

sudo proxychains apt install mongodb-org

Выполните следующую команду systemctl, чтобы запустить службу MongoDB:

sudo systemctl start mongod.service

Затем проверьте статус службы.

sudo systemctl status mongod

После подтверждения того, что служба работает нормально, установите активацию службы MongoDB при загрузке:

sudo systemctl enable mongod

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

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

connectionStatus проверяет и возвращает статус подключения базы данных. Значение 1 поля ok в ответе означает, что сервер работает нормально

Теперь можно выключить Tor и работать дальше

service tor stop

На этом всё. Цель была показать только способ установки.

Мануал по установке MongoDB взят из DigitalOcean + мои правки и другие статьи по proxychains, оригиналы найти не удалось, т.к. давно это было. Если кто-то подскажет ещё какой-то способ, то дополню статью.

Спасибо за внимание!

Комментарии (13)


  1. randomsimplenumber
    20.07.2022 23:39

    Можно просто скачать deb пакеты через tor browser.


    1. funca
      21.07.2022 00:09

      https://hub.docker.com/_/mongo/ если доступен.


    1. EVolans
      21.07.2022 05:43
      -2

      Можно и в другой регион переехать, просто как и с браузером это дольше и не удобней.
      Я вот буквально неделю назад для этой цели купил vpn сервис, потому как он дешевле vps, но с роутерами ни с кинетиком ни с микротиком l2tp клиент не пашет (ответ саппорта). Странный румынский хостинг.
      А вот это решение мне более чем достаточное и простое.

      Хотелось бы услышать православные решения от минусующих статью, а то у статьи минусов больше чем плюсов.


      1. randomsimplenumber
        21.07.2022 08:46

        С браузером - скачать 3 пакета. Это быстрее и проще, чем даже читать всю статью;) Для поиграться - нормально, для production - тоже не годится.


  1. Alexannndrr
    21.07.2022 08:55
    +1

    Общий вопрос - стоит ли сейчас использовать решения, которые потенциально блокируются авторами для РФ? Выглядит рискованно.


    1. me21
      21.07.2022 15:22
      +3

      А почему нет, там же есть комьюнити версия. Свободное ПО, исходники открыты, все дела. Клонируйте репозиторий, соберите пакеты, выложите на сервере в РФ. Вам сообщество спасибо скажет.

      Коммерческую версию, конечно, не надо.


  1. alan85
    21.07.2022 16:01
    +1

    Tor тоже блокируется. А так mongo на mirror.yandex.ru есть.


  1. Basyuk93
    21.07.2022 18:16
    -1

    На текущий момент мне кажется самый оптимальный вариант - это поднять Mongo в docker. Ну и естественно не забыть пробросить volume для хранения данных.


  1. Stepashka20
    21.07.2022 18:33
    +1

    Самым простым решением является установка прокси в /etc/apt/apt.conf . IPv6 стоят пару рублей на 3 дня.Самое то, чтобы скачать монго и остальной заблокированный софт


    1. Ulibka
      22.07.2022 08:45

      Я frontend, в lunix разбираюсь на базовом уровне.
      У меня проблема с установкой другого пакета - в статье предложено решение (если я правильно понимаю рабочее)

      Мои попытки использовать proxy на ubuntu20 не увенчались успехом :)


      Можете дать ссылку на платный ipv4 proxy и статью как его правильно подключить для установки пакета ?


      1. Stepashka20
        22.07.2022 12:48
        +1

        Добавляете в /etc/apt/apt.conf строчки:
        Acquire::http::Proxy "http://username:password@ip:port";
        Acquire::https::Proxy "https://username:password@ip:port";


        Прокси брал IPv6, так как они дешевле v4, тут: https://proxy6.net (не реклама).


  1. Ascard
    21.07.2022 21:11
    +1

    А в чём преимущество proxychains перед для tor-а родным torsocks? Результат тот же, телодвижений меньше, потому что там работает из коробки, без правки конфигов.


  1. JordanCpp
    21.07.2022 23:56

    От комментариев больше пользы, чем от статьи.:)