Как маскировать трафик VPN под HTTPS трафик по TCP/443?

Привет, любители хомлапов! Сейчас у меня настроено UDP 1194 для OpenVPN для доступа к моей домашней сети и устройствам. Всё работает отлично. Мне очень комфортно знать, что всё шифруется и безопасно туннелируется обратно домой, когда я пользуюсь открытой сетью Wi-Fi.

Некоторые ограничительные публичные Wi-Fi-сети блокируют все порты, кроме 80/443 по TCP по очевидным причинам. Я пробовал туннелировать соединение SoftEther через 443/TCP, но предполагаю, что они используют какую-то систему DPI, так как соединение обрывается через несколько минут. Я не могу получить доступ к серверу всю ночь, потому что, как я предполагаю, IP заносят в черный список на это время.

Однако, если я запускаю Guacamole через HTTPS, мое соединение не вызывает подозрений. Поэтому сейчас я использую именно это — запускаю станцию-переход обратно домой.

Мой вопрос: есть ли способ туннелировать какой-нибудь тип VPN через HTTPS (с легитимным сертификатом Let’s Encrypt), чтобы я мог продолжать доступ к своей домашней сети и устройствам? Если я открою хост/порт в обычном веб-браузере, он автоматически покажет тестовый сайт.

Я пытался искать в Гугле, и самое близкое — создать прокси-сервер Socks5 с помощью ShadowSocks и ShadowSocksR. Это близко, но мне нужно не только использовать Socks5/веб-браузер, мне нужен полноценный сетевой туннель домой, чтобы даже приложения и системы, которые не используют Socks, могли легко подключиться к VPN.

Заранее спасибо!

Обновление:

Думаю, я усложняю задачу. Очевидно, OpenVPN предусматривает возможность решения такой ситуации!

ссылки:

Обещаю попробовать позже на этой неделе и отчитаться.

Вы можете запускать OpenVPN на порту 443. Просто запустите его как 443/tcp, но учтите, что для OpenVPN TCP немного замедлит работу.

Попробуйте использовать 53 порт (DNS) вместо этого.

У меня был успех, когда я инкапсулировал туннель OpenVPN с помощью stunnel.

Рекомендуется запускать TCP OpenVPN на порту 1194 и настроить sTunnel для обертки этого трафика в настоящий SSL/TLS туннель. DPI видит только его как большой HTTPS-трафик :). Это то, что я использую на работе.

Что я делаю — это запускаю socks5-прокси поверх соединения OpenVPN, это обычно работает, так как сначала идет на прокси-сервер, а уже потом на VPN. Также слышал, что можно изменить tls-auth на tls-crypt в конфигурациях сервера и клиента, чтобы усложнить обнаружение. Но в целом DPI-фаерволы становятся очень хороши в распознавании VPN, и это становится проблемой для многих из нас.

Используйте SSTP. Это VPN через SSL. Оно было разработано Microsoft, но, как я понимаю, есть пакеты для Linux.

Я использую openconnect для этого и пока не сталкивался с ошибками распознавания трафика. Посмотрите ocserv для Linux, если интересно.

Проблема в том, что DPI его распознает. Handshake OpenVPN не тот же, что у обычного HTTPS, плюс некоторые DPI проверяют, отправляет ли сервер за 443 действительные HTML-ответы.

Могу ли я запустить это за обратным nginx-прокси?

Я действительно пытался это сделать. И TCP, и UDP. Всё равно не получилось с SoftEther и OpenVPN.

Извините. Я имел в виду Apache/Guacamole https://guacamole.apache.org/ lol

Я вспомнил, что у клиента OpenVPN есть возможность использовать Socks-соединение!

Попробуйте связать OpenVPN с sTunnel. У нас довольно жесткие DPI и файрволлы на работе, но обертка TCP-трафика OpenVPN с помощью sTunnel делает так, что его видно только как большой HTTPS-трафик. Работает отлично :slight_smile:

https://forum.nginx.org/read.php?11,260587

Итак, наконец, могу дать обратную связь. Поток очень хорошо работает для OpenVPN (используя TCP).

Даже есть пример конфигурации.

Привет, знаю, что этот пост очень старый, но не мог бы ты описать свою настройку?

У меня есть домашний маршрутизатор на OpenWRT и OpenVPN. Я заметил, что есть дополнение sTunnel в репозитории OpenWRT. Мне интересно, как ты настроил свой.

Работает ли блокировка VPN через гостевую сеть на порт 1194?

Сейчас я использую OpenVPN на UDP 443. Хотел бы повысить уровень защиты, чтобы их файрволы не могли этого заблокировать.

Стоит ли переключиться на TCP 443? Я понимаю риски.

Отлично! Н как только смогу этим заняться сегодня вечером, обязательно попробую. Спасибо за помощь!

Я больше так не пользуюсь этим методом, но я никогда не использовал OpenWRT. Я размещал свой sTunnel и OpenVPN на Ubuntu, запуская её на 1194 TCP для OpenVPN (по моим воспоминаниям), и в основном перенаправлял localhost 1194 через настройку sTunnel. Так трафик оставался в формате HTTPS, что помогало обходить DPI и фильтры.

Проверю завтра старые конфигурации, но, по-моему, так я маршрутизировал.

Обязательно сообщите о результате — получилось ли обмануть DPI или нет!

Спасибо, что ответили! Мне не нужно смотреть старые конфигурации, вы уже много сделали.