Да, через некоторое время проблему устранили. Год прошел, работает более-менее стабильно. Иногда (за год точно не скажу, но не более 10 раз) при каком-то редком сочетании звезд вылетает в BSOD с ошибкой Memory Management. Возможно из-за того, что я поставил в него 64GB RAM. Тесты все проходит на ура. Для себя думаю нафик эти эксперименты с AMD, надо будет менять - возьму Intel.
Судя по списку доменов они в первую очередь ориентируются на азиатско-тихоокеанский регион, предоставляя локальные сервисы в Малайзии, Вьетнаме, Индии и т.д… Отпишитесь если не сложно, если ответят.
Я вчера бегло просмотрел рынок, почти все базируются в US/UK. Даже если еще не все отказались, то это вопрос времени. Конфликт рано или поздно перейдет из горячей фазы в холодную, но эта новая реальность с нами теперь на годы, если не на десятилетия. Возможно пора смотреть в сторону нейтральных стран, надеюсь рано или поздно кого-то заинтересует окно возможностей...
В Альфе можно создать комбинированный СВО указав 20% перечислить на валютный счёт, а 80% продать по курсу Альфа-форекс с зачисление на рублёвый. После исполнения распоряжения ничего не мешает вам откупить валюту обратно по курсу того же альфа-форекс. Минус - дважды платите комиссию за конвертацию.
Да, согласен, ошибочка вышла, но по итогу разобрались. Похоже на то, что режут wireguard по хендшейкам, это объясняет почему "очень плохо работает Warp VPN". Для WARP могу посоветовать следующее:
Добавить в конфиг WARP адрес/логин/пароль от Dante и скормить результат моему WireGuard клиенту https://www.wiresock.net
В решении с WireSock меня смущает только тот факт, что порты Данте сервера с 40000 по 45000 перманентно остаются открытыми для входа, не повлияет ли это на безопасность сервера?
Открытый диапазон UDP портов нам вряд ли чем-то угрожает, я не смотрел код, но предполагаю, что Dante начинает слушать порт из этого диапазона только после команды UDP ASSOCIATE. При этом конкретный порт для каждой сессии выбирается из этого диапазона с некой долей "случайности". Остальной трафик направленный на эти порты благополучно отбрасывается стеком.
Также, хотел узнать, нет ли таких же решений как Ваш WireSock для андроид и линукс? Ну чтобы не гонять весь трафик по соксам а только заголовки хендшейков.
Насколько я знаю, нет. Сделать, впрочем, не слишком сложно, можно добавить соответствующий код в тот же boringtun. Было бы время... Если надо подключить к wireguard серверу не Windows систему (например Smart TV или колонку), то можно расшарить подключение с Windows, используя например Internet Connection Sharing или Mobile Hotspot. В отличие от стокового клиента, мой так умеет работать. Как-то использовали одну из ранних версий, чтобы активировать "серый" Smart TV от Samsung через европейский сервер после массовых блокировок в 2020 году.
При этом маскировка под TLS возможно не лучший выбор. Как вариант можно было бы маскироваться под трафик популярных онлайн игр, в особенности построенных на основе UDP.
wireguard-go код проверяет размер полученного пакета и отбрасывает его если он не совпадает с ожидаемым. Другие реализации не проверял, но думаю там все аналогично. Поэтому дописывать в Handshake Initiate рандомный мусор в конец пакета не получится.
case MessageInitiationType:
okay = len(packet) == MessageInitiationSize
case MessageResponseType:
okay = len(packet) == MessageResponseSize
case MessageCookieReplyType:
okay = len(packet) == MessageCookieReplySize
default:
device.log.Verbosef("Received message with unknown type")
}
if okay {
select {
case device.queue.handshake.c <- QueueHandshakeElement{
msgType: msgType,
buffer: buffer,
packet: packet,
endpoint: endpoint,
}:
buffer = device.GetMessageBuffer()
default:
}
}
Возможно, у пользователя был конфиг от Warp+. С другой стороны здесь вообще корпоративный VPN заблокировали, в отличие от того же Warp вряд ли адреса были засвечены. Может быть еще не у всех провайдеров блокировка налажена, насколько я понимаю история довольно свежая.
Согласен, можно было бы сделать Wireguard более стойким к детектированию. Но по всей видимости это вряд ли уже произойдёт. Никто не захочет ломать совместимость. А ее к слову ломает даже использование зарезервированных байтов.
Вопрос скорее к Джейсону, но вообще все кроме первого байта для DPI выглядит как произвольные бинарные данные. Основная проблема в фиксированном размере пакетов handshake и первом байте указывающем тип пакета, который 1 для initiate, 2 для response и 4 для пакетов с данными.
Возможно, здесь мы вступаем области предположений. Меня главным образом смущает, что у пользователя туннель не падал через две минуты. Так же вполне вероятно, что нужен еще и произвольный пакет в обратном направлении. А для этого придется еще и сервер модифицировать.
Возможно SOCKS - это действительно overkill и может отработать и более простой вариант. Но главное, что работает.
Если послать мусорный пакет, то сервер ничего не ответит, а DPI похоже ждет первую подходящую пару в обоих направлениях. Впрочем, наверняка сложно сказать, это только мои предположения.
Через SOCKS пробрасывается Handshake Initiate и приходит ответный Hadnshake Response, остальные пакеты ходят напрямую между клиентом и сервером WireGuard. Другими словами SOCKS используется для маскировки handshake.
«Когда не хочешь решить какой-нибудь вопрос, создай комиссию»
Да, через некоторое время проблему устранили. Год прошел, работает более-менее стабильно. Иногда (за год точно не скажу, но не более 10 раз) при каком-то редком сочетании звезд вылетает в BSOD с ошибкой Memory Management. Возможно из-за того, что я поставил в него 64GB RAM. Тесты все проходит на ура. Для себя думаю нафик эти эксперименты с AMD, надо будет менять - возьму Intel.
Судя по списку доменов они в первую очередь ориентируются на азиатско-тихоокеанский регион, предоставляя локальные сервисы в Малайзии, Вьетнаме, Индии и т.д… Отпишитесь если не сложно, если ответят.
asiapaytech.com, www.asiapaytech.com, www.gorvilla.com, www.asiapay.com.my, www.paydollar.com.au, www.mpayasia.com, www.asiapay.co.th, www.asiapay.com.au, www.paydollar.com.vn, www.paydollar.com.my, www.asiapay.com.sg, www.asiapay.com.ph, www.paydollar.com.sg, www.asiapaycapital.com, www.asiapay.com.vn, www.paydollar.in, www.asiapay.com.cn, www.asiapay.co.id, www.paydollar.com.tw, www.paydollar.com.cn, www.asiapay.com.tw, www.ppay.com, www.paydollar.co.id, www.epayalert.com, www.mangolia.com
Я вчера бегло просмотрел рынок, почти все базируются в US/UK. Даже если еще не все отказались, то это вопрос времени. Конфликт рано или поздно перейдет из горячей фазы в холодную, но эта новая реальность с нами теперь на годы, если не на десятилетия. Возможно пора смотреть в сторону нейтральных стран, надеюсь рано или поздно кого-то заинтересует окно возможностей...
Да, уже в новостях засветилась.
Для ИП пока такой комиссии вроде нет, так что валюту пока можно откупать обратно после принудительной продажи 80%.
В старом интерфейсе в UI такая возможность есть.
1 марта ещё было можно, похоже все меняется очень быстро.
P. S. С утра Альфа-Инвестиции порадовали объявлением "комиссия за покупку валюты 30% решение ЦБ". Будьте внимательны.
В Альфе можно создать комбинированный СВО указав 20% перечислить на валютный счёт, а 80% продать по курсу Альфа-форекс с зачисление на рублёвый. После исполнения распоряжения ничего не мешает вам откупить валюту обратно по курсу того же альфа-форекс. Минус - дважды платите комиссию за конвертацию.
Да, согласен, ошибочка вышла, но по итогу разобрались. Похоже на то, что режут wireguard по хендшейкам, это объясняет почему "очень плохо работает Warp VPN". Для WARP могу посоветовать следующее:
Создать файл конфигурации, например с использованием https://github.com/ViRb3/wgcf
Настроить Dante сервер, аналогично описанному https://www.ntkernel.com/dante-in-oracle-cloud/
Добавить в конфиг WARP адрес/логин/пароль от Dante и скормить результат моему WireGuard клиенту https://www.wiresock.net
Открытый диапазон UDP портов нам вряд ли чем-то угрожает, я не смотрел код, но предполагаю, что Dante начинает слушать порт из этого диапазона только после команды UDP ASSOCIATE. При этом конкретный порт для каждой сессии выбирается из этого диапазона с некой долей "случайности". Остальной трафик направленный на эти порты благополучно отбрасывается стеком.
Насколько я знаю, нет. Сделать, впрочем, не слишком сложно, можно добавить соответствующий код в тот же boringtun. Было бы время... Если надо подключить к wireguard серверу не Windows систему (например Smart TV или колонку), то можно расшарить подключение с Windows, используя например Internet Connection Sharing или Mobile Hotspot. В отличие от стокового клиента, мой так умеет работать. Как-то использовали одну из ранних версий, чтобы активировать "серый" Smart TV от Samsung через европейский сервер после массовых блокировок в 2020 году.
Судя по https://www.ntkernel.com/forums/topic/cant-start-instalation-wiresock-on-windows7-x64/ в Узбекистане и SOCKS5 блокируют. Я пока на 100% не уверен, но очень на это похоже: SOCKS4 работает, а SOCKS5 рубят по первому пакету.
Если есть желание, то можем повозиться, ничего не мешает добавить еще один метод обфускации в клиента.
При этом маскировка под TLS возможно не лучший выбор. Как вариант можно было бы маскироваться под трафик популярных онлайн игр, в особенности построенных на основе UDP.
Можно использовать альтернативный BoringTun от Cloudflare. Не kernel mode, но производительность неплохая, существенно лучше чем wireguard-go.
Ссылки на пруфы разбросаны по статье. То с чего я начал этим заниматься: https://www.ntkernel.com/forums/topic/can-i-select-the-default-interface-when-using-wiresock-vpn-client-on-win10/
Еще пара ссылок, которые я нашел пока, разбирался:
https://www.reddit.com/r/Egypt/comments/lsnyk7/is_wireguard_blocked/
https://twitter.com/6h4n3m/status/1459462360003919875
Не исключено, что наличие блокировок зависит от конкретных провайдеров.
wireguard-go код проверяет размер полученного пакета и отбрасывает его если он не совпадает с ожидаемым. Другие реализации не проверял, но думаю там все аналогично. Поэтому дописывать в Handshake Initiate рандомный мусор в конец пакета не получится.
У меня не было возможности проверить, но судя по тому, что пишут, OpenVPN работает только в паре с shadowsocks.
Возможно, у пользователя был конфиг от Warp+. С другой стороны здесь вообще корпоративный VPN заблокировали, в отличие от того же Warp вряд ли адреса были засвечены. Может быть еще не у всех провайдеров блокировка налажена, насколько я понимаю история довольно свежая.
Согласен, можно было бы сделать Wireguard более стойким к детектированию. Но по всей видимости это вряд ли уже произойдёт. Никто не захочет ломать совместимость. А ее к слову ломает даже использование зарезервированных байтов.
Вопрос скорее к Джейсону, но вообще все кроме первого байта для DPI выглядит как произвольные бинарные данные. Основная проблема в фиксированном размере пакетов handshake и первом байте указывающем тип пакета, который 1 для initiate, 2 для response и 4 для пакетов с данными.
Возможно, здесь мы вступаем области предположений. Меня главным образом смущает, что у пользователя туннель не падал через две минуты. Так же вполне вероятно, что нужен еще и произвольный пакет в обратном направлении. А для этого придется еще и сервер модифицировать.
Возможно SOCKS - это действительно overkill и может отработать и более простой вариант. Но главное, что работает.
Если послать мусорный пакет, то сервер ничего не ответит, а DPI похоже ждет первую подходящую пару в обоих направлениях. Впрочем, наверняка сложно сказать, это только мои предположения.
Через SOCKS пробрасывается Handshake Initiate и приходит ответный Hadnshake Response, остальные пакеты ходят напрямую между клиентом и сервером WireGuard. Другими словами SOCKS используется для маскировки handshake.