Pull to refresh

Comments 81

Сначала

заблокированный WireGuard

потом

если ваш купленный или самонастроенный VPN на WireGuard совсем потерял признаки жизни

P.S.

У меня такая же нога, но не болит © - как работало так и работает

Как показывает практика зависит от оператора/провайдера.

Странно, у меня вся контора на туннелях wireguard и о блокировке ничего не слышал. Год назад конечно позаботился о альтернативе, но пока работает как работало. Но альтернативы, особенно опенсорсные всячески одобряю.

На мобильных операторах в основном блочат

Там такое ощущение, что просто режут скорость почти до нуля для всякой непонятной фигни, которая постоянно на один и тот же айпи ходит. И то через раз

Полосатый оператор давно и упорно блочит протокол. У меня wireguard используется по прямому назначению - объединяет локальные сети квартиры и дома родителей. На локальных проводных операторах (разные провайдеры на сервере и клиенте) все работает. Полосатые блочат. Два раза пару лет назад с ними ругался в чате, после чего блокировка пропадала. Теперь идут в несознанку: "у нас все работает, проверяйте телефон".

Я бы просто отказался от их услуг в пользу других

МТС и Тинькофф тоже блочат.

Я бы просто отказался от их услуг в пользу других

Это будет временный отказ.

У остальных операторов просто руки не дошли.

Пока что.

В разных регионах по разному видимо. У меня МТС работает.

МТС душили WG с августа прошлого года, ближе к декабрю стало совсем плохо, раньше через день-два отпускало (на проводных операторах никаких проблем не было, можно по WiFi установить соединение и продолжить по мобильному), пришлось переехать на VLESS+REALITY

Они блочат vpn (в том числе и openvpn) только до зарубежных серверов. Внутри РФ всё работает. В WG блочат первое рукопожатие, а не весь протокол.

Они блочат vpn (в том числе и openvpn) только до зарубежных серверов. Внутри РФ всё работает.

Это как повезет, когда как.

Я же говорю видимо от региона.

УМВР

Вовсе не для любой

Не везде, но зато все сразу. В нижегородской области режут (обкатывают?) на всех 4х операторах, в Московской вроде пока работает

У нас "они" резали DTLS и полностью WireGuard.

Просто написали письмо на info@cert.gov.ru, что с таких то IP используем для работы (если что мы не госы). Перезвонили, уточнили, что всё так и есть и часа через 4 никаких проблем.

Как показали события в Дагестане, могут начать просто резать или дико замедлять всё, что DPI не определил как легитимный трафик. Опыт китайцев говорит о том же.

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

Из известных мне софтин это умеют Cloak и xray/sing-box.

А пробовал ли кто-нибудь просто засунуть весь трафик в обычный вебсокет? Выглядит как очевидное решение, которое со стороны провайдеров будет обнаружимо только "аналоговыми" способами вроде сбора статистики по количеству и размерам пакетов, которые обязательно заденут что-нибудь ещё.

x-ray умеет работать через веб-сокеты, возможно и sing-box умеет.

Всё равно для недетектируемого трафика через сокеты надо сначала установить HTTPS соединение, имитируя фингерпринт популярного браузера.

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

Если в ответ на запрос вместо ожидаемого (например HTTP ответа от сайта) приходит рукопожатие какого-нибудь VPN протокола - то ресурс блокируется.

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

Если в ответ на запрос вместо ожидаемого (например HTTP ответа от сайта) приходит рукопожатие какого-нибудь VPN протокола - то ресурс блокируется.

Да вроде нет проблем от такого защититься? VPN-сервер ставим за тот же nginx, по секретному урлу, по которому клиент будет запрашивать вебсокет, а так там просто ну сайт и всё. Или редирект на песню "Never gonna give you up", по вкусу. А секретный урл провайдер не узнает, потому что HTTPS. MTProto-прокси для телеграма работали на похожем принципе, только там вместо секретного урла были какие-то секретные байты в каком-то поле в ClientHello, в котором должны быть случайные данные, что ли.

Но нынешнее российское DPI-оборудование такого не умеет. Судя по тому, что вещи вроде GoodbyeDPI до сих пор неплохо работают, DPI до сих пор оперирует отдельными IP-пакетами, (почти?) никакого состояния между ними не хранит и на спецификацию того же TCP забивает чуть менее, чем полностью.

Китайское такое точно умеет, значит и российское в скором времени наверняка научится. Не сейчас так через год.

Да вроде нет проблем от такого защититься? VPN-сервер ставим за тот же nginx, по секретному урлу, по которому клиент будет запрашивать вебсокет, а так там просто ну сайт и всё. Или редирект на песню "Never gonna give you up", по вкусу. А секретный урл провайдер не узнает, потому что HTTPS.

Ну как минимум это уже заметно сложнее чем просто поставить какой-нибудь популярный VPN-сервер. В общем-то задача всех этих блокировок - не порезать вообще все (всегда найдется хитрец который все обойдет), а порезать достаточно много для большинства.

Ну как минимум это уже заметно сложнее чем просто поставить какой-нибудь популярный VPN-сервер.

Wireguard, IPSec и OpenVPN давно уже детектируются, а если ставить что-то более надёжное типа SSTP или OpenConnect, то в сравнении с ними XTLS-Reality ставится и настраивается даже проще - не надо доменов, не надо TLS-сертификатов, и есть куча веб-панелей и скриптов где все легко делается пошагово.

Ну вы изобрели Reality, если я правильно понимаю.

Последние две недели РКН усиляет блокировки. На профильном форуме о блокировках недавно было сообщение о блокировке Reality (вместе с блокировкой Shadowsocks, Shadowsocks-2022 и VMESS) на мобильных операторах. Не знаю, насколько оно соответствует действительности. Говорят, что по размерам и последовательности пакетов детектируют установление HTTPS-соединения внутри туннеля.

Reality (вместе с блокировкой Shadowsocks, Shadowsocks-2022 и VMESS

SS и VMESS уже давно блокируются с использованием белых списков протоколов, правильно настроенный Reality же пока что РКН блокировать не умеет вообще и научится ещё не скоро (пока что с этим иранцы только преуспели, да и у них эффективность довольно низкая, а collateral damage огромный)

Да вроде нет проблем от такого защититься?

Этого недостаточно, как уже выше сказали. В некоторых странах цензоры начали банить подключения "к веб-сайтам" от клиентов, у которых TLS fingerprint отличался от популярных браузеров. Граждане, в свою очередь, в ответ придумали uTLS. А в Иране, помнится, забанили даже fingerprint каких-то определенных версий Chrome, под который маскировались прокси-клиенты.

только там вместо секретного урла были какие-то секретные байты в каком-то поле в ClientHello, в котором должны быть случайные данные, что ли.

Так работают Cloak и XTLS-Reality.

port knocking, не?

Блокируется все, что непонятно. Почему гигабайты ходят на HTTP(S) сайт - еще понятно. И если проверяющий сервер подключается и видит там сайт - "все в порядке". А вот если он подключается и видит там ничего - это уже вопросы, а вопросы автоматика не задает обычно.

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

Ну например если клиент после хэндшейка на HTTPS отдаёт определённую секретную последовательсность байтов - то он свой и пускаем в секретный впн поверх tls. Если нет, то отдаём ему подложный сайт. Чем не разновидность port knock? Только стучим в не несколько портов в определённом порядке, а один порт секретной последовательностью. Снаружи не отличить от обычного https трафика. Секретная последовательность может генерироваться на основе общего ключа с привязкой по времени, по типу ТОРТ. Интенсивность трафика можно замаскировать под деятельность обычного пользователя на сайте.

UPD кажется я где-то уже читал о подобном методе маскировки ВПН под HTTPS трафик, не помню где.

Зачем такие сложности? "Нужный" клиент просто ходит по секретной /ссылке на домене, https же. Все, кто идут на сайт напрямую, видят ничем не примечательный сайт.

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

Более того, таким образом можно проксировать трафик даже через популярные CDN, в том числе с domain fronting'ом.

Я читал, что РКН пытается блокировать личные VPN пользователей путём статистического анализа. Т.е. что если комп обычного пользователя целый день обращается только к финскому серверу, то это очевидный VPN. Так что не лучше ли маскировать VPN-трафик не под HTTPS, а под торрент? Там долгие соединения с узлами - это норма. Типа качаешь что-то большое

Типа качаешь что-то большое

Месяц? Год? :)

Т.е. что если комп обычного пользователя целый день обращается только к финскому серверу, то это очевидный VPN.

Решение на поверхности - обращаться не с компа обычного пользователя. У меня все подключения до прокси на регру, а дальше что нужно проксируется уже в страну ЕС. Это, правда, не VPN. Но с VPN тоже такое можно провернуть, ЕМНИП.

Месяц? Год? :)

Можно обфусцировать так, будто разные штуки постоянно качаешь

как по мне, самое шикарное решение - vmess over websocket over nginx. это даст возможность повесить на виртуалку простенький веб-сайт на nginx и заодно пробрасывать весь трафик по websocket на vmess, а оттуда в инет. клиент под ПК v2ray-core, под Android v2rayNG, под iOS FoXray. во время блокировок в Дагестане это решение работало (живу тут)

vmess в данной конфигурации избыточен, хватит и vless.

Спасибо. Кнопки "сделать работающим" при импорте wg-профиля по QR коду нет. И не сразу понятно, что за S-поля соответствуют именам полей в форме настроек. Но главное заработало.

Проверил. Обычный wg клиент на инете от РТ работает, на мобильном инете (мтс) нет.

Клиент amnezia работает на любом инете, прикольно, спасибо!

UPD: один раз вечером сработало, сегодня уже не работает на МТС.. Видимо таки не прокатило

Попробовал реанимировать свой wireguard - не работает ни добавление в конфиг,ни через AmniziaVPN

Ну и вес 250 мб при оригинальном wg == 10 мб это конечно тоже сильно)

конфиг не добавился? или не удалось подключиться? это точно последняя версия клиента, там при импорте конфига была галочка включить обфускацию?

У меня тоже не заработал. Точнее работает, но галочки при импорте конфига никак не повлияла - Билайн как блокировал, так и блокирует. Нулевой входящий трафик в статистике. Версия 4.5.3.0 с плэя. Импортировал конфиг WG своего сервера. Через домашний инет от того же Билайна - сабж подключается, как подключается и стандартный клиент. А по мобильной сети - оба не работают.
Впрочем т.к. сервер на моем VPS и мне VPN нужен, чтобы до него ходить - я уже давно для себя сделал модификацию wireguard-go и android клиента официального, немного поменял протокол с обоих сторон и всё работает и через мобильный билайн. Скорость только по UDP жестко режется на уровне 0.5 Мбит/с. Но т.к. мне нужно цепляться к моей VPS для "удаленно что-то сделать" изредка, то меня это устраивает. Тут было интересно есть ли рабочее решение для варианта с ванильным сервером - но увы, Билайн ваша обфускация никак не проходит.
Афаик они смотрят размер пакета и байт, где у WG тип пакета, ожидая код handshake'а. Хотя детально не тестировал, не надо было.

Ну и вес 250 мб при оригинальном wg == 10 мб это конечно тоже сильно)

Ну так трекеры и телеметрии сами себя не соберут, понимать надо

Ну и вес 250 мб при оригинальном wg == 10 мб это конечно тоже сильно)

Вот что случается, если писать мобильные приложения на Qt)

Может расскаже как ui влияет на работу самого VPN протокола, который написан на go? ))

Никакой памяти не напасешься на такие приложения. Поэтому для соц сетей браузером пользуюсь, в смарт с 64 Гб уже не влазит всё необходимое.

Ну так мы выпустили для этого отдельные приложения AmenziaWG для Android и iOS - можете юзать их, они весят ровно столько сколько оригинальный WireGuard

Не то, чтобы я параноил, но зачем вам рут от моего сервера?

В Краснодарском крае на мобильных МТС, Билайн, Мегафон точно нет wireguard. Обернуть в Amnesia хорошее дело, особенно ради иконки приложения ))))

Пока не разобрался, но постараюсь, как просто перенести туннели wireguard в Amnezia, а за иконку однозначно лайк приложению!

Рут от сервера оно просит, чтобы установить на нём docker и развернуть с помощью docker-контейнеров VPN-сервер.

Мне это тоже не очень нравится. Как вариант "для домохозяек" - ок, но хотелось бы иметь также вариант ручной установки и настройки. Причем если сервер теоретически можно поднять, выдернув бинарники из контейнера или собрав из исходников на гитхабе, то что делать с клиентом, который не предполагает ручной настройки - совсем не понятно.

Так как не предлагает ручной настройки, если предлагает. Настраиваете сервер как хотите, делаете конфиг руками, добавляете его в Амнезию. Или даже в приложение AmneziaWG которое мы отдельно выпустили.

А мне нравилось добавлять руками. Зачем испортили? /s

Напишите, пожалуйста, инструкцию, как добавить сервер AmnesiaWG в docker-compose.yml. Ситуация простая: есть VPS, на нём уже через compose стоят NextCloud, Fossil, Arr-ы всякие. И сервис, добавленый вручную, немного мешает ковырять конфиги.

А как операторы определяют, что это Wireguard?

Они определяют handshake пакеты, в которых всё очень просто - там фиксированный размер в 148 байт. И первые 4 байта заголовок структуры с типом пакета, тоже одинаковые всегда: [0x01, 0x00, 0x00, 0x00].

Купить публичный вг, а потом публичный впн, гениально! Не пробовали поднять вг на недорогом впс сервере, получив по сути приватный вг? Удивитесь, но не понадобится никаких костылей. Просто не используйте общественные помойки.

Кстати, публичные адреса так же известны многим ресурсам и вы моментально попадете под подозрения, зайдя с таких диапазонов, по сути с надписью на лбу: "Я зачем-то пятаюсь скрыть свой реальный ip адрес".

WG блокируется как протокол . Хоть на своём сервере, хоть на "помойке".

Почему-то с моим адресом такого такого не было. Было такое, когда покупал американский конфиг, он частенько отваливался ни с того, ни с сего. В случае смартфона лечится банально любым бесплатным впн из гугл плея, например, норд впн. Включил, посмотрев в 30% случаев 5 секунд рекламы без звука и забыл до перезагрузки устройства.

Не пробовали поднять вг на недорогом впс сервере, получив по сути приватный вг?

Результат будет ровно тот же самый. WG банят не по адресам, а по сигнатурам. Если у вас пока ещё работает, то значит ещё руки до вас не дошли, а так - рубильник давно уже есть.

не работает. тестил на андроид. показывает подключено, а на деле пустышка)) при чем с рабочими конфигами

При установке amnezia разворачивает на сервере контейнер. А как далее этот контейнер обновлять?

Там особо нечего обновлять, в этом контейнере только AmneziaWG-go крутится. В плане секурности всё зависит от секурности самого wireguard, который впилен на данный момент на уровне ядра во все последние линуксы. Если с wg что-то случится, и поломают его криптографию, вопрос про обновление контейнера с awg я думаю будет не самым приоритетным )))

На Тинькофф Мобайл тоже не работает. Галочку обфускации в приложении при добавлении конфига ставил.

В любом случае спасибо за тестирование.

Мы подразумевали, что эта фича может не везде работать, и если где-то работает, то могут пофиксить правила детекции на ТСПУ, и заблочить. Возможно это и случилось, передаем пламенный привет сотрудникам РКН, которые, возможно, читают этот пост )) После блокировки нашего сайта, видимо оно так и есть )

270 Мб после установки! Это прикол какой-то? Зачем такой перегруженный интерфейс для такой простой задачи?

Ага, это вы оставили коммент в плей маркете с одной звездой)))

Объясняем - это приложение для настройки self hosted VPN, там на борту поддержка кучи протоколов, и библиотек разных, в том числе для работы по ssh чтобы настраивать сервер.

Фича импорта нативных конфигов разных протоколов является всего лишь одной из второстепенных фич.

Две звезды, на минуточку ☝️

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

То что вы говорите, это не оптимизация, это переписать полностью приложение..

У нас оно написано на c++/Qt с ui на QML, поэтому довольствуемся тем что имеем...

В целом идея хорошая и интересная, но меня смущает несколько моментов

  1. Почему сервер я могу установить только при помощи клиента? Какие бэкдоры этот клиенты оставляет и какие настройки делает?

  2. Я поставил клиента под Linux, не смог установить сервера по техническим причинам, как мне удалить вашего клиента с моего компьютера?

  3. Хорошо, допустим, вы используете wireguard, вроде даже конфиг WGшный, у меня есть WG Portal для создания пользователей из ldap, ну т.е. уже работающее решение, почему я не могу воспользоваться преимуществами опенсорса?

По 3 пункту нашел вот такой репозиторий, я правильно понимаю, что ситуация улучшилась и в моем случае, я просто могу на существующую виртуалку с wireguard и wg-portal поставить amneziawg-go и вместо одного бинарника запускать другой? или же даже снести штатный wg и просто подменить его бинарник вашим для того, чтобы не менять конфиги?

  1. Можете как хотите настраивать, всё в открытом доступе лежит.

  2. В папке с клиентом есть MaintenanceTool - это деинсталлятор. Пожалуйста, не надо вопросов, почему так сделано на линуксе, почему нет deb пакета и так далее. У нас нет ресурсов делать это для линукса, и вообще поддерживать Амнезию для линукса. Будем рады, если законтрибьютите фиксы.

  3. Опять же, ответ можете - берете AmneziaWG-go, или модуль ядра AmneziaWG, и настраиваете как хотите )) Но по факту - это будет сложно, так как на линуксах работает wg из ядра, а не wireguard-go, и нужно много допиливаний и танцев с бубном, чтобы допилить этот WG Portal для работы с awg. Проще всего будет его форкнуть, изменить вызовы wireguard на amneziawg, интерфейсы с wg на awg, и так далее. Ну и накатить на сервер awg kernel module. Если есть желание сделать такой форк - пишите в лс, поможем как сможем.

  1. спасибо, помогло, когда смотрел в этом каталоге не подумал, что это деинстяллятор

  2. пока присматриваюсь в сторону альтернативного решения, не wireguard, которое лучше подходит для моих задач, т.к. изначально надо было запустить эффективный VPN с аутентификацией множества пользователей по ldap, wg-portal тут скорее костыль, нежели целевое решение. Но если не заработает, то может быть вернуть к предложенному Вами варианту.

можете посмотреть в сторону OpenVPN с ldap с маскировкой Cloak

Нечто подобное сейчас и используется, но openvpn смущает своей производительностью. Хочу попробовать openconnect, если не залетит, то буду пробовать дружить AmneziaWG с ldap.

Тут уже задумаешься над регистрацией собственного VPN в реестрах.Вообще странно, ладно внешние сервера, но когда я хочу через сотовую связь подключиться к своей домашней сети, то чем это нарушает закон? Или Корпоративная VPN для дополнительной защиты сетевых ресурсов? Ну вот сейчас все пошли на удаленку (уже возвращаются) и надо предоставить доступ к офисному копмуктеру по RDP из дома, ну не открывать же пачку RDPшников в интернеты?

Вообще странно, ладно внешние сервера, но когда я хочу через сотовую связь подключиться к своей домашней сети, то чем это нарушает закон?

С каких это пор в стране стали считаться с "сопутствующими потерями" ? (=

не очень понял момент с правкой конфигов WG при установке галочки "включить обфускацию". Сам изначальный импортируемый конфиг не правится, если зайти в Показать параметры подключения в клиенте - конфиг также изначальный. У меня что-то не так работает или я что-то не так понял?)

Sign up to leave a comment.