Proxy Squid на Google Cloud

Вопрос или проблема

В Турции много сайтов заблокировано (включая Википедию). Конечно, есть много методов обхода, таких как покупка VPN-аккаунта, использование браузера Opera с VPN и т. д.

Я решил использовать бесплатный и быстрый метод. Используя бесплатный тариф Google Cloud, я создал виртуальную машину с сервером Ubuntu 18.04 LTS на сервере в США. Я установил на ней Squid и сделал следующие настройки в squid.conf, чтобы разрешить доступ моей домашней сети:

acl allowed_network1 src my_static_ip
http_access allow allowed_network1

После перезапуска службы squid на сервере я ввел настройки прокси на своем компьютере (Ubuntu Desktop 18.04 LTS) в Firefox, и смог подключиться через прокси. Я подтвердил это с помощью нескольких сайтов whatismyip. Я также могу подключаться к серверам Netflix в США.

Проблема в том, что я не могу подключиться к заблокированным сайтам моего интернет-провайдера через прокси. Для некоторых из них я получаю сообщение об ограничении от провайдера (они отказываются от DNS-запросов), а для некоторых я просто не могу подключиться. Думаю, я чего-то не понимаю или совершенно неправильно интерпретировал идею.

Любая помощь будет оценена во имя свободного интернета.

Похоже, ваш интернет-провайдер также перехватывает проксированные соединения. Вам нужно зашифровать соединение между вашим компьютером и прокси-сервером. Но зачем изобретать велосипед? Я предложу вам лучшее решение.

Вы можете совсем убрать squid и использовать функцию динамической пересылки OpenSSH (предполагаю, что sshd уже установлен на вашем сервере gcloud, что должно быть). Это работает путем запуска локального SOCKS прокси-сервера и пересылки любого трафика на ваш SSH-сервер, который, в свою очередь, пересылает трафик на целевой сервер. Поскольку соединения SSH по умолчанию зашифрованы, вам не нужно беспокоиться о подслушивании/перехвате.

Как это будет работать:

$ ssh -D 1080 user@gcloud-vm

это запустит SOCKS прокси-сервер на вашем локальном компьютере.

Затем вы можете настроить любые программы, которые хотите использовать с этим прокси-сервером. Просто укажите тип прокси как SOCKS5, IP-адрес прокси-сервера как 127.0.0.1 и порт прокси-сервера как 1080. (Убедитесь, что вы проксируете и DNS-запросы).

Если ваша программа не поддерживает прокси, то попробуйте инструмент, такой как ProxyChains или, если это не сработает, tsocks. У меня был большой успех с обоими из этих инструментов.

Ответ или решение

Обход ограничений провайдера интернет-услуг с помощью прокси-сервера Squid на Google Cloud

Ваша задача по обходу ограничений интернет-провайдеров в Турции имеет несколько решений, и вы выбрали один из самых популярных вариантов – использование прокси-сервера Squid на виртуальной машине Google Cloud. Вы уже успешно настроили базовую конфигурацию, но столкнулись с проблемами доступа к некоторым ресурсам, которые заблокированы вашим провайдером.

Проблема с доступом к заблокированным ресурсам

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

Рекомендация по использованию OpenSSH в качестве альтернативы

Вместо использования Squid можно рассмотреть возможность использования OpenSSH с динамическим перенаправлением портов. Эта методика более безопасна, так как SSH обеспечивает шифрование трафика по умолчанию, что помогает избежать блокировок и перехватов.

Как это работает

  1. Убедитесь, что SSH-сервер (обычно sshd) установлен и запущен на вашем сервере Google Cloud.
  2. Используйте следующую команду для создания локального SOCKS-прокси:
    $ ssh -D 1080 user@gcloud-vm

    Здесь user – это ваш пользователь на виртуальной машине Google Cloud, а gcloud-vm – адрес вашего сервера.

  3. После выполнения этой команды на вашем локальном компьютере будет запущен SOCKS-прокси на порту 1080.
  4. Теперь вы можете настроить ваше приложение (например, Firefox или любое другое) для использования этого прокси. Укажите тип прокси как SOCKS5, IP-адрес прокси как 127.0.0.1, а порт прокси как 1080. Обязательно включите проксирование DNS-запросов.

Настройка проксирования DNS

При использовании SOCKS-прокси также важно правильно настроить DNS-запросы, чтобы они также проходили через прокси-сервер. В Firefox это можно сделать следующим образом:

  1. Перейдите в Настройки -> Сеть -> Настройки соединения.
  2. Выберите Ручная настройка прокси.
  3. Убедитесь, что DNS-запросы проходит через SOCKS-прокси.

Альтернативные инструменты

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

  • ProxyChains: Этот инструмент позволяет перенаправлять трафик через SOCKS-прокси. Установите и настройте ProxyChains, чтобы он использовал ваш SOCKS5-прокси.
  • tsocks: Этот инструмент также позволяет приложениям, не поддерживающим прокси, использовать SOCKS-прокси, путем обертывания вызовов сокетов.

Заключение

Использование OpenSSH в качестве SOCKS-прокси может значительно увеличить ваши шансы на успешный обход ограничений вашего провайдера, обеспечивая при этом шифрование трафика. Это более простой и эффективный способ, чем использование Squid, особенно если ваш провайдер активно блокирует прокси-соединения.

Удачных вам усилий в обеспечении свободного доступа к информации! Если у вас возникнут дальнейшие вопросы или проблемы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...