Як приховати трафік OpenVPN за допомогою Obfsproxy на ПК з Windows та Linux EC2

маскувальні окуляри
У цьому підручнику ми розповімо, як налаштувати Obfsproxy з домашнім сервером OpenVPN та ПК з Windows. Це не дозволяє цензорам і брандмауерам використовувати глибоку перевірку пакетів, щоб визначити, чи шифруєте ви трафік, який ви використовуєте OpenVPN.

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

Obfsproxy повинен запобігти блокуванню VPN цензорами у таких країнах, як Китай. Ми підтвердили, що це також обходить заборону VPN на Netflix.

Перш ніж ми почнемо

Обфоспроксі, короткий для проксі-серфінгу, був прийнятий спільнотою Тор. З їх слів:

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

Однак, Obfsproxy насправді не залежить від Tor, тому його також можна використовувати для придушення трафіку OpenVPN.

Щоб Obfsproxy працював з OpenVPN, нам потрібно буде налаштувати його як на стороні клієнта, так і на сервері. Деякі постачальники VPN, включаючи NordVPN та AirVPN, пропонують попередньо налаштовані сервери, тому вам потрібно лише налаштувати клієнтську сторону. Цей підручник пояснить обоє.

Ось список того, що вам потрібно:

  • Функціональний сервер OpenVPN на екземплярі Amazon Linux EC2, подібний до попереднього підручника
  • GUI OpenVPN Connect (додаток на стороні клієнта)
  • 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 все одно. Ви можете знайти інсталяційний файл у папці Крок 3 поштового файлу 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, використовуючи всі параметри за замовчуванням. Вам може бути запропоновано пожертвувати після встановлення. Натисніть кнопку Готово, а потім закрийте спливаюче вікно, якщо ви не хочете дарувати.

Закладку на цю сторінку, перезавантажте комп’ютер та відкрийте цю сторінку ще раз.

Налаштування Obfsproxy та OpenVPN

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

Знайдіть Блокнот або інший текстовий редактор, клацніть правою кнопкою миші та виберіть “Запустити як адміністратор”. Відкрийте конфігураційний файл, який ви зазвичай використовуєте для підключення до свого сервера OpenVPN. Клацніть Файл > Збережіть як і назвіть його чимось іншим, щоб ми мали копію, з якою можна працювати, не переживаючи про викручування оригіналу.

Ми змінимо конфігураційний файл таким чином:

proto tcp-клієнт
віддалений 8080
порт 1194
dev tun1
секретний ovpn.key
перенаправлення-шлюз def1
ifconfig 10.4.0.2 10.4.0.1
шкарпетки-проксі-повтори
шкарпетки-проксі 127.0.0.1 10194

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

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

Збережіть новий конфігураційний файл, не перезаписуючи старий. Також переконайтеся, що ваш текстовий редактор не додає автоматично ім’я файлу за допомогою .txt. Це повинен бути файл .ovpn.

Тепер, коли OpenVPN налаштований, нам потрібно встановити та запустити Obfsproxy. Тут відбувається ваша нова установка Python. На панелі пошуку Windows введіть «Командний рядок». Клацніть правою кнопкою миші програму «Командний рядок» та натисніть «Запустити як адміністратор». У терміналі наберіть наступні команди по черзі, натискаючи Enter після кожного.

cd C: \ Python27 \ Scripts

Pip install – оновлення Pip

pip встановити obfsproxy

obfsproxy –log-min-severity = інформація obfs2 –shared-secret = шкарпетки 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.

obfsproxy chrome proxy switchy

У налаштуваннях ProxySwitchy створіть новий профіль. Якщо вибрано налаштування вручну, введіть наведені вище налаштування, як зображено нижче. Назвіть це все, що завгодно. Ми не збираємось це вмикати, поки ми не встановимо зв’язок із сервером, тому тримайте міцно.

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

Ваш ПК готовий до підключення, тому тепер нам потрібно підготувати сервер.

Група безпеки AWS

Перш ніж встановити і запустити obfsproxy на сервері, можливо, вам доведеться додати нове правило до групи безпеки вашого сервера, щоб переконатися, що брандмауер примірника EC2 не блокує трафік. Для цього увійдіть у свій обліковий запис AWS та натисніть кнопку EC2. У розділі Мережа та безпека перейдіть у Групи безпеки.

obfsproxy Aws правила

Тут ви можете створити нову групу безпеки та додати її до свого сервера або змінити існуючу. Клацніть правою кнопкою миші правило та виберіть “Редагувати вхідні правила”. У розділі Тип виберіть увесь трафік TCP (зауважте: ігноруйте користувальницьке спеціальне правило на скріншоті, як ми оновлювали цей підручник), а потім встановіть джерело на “Мій IP” або IP будь-якого пристрою, на якому ви плануєте підключитись. з. Потім клацніть правою кнопкою миші та перейдіть до “редагування вихідних правил”. Під типом просто виберіть спальний варіант для “всього трафіку”.

Якщо ви створили нову групу безпеки, натисніть “Екземпляри” на лівій бічній панелі, клацніть правою кнопкою миші екземпляр VPN, прокрутіть вниз до Мережі та натисніть Змінити групи безпеки. Перевірте свою нову групу безпеки та натисніть Зберегти.

Налаштування сервера Obfsproxy

Використовуйте PuTTy для підключення до вашого сервера через SSH. Якщо ви не пам’ятаєте, як це зробити, або ви не зберегли профіль, перегляньте попередній підручник. Пам’ятайте, що в розповсюдженні AMI-сервера Amazon Linux ім’я користувача “ec2-користувач”. Запустіть OpenVPN за допомогою цієї команди:

послуга sudo openvpn start

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

Python вже має бути встановлений, якщо ви використовуєте серверну дистрибуцію Linux 14.04. У терміналі PuTTy введіть наступні команди по одному рядку та натисніть клавішу Enter після кожного:

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”.

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

команда obfsproxy linux 2

Ви повинні побачити подібне повідомлення на цьому терміналі, як у вашому командному рядку, що вказує, що сервер прослуховує порт 8080 для трафіку obfsproxy.

Підключення через Obfsproxy

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

obfsproxy openvpn підключити

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

obfsproxy chrome proxy

Вітаємо! Ваш трафік OpenVPN тепер не відрізняється від звичайного HTTP-трафіку завдяки Obfsproxy.

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

Як ви могли зробити висновок, запуск obfsproxy на стороні клієнта кожного разу, коли ви хочете його використовувати, може стати трохи стомлюючим. Для автоматизації процесу один користувач створив інсталятор Windows, який запускає Obfsproxy як послугу, яка запускається при завантаженні. Ви можете завантажити його та знайти інструкції тут.

“Замаскувати-очки.jpg” від r. ніал-бредшоу ліцензований за CC BY 2.0

Kim Martin
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me