Як використовувати OpenVPN через обмежувальний брандмауер?


13

На даний момент я намагаюся налаштувати OpenVPN на персональний VPS для підключення насамперед через надмірно обмежуючий брандмауер. Усі згадані нижче установки працюють при використанні через розумно захищене з'єднання.

Я намагався:

  1. OpenVPN працює на стандартному порту
  2. OpenVPN працює на порту 443 (я запускаю OpenVPN вручну з командного рядка на VPS і бачу, що сервер повідомляє, що з'єднання закрите майже негайно, я припускаю, що це результат DPI на брандмауері)
  3. STunnel працює на порту 443 для доступу до OpenVPN та ухилення від DPI. Це найуспішніше і дозволяє з'єднання та доступ до Інтернету через VPN протягом ~ 10-20 секунд, перш ніж примусово буде закрито.

Чи можу я щось спробувати?


1
Шановний пане, який у вас "персональний постачальник послуг VPS", який досягає таких зусиль, щоб не допустити запуску VPN ?! Крім того, не зрозуміло, чи намагаєтесь ви використовувати VPS як сервер OpenVPN, чи хочете зробити його клієнтом?
allquixotic

Вупи! Я повинен був бути більш чітким. Постачальником VPS є Linode, і вони точно нічого не блокують. ;) Проблема полягає в тому, що я підключаюсь до VPN від клієнта (мого ноутбука), доступ до Інтернету якого сильно закритий.
RL Stine

1
Взагалі рішення VPN буде досить легко виявлено будь-чим, що робить стаціонарну перевірку пакетів, як ви натякали. Сильне відключення може бути пов’язане з методами аналізу трафіку, які дивляться на https-з'єднання оглушення і збираються "зачекайте хвилину, стандартні HTTP-запити / відповіді - це майже не балакано!" - по суті ви застрягли. Ви можете спробувати проксі HTTPS; можливо щось, коли ви передаєте запит як HTTP-тіло (через SSL) сервлету, і він пересилає ваш запит ... o_O
allquixotic

3
Ви можете пам’ятати, що обхід обмежень, застосованих брандмауером компанії, ймовірно, є порушенням політики компанії. Я пропоную вам поговорити з адміністратором брандмауера щодо проблеми.
Ansgar Wiechers

Відповіді:


11

З'єднання, що відключаються через тривалий час, іноді вказують на обмеження типу байтів на секунду. Спробуйте дізнатися, чи працює уповільнення вашого VPN-з'єднання. Крім того, якщо у вас налаштований OpenVPN для UDP, спробуйте TCP (443 UDP може бути заблокований, тоді як 443 TCP може не виявити).

Відвідайте відомий сайт, який використовує SSL, і перевірте сертифікат. Потім робіть те ж саме вдома. Якщо вони не відповідають, то ваше місцезнаходження використовує прозорий проксі-сервер HTTPS SSL і може фактично бачити ваш трафік HTTPS.

Можливо те, що порт 443 не переглядається так уважно. Спробуйте 22.

Це може здатися дурним, але спробуйте це зробити через порт 80 і подивіться, що ви отримаєте. Ви також можете спробувати встановити тунель HTTP між вами та VPS, щоб трафік виглядав як HTTP-запити.

Якщо ви відчуваєте божевілля, спробуйте йод .


2
+1, але особливо для йоду!
0xC0000022L

5

Я думаю, я знаю, чому метод оглушення поводиться так. Це тому, що вам потрібно встановити "статичний маршрут" для сервера оглушення. Дозвольте мені пояснити це. Коли ви підключаєтесь до сервера openvpn, він змінює вашу таблицю маршрутизації та спрямовує всі ваші пакети через vpn, за винятком пакетів openvpn. фактично openvpn додасть маршрут для ip-адреси вашого сервера. Але коли ви використовуєте stunnel для підключення до свого openvpn-сервера, ви підключите openvpn до інтерфейсу зворотного зв'язку, і немає маршруту до вашого сервера поза вашим vpn, тому пакети оглушення хочуть перейти на сервер, і вони збираються до вашого vpn та ваших пакетів vpn, що йдуть приголомшити :)

Тому вам потрібно додати маршрут до ip свого сервера, що виходить за межі вашого vpn (домашнього маршрутизатора).

А для проблеми з портовим методом 443 я хочу сказати, що, можливо, ваш брандмауер за допомогою SPI або DPI і може легко зробити різні openvpn пакети з https (ssl) пакетів. Тож найкращим способом є використання оглушення, або якщо брандмауер блокує пакети ssl, краще використовувати obfsproxy або fteproxy, щоб обійти його.

(я знаю, що це повідомлення стареньке, але я шукав відповіді на ту ж проблему тижнями, тому мені хотілося поділитися тим, про що я дізнаюся про це)


Це не дає відповіді на запитання. Щоб критикувати або вимагати роз'яснення у автора, залиште коментар під їх публікацією - ви завжди можете коментувати свої власні публікації, і як тільки у вас буде достатня репутація, ви зможете коментувати будь-яку публікацію .
Рамхаунд

3

Відповідь Реза Аскарі була саме відповіддю на третє запитання. Це відбувається як на моєму комп'ютері Linux, так і на Android.

На комп’ютері перед тим, як підключитися до OpenVPN через

sudo openvpn --config configFile.ovpn

Вам слід додати правило для видалення сервера оглушення з тунелю OpenVPN.

sudo /sbin/ip route add stunnel_ip via default_gateway_ip

Потім підключіться до вашого сервера OpenVPN. Після закінчення цього правила можна видалити:

sudo /sbin/ip route del stunnel_ip

Щоб зробити це простішим, щоб ви не забували, створіть сценарій оболонки, який додасть правило і запустіть OpenVPN, коли OpenVPN вийде, правило буде видалено:

sudo /sbin/ip route add stunnel_ip via default_gateway_ip

sudo openvpn --config configFile.ovpn

sudo /sbin/ip route del stunnel_ip

На Android використовуйте клієнт "OpenVPN для Android" від "Arne Schwabe" та "SSLDroid" від "Balint Kovacs".

Потім у клієнті OpenVPN виключіть "SSLDroid" із профілю VPN, який проходить через оглушення.

Я б хотів отримати відповідь або коментар Рези там, але це правило оцінки репутації мені завадило.


1

Я ніколи не пробував цього (тож леме знаю, чи працює!), Але дай знімок @ за допомогою ssh-тунелінгу понад 443 та запустіть свій OpenVPN через тунель. Можливо, вам знадобиться додатковий віддалений хост, щоб прослухати номер 443, якщо у вас його немає, але тут є приклад http://www.anonyproz.com/openvpnsshtunnel.pdf для використання їх проксі-сервісу [Примітка редактора: це посилання Wayback Machine може бути безпечніше], але це також Googlable:

https://www.google.com/search?q=ssh%20tunnel%20openvpn .

Я також знав людей, що використовують цей підхід як проксі, оскільки їх роботодавець заблокував доступ до сайтів, таких як dice.com, коли вони були популярними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.