Как скрыть трафик OpenVPN с помощью Obfsproxy на ПК с Windows и Linux EC2 server

маскировка очки
В этом руководстве мы расскажем, как настроить Obfsproxy с домашним сервером OpenVPN и ПК с Windows. Это не позволяет цензорам и брандмауэрам использовать глубокую проверку пакетов, чтобы определить, шифруете ли вы трафик, которым вы пользуетесь, используя OpenVPN..

В этом руководстве предполагается, что у вас есть работающий сервер OpenVPN и клиент Windows, уже настроенный на экземпляре Amazon Web Services EC2. Посмотрите наше предыдущее руководство по OpenVPN-серверу о том, как это сделать..

Obfsproxy должен предотвратить блокировку вашего VPN цензорами в таких странах, как Китай. Мы подтвердили это также обходит запрет VPN на Netflix.

Прежде чем мы начнем

Obfsproxy, сокращение от «obfuscation proxy», было принято сообществом Tor. По их словам:

«Obfsproxy – это инструмент, который пытается обойти цензуру путем преобразования трафика Tor между клиентом и мостом. Таким образом, цензоры, которые обычно отслеживают трафик между клиентом и мостом, будут видеть невинно выглядящий преобразованный трафик вместо фактического трафика Tor ».

Obfsproxy, однако, фактически не зависит от Tor, поэтому его также можно использовать для обфускации трафика OpenVPN..

Чтобы Obfsproxy работал с OpenVPN, нам нужно настроить его как на стороне клиента, так и на стороне сервера. Некоторые провайдеры VPN, включая NordVPN и AirVPN, предлагают предварительно сконфигурированные серверы, поэтому вам нужно только настроить клиентскую сторону. Этот урок объяснит оба.

Вот список того, что вам нужно:

  • Функциональный сервер OpenVPN на экземпляре Amazon Linux EC2, аналогичный тому, что был в нашем предыдущем уроке
  • OpenVPN Connect GUI (клиентское приложение)
  • PuTTy
  • Python 2.7
  • Компилятор Microsoft C ++ для Python 2.7
  • OpenSSL Light для Windows
  • ProxySwitchy Sharp или эквивалентное программное обеспечение прокси

Конфигурация Obfsproxy на стороне клиента в Windows

Мы начнем с настройки на стороне клиента, поскольку некоторым людям не нужно выполнять настройку на стороне сервера, если их поставщик VPN уже предлагает предварительно настроенные серверы..

Предварительная настройка

К счастью, NordVPN уже предоставил вам возможность объединить большинство необходимых зависимостей в один файл .zip. Загрузите это здесь.

Начните с установки Python 2.7 в каталог по умолчанию с настройками по умолчанию. Obfsproxy – это программа на Python, поэтому вам понадобится ее установить. Если у вас есть более поздняя версия Python, например, 3.3 или 3.4, мы рекомендуем установить 2.7 в любом случае. Вы можете найти установочный файл в папке Step 3 zip-файла NordVPN (мы пропускаем папки шагов 1 и 2).

obfsproxy intsall python

Далее нам нужно установить компилятор Microsoft C ++ для Python 2.7 из папки шага 4. Для более поздних версий Python такого компилятора не существует. Возможно, вам удастся найти обходной путь, используя MS Visual Studio или пакет Numby, но мы обнаружили, что установка Python 2.7 намного проще, чем просто..

obfsproxy ms визуальная установка

После того, как вы установили компилятор C ++, используя настройки и каталог по умолчанию, перейдите к папке шага 5. Снова установите OpenSSL Light, используя все настройки по умолчанию. Вам может быть предложено пожертвование после установки. Нажмите Finish, затем закройте всплывающее окно, если вы не хотите делать пожертвования.

Добавьте эту страницу в закладки, перезагрузите компьютер и снова откройте эту страницу.

Настройка Obfsproxy и OpenVPN

Теперь у вас есть все необходимое для запуска Obfsproxy, но нам все еще нужно настроить его, чтобы он мог использоваться с OpenVPN. Начнем с изменения существующих файлов .ovpn в каталоге OpenVPN. Если вы еще не настроили OpenVPN, обратитесь к нашему предыдущему руководству. Если вы установили OpenVPN в каталог по умолчанию, вы найдете файлы конфигурации в C: / Program Files / OpenVPN / config.

Найдите Блокнот или другой текстовый редактор, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора». Откройте файл конфигурации, который вы используете для обычного подключения к серверу OpenVPN. Нажмите Файл > Сохраните как и назовите его как-нибудь еще, чтобы у нас была копия для работы, не беспокоясь о том, чтобы испортить оригинал.

Мы изменим файл конфигурации так, чтобы он выглядел следующим образом:

прото tcp-клиент
пульт 8080
порт 1194
Dev Tun1
секретный ovpn.key
redirect-gateway def1
ifconfig 10.4.0.2 10.4.0.1
носки прокси-повторы
socks-proxy 127.0.0.1 10194

Обратите внимание на добавление двух строк внизу и номера порта в конце удаленной линии. Замените на IP-адрес вашего экземпляра Amazon EC2. Если вы не настроили эластичный IP-адрес на Amazon, этот адрес будет меняться каждый раз, когда вы останавливаете и запускаете свой экземпляр, поэтому не забывайте менять его при необходимости. На удаленной линии номер порта может быть любым за пределами зарезервированного диапазона портов. Мы используем 8080, потому что он довольно совместим практически со всеми веб-серверами, но 21194 предлагается в вики OpenVPN. Просто помните, что все, что вы здесь разместите, должно соответствовать тому, что мы настроим на стороне сервера позже.

Если вы подключаетесь к предварительно настроенному серверу, принадлежащему вашему провайдеру VPN, вам должны быть предоставлены файлы конфигурации (папка шага 2 для пользователей NordVPN).

Сохраните новый файл конфигурации, убедившись, что старый файл не перезаписан. Также убедитесь, что ваш текстовый редактор не добавляет автоматически имя файла с расширением .txt. Это должен быть файл .ovpn.

Теперь, когда OpenVPN настроен, нам нужно установить и запустить Obfsproxy. Именно здесь начинается ваша новая установка Python. В строке поиска Windows введите «Командная строка». Щелкните правой кнопкой мыши приложение «Командная строка» и нажмите «Запуск от имени администратора». В терминале введите следующие команды по одной строке за раз, нажимая Enter после каждого.

cd C: \ Python27 \ Scripts

pip install – обновить pip

pip install obfsproxy

obfsproxy –log-min-severity = информация obfs2 –shared-secret = socks 127.0.0.1:10194

После второй команды вы можете увидеть некоторые ошибки или предупреждения. Игнорировать их сейчас.

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

obfsproxy windows cmd

После последней строки ваша командная строка должна сообщить вам, что она прослушивает трафик obfsproxy, как на скриншоте. Обратите внимание на скриншот, я забыл ввести свой пароль с первой попытки.

Вам нужно будет перейти в каталог Scripts (первая команда), ввести команду Obfsproxy (последняя команда) и оставить командную строку открытой, когда вы захотите использовать Obfsproxy..

Настройка прокси (необязательно)

Изменить: Этот шаг не обязателен для работы Obfsproxy, но он необходим, если вы хотите использовать свое подключение Obfsproxy + VPN для просмотра Netflix и других сайтов потокового видео из-за пределов США (или из любой страны, в которой находится ваш VPN-сервер). В противном случае Netflix будет установлен в неправильный регион.

Последнее, что нам нужно сделать на стороне клиента, это установить прокси-соединение. Это отличается для каждого приложения. Вы можете настроить его в настройках Windows в Интернете, но я предпочитаю делать это для каждого приложения отдельно. В нативных приложениях, которые используют Интернет, вы обычно можете настроить прокси где-то в настройках. Поля следующие:

  • Хост SOCKS: 127.0.0.1
  • Порт: 8080 (или все, что вы указали в файле конфигурации OpenVPN на удаленной линии)
  • SOCKS версия 5 (SOCKS5)

В браузере проще всего это настроить с помощью прокси-расширения. Мы покажем вам, как использовать Proxy Switchy Sharp в Chrome.

хромовый прокси-переключатель

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

Конфигурация сервера Obfsproxy в экземпляре Linux EC2

Ваш компьютер готов к подключению, поэтому теперь нам нужно подготовить сервер.

AWS Security Group

Перед установкой и запуском obfsproxy на сервере вам может потребоваться добавить новое правило в группу безопасности вашего сервера, чтобы убедиться, что брандмауэр экземпляра EC2 не блокирует трафик. Для этого войдите в свою учетную запись AWS, затем нажмите EC2. В разделе Сеть и безопасность перейдите в Группы безопасности.

obfsproxy aws rules

Здесь вы можете создать новую группу безопасности и добавить ее на свой сервер или изменить существующую. Щелкните правой кнопкой мыши правило и выберите «Редактировать входящие правила». В разделе «Тип» выберите весь трафик TCP (примечание: игнорируйте настраиваемое пользовательское правило на снимке экрана, как мы обновили это руководство), затем установите для источника значение «Мой IP» или IP-адрес любого устройства, к которому вы планируете подключиться. с. Затем щелкните правой кнопкой мыши и перейдите к «Изменить исходящие правила». В разделе «Тип» просто выберите раскрывающийся список «Весь трафик».

Если вы создали новую группу безопасности, щелкните «Экземпляры» на левой боковой панели, щелкните правой кнопкой мыши свой экземпляр VPN, прокрутите вниз до «Сеть» и нажмите «Изменить группы безопасности». Проверьте вашу новую группу безопасности и нажмите Сохранить.

Настройка Obfsproxy сервера

Используйте PuTTy для подключения к вашему серверу через SSH. Если вы не помните, как это сделать, или не сохранили профиль, обратитесь к нашему предыдущему руководству. Помните, что в дистрибутиве сервера Amazon Linux AMI имя пользователя – «ec2-user». Запустите OpenVPN с помощью этой команды:

sudo service openvpn start

Убедитесь, что ваш файл конфигурации OpenVPN на сервере (etc / openvpn / openvpn.conf) имеет открытый порт 1194, как и в предыдущем уроке..

Python уже должен быть установлен, если вы используете дистрибутив сервера Linux 14.04. В терминале PuTTy введите следующие команды по одной строке и нажимайте ввод после каждого:

sudo yum установить gcc

sudo pip установить obfsproxy

obfsproxy –log-min-severity = информация obfs2 –dest = 127.0.0.1: 1194 –shared-secret = сервер 0.0.0.0:8080

Для первой команды старые версии Linux могут использовать «apt-get» вместо «yum».

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

команда 2 obfsproxy linux

На этом терминале должно появиться сообщение, аналогичное сообщению в командной строке, указывающее, что сервер прослушивает порт 8080 для трафика obfsproxy.

Подключение через Obfsproxy

Вы настроены для подключения. Запустите Obfsproxy на локальном компьютере (командная строка) и на сервере (PuTTy), запустите графический интерфейс OpenVPN. Щелкните правой кнопкой мыши и подключитесь, используя ваш новый конфиг. Значок OpenVPN должен стать зеленым, и должно появиться уведомление с вашим назначенным IP-адресом..

obfsproxy openvpn connect

Если вы хотите смотреть Netflix или какой-либо другой геоблокированный контент, включите настройки прокси в своих приложениях. Для Proxy Switchy в Chrome щелкните значок в верхнем правом углу и выберите профиль, который вы создали в дополнительном разделе выше. Вы также можете добавить прокси в настройках Windows в Интернете..

obfsproxy Chrome Proxy

Поздравляем! Ваш трафик OpenVPN теперь неотличим от обычного HTTP-трафика благодаря Obfsproxy.

Автоматизация процесса

Как вы могли бы заключить, запуск obfsproxy на стороне клиента каждый раз, когда вы хотите его использовать, может быть немного утомительным. Чтобы автоматизировать процесс, один пользователь создал установщик Windows, который запускает Obfsproxy в качестве службы, запускаемой при загрузке. Вы можете скачать его и найти инструкции здесь.

«Disguise-glasses.jpg» от r. Найл Брэдшоу, лицензированный по CC BY 2.0

About the author

Comments

  1. Russian:

    Это руководство очень полезно для тех, кто хочет настроить Obfsproxy с домашним сервером OpenVPN и ПК с Windows. Это позволяет обойти цензуру и брандмауэры, которые используют глубокую проверку пакетов, чтобы определить, шифруете ли вы трафик, которым вы пользуетесь, используя OpenVPN. Обфускация трафика OpenVPN с помощью Obfsproxy может предотвратить блокировку вашего VPN цензорами в таких странах, как Китай. Это руководство предполагает, что у вас есть работающий сервер OpenVPN и клиент Windows, уже настроенный на экземпляре Amazon Web Services EC2. Я рекомендую всем, кто хочет обойти цензуру, использовать этот метод. Спасибо за подробное руководство!

  2. This article is written in Russian and discusses how to set up Obfsproxy with a home OpenVPN server and a Windows PC. The purpose of this setup is to prevent censorship and firewalls from detecting whether or not traffic is being encrypted using OpenVPN. The article assumes that the reader already has a working OpenVPN server and Windows client set up on an Amazon Web Services EC2 instance. Obfsproxy is used to prevent VPN censorship in countries like China and has been confirmed to bypass VPN blocks on Netflix. The article provides step-by-step instructions for configuring Obfsproxy on both the client and server sides, as well as automating the process. The article also includes a list of necessary software and dependencies.

Comments are closed.