Для обхода блокировки достаточно отправить 1 любой udp пакет, тем самым нарушим начальное определение протокола WireGuard
Способ с использованием Windows PowerShell. Без скачивания Nmap и подобного софта.
Добавим в него "ListenPort", это позволит иметь статичный порт на котором будет работать WireGuard
Нажмите ПКМ на нужный "туннель" и выберите "Редактировать выбранный туннель..."
После DNS добавляем новую строку
ListenPort = 56123
Нажимаем сохранить.
Warning
🔴 Важно! Не пытайтесь подключиться к серверу сразу после того как указали порт.
Необходимо изменить в скрипте данные сервера, к которому вы будете подключаться.
Их можно посмотреть в конфиге, [Peer] -> Endpoint
Как пример:
Script:
$wgListenPort = 56123
$wgIP = "DEST IP ADDRESS"
$wgPORT = DEST PORT
$EndPoints = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::Parse([System.Net.Dns]::GetHostAddresses($wgIP)), $wgPORT)
$Socket = New-Object System.Net.Sockets.UDPClient $wgListenPort
$SendMessage = $Socket.Send([Text.Encoding]::ASCII.GetBytes(":)"), 2, $EndPoints)
$Socket.Close()
После того, как изменили в скрипте $wgIP и $wgPORT, вставляем его в PowerShell и нажимаем Enter. Разрешите доступ Брандмауэру Windows если запросит.
Можете подключаться к своему WireGuard.
- Что делать, если я попытался подключиться к серверу без PowerShell Скрипта?
- Поменять ListenPort в конфиге клиента и поменять в скрипте значение $wgListenPort . Порт должен совпадать.
- Либо подождать 5-10 минут, пока пройдет время блокировки порта. После этого запускаете сначало скрипт PowerShell - а затем пытаетесь подключиться к WireGuard
- Как определить что проблема именно в блокировке протокола WireGuard от РКН ?
- Если в информации о переданных данных будет статично при подключение: "Получено 92 Б" или "Получено 148 Б" - Значит ваш провайдер заблокировал Handshake Response с протоколом wireguard. Данный гайд помогает обойти эту блокировку.
Чуть подправил скрипт , чтобы лишний раз не бегал по клиентским пирам, которые подключаются к этому роутеру,
а только где роутер как клиент.
Работает убойно! Proton и Warp пробивает)
Upd.: увеличил время в фильтре до 2м30с как защита от ложных срабатываний у медленных подключений.
Считаю выполнение скрипта раз в 2 минуты средним нормальным значением.
Так же добавил в скрипт закомментированную строку с возможность исключения какого-либо wg интерфейса из проверки.
Update for ROS >= 7.17: у пиров изменили свойство is-responder на responder! добавил закоментированную строку в скрипт.
Если при выполнении скрипта на этапе генерации трафика выходит ошибка в лог, то:
выполнить команду /system/device-mode/print
если получаем mode: advanced и при этом в выводе нету traffic-gen: yes,
выполняем команду
/system/device-mode/update traffic-gen=yes и следуем инструкциям.
Официальная справка по device-mode.