WireGuard

Сегодня столкнулись с подобным на мобильных сетях мегафона и мтс’а в Калининграде. Каково есть решение для ios и android ? Если с линуксом и виндой nmap/nping. То как быть на телефонах ?

Правим конфиг wg, добавляем ListenPort = 56789 в секцию [Interface]

ставим termix из плэй маркет

в термикс:
apt-get update
apt-get upgrade
pkg install nmap

nping --udp --count 1 --data-length 16 --source-port 56789 --dest-port ВашПортWG ВашАдресWG

Переключаемся в wg и обмениваемся рукопожатием. Тестировал на мобильном Билайн ЮФО, с пятницы не проходило рукопожатие.

За решение благодарю ValdikSS и участников обсуждения

Спасибо, тоже всё заработало, но так подозреваю что не надолго, рано или поздно это прикроют. Пытаюсь через shadowsocks-libev настроить, но что-то пока не выходит, может кто уже поднял shadow socks с wireguard и есть ссылки на рабочие инструкции?

а как эти команды выполнит в windows

Надо установить Nmap.

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

Вы немного не поняли. Пытаюсь поверх shadowsocks пускать wg.

пардон, самому интересно, попытался поднять вчера аналогичное, но wg на андроид девайсе упорно не видел локалхост через прокси

у меня на nmap выдает вот это после ввода команды
C:\Program Files (x86)\Nmap\nmap.exe: unrecognized option `–udp’
See the output of nmap -h for a summary of options

Команда будет выглядеть так:

"C:\Program Files (x86)\Nmap\nping.exe" --udp --count 1 --data-length 16 --source-port SRC_PORT --dest-port DEST_PORT DEST_IP  --unprivileged

Выполнить подобную команду можно через любую netcat-подобную программу, не принципиально, чтобы это был ncat. Главное — отправить любой пакет с мусорными данными с заданного порта источника на заданный IP-адрес и порт назначения.

Привет. WG работает с пингом на теле2, спасибо! На iOS ставил для пинга SocketTool и UDP/tcp/rest network utility. Любая из них работает.

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

А где в первом приложении возможность указать listen port? Listening port вроде бы только про возможность слушать на upd порте, а не указание его как исходного для отправки

Это в настройках wg на клиенте надо сделать

Нет, вопрос в другом. В приложении wireguard listen port у меня выставлен, но идея обмана ТСПУ вроде бы в том, чтобы пинговать vpn-сервер с того же порта, на котором wireguard слушает, а такой функциональности в udp/tcp/rest network utility я не наблюдаю (отправить на заданный порт – да, с заданного порта – нет).
Просто отправка в моем случае не работает, к сожалению, сессия все равно рвется.

Был бы признателен, если кто-то сможет попробовать и проверить это решение: GitHub - Snawoot/wg-decoy: Decoy handshake for Wireguard

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

И ещё один вариант обхода блокировки Wireguard и UDP OpenVPN – завернуть их в DTLS. Вот обёртка, которая позволяет это сделать: GitHub - Snawoot/dtlspipe: Generic DTLS wrapper for UDP sessions.

Было бы хорошо, если кто-то смог бы протестировать и сообщить о результатах.

Я попробовал dtlspipe в нескольких вариантах. У меня отлично
работает. Радует, что настройка очень простая. Скорость конечно падает, но для работы мне подходит. Тестировал на MTC/Tinkoff Mobile.

Относительная разница в скорости:

  • dtlspipe + wireguard - 2 Mbit/s
  • cloak + dtlspipe + wireguard - 2 Mbit/s
  • cloak + wireguard - 7 Mbit/s

wg можно завернуть в GitHub - wangyu-/udp2raw: A Tunnel which Turns UDP Traffic into Encrypted UDP/FakeTCP/ICMP Traffic by using Raw Socket,helps you Bypass UDP FireWalls(or Unstable UDP Environment) как по мне так это несет самые низкие накладные расходы, скорость почти не просаживается