[GH-ISSUE #71] Проблема с блокировкой входящих соединений через МТС во время подключения #38

Open
opened 2026-10-13 21:02:38 +00:00 by bsakaguchi · 6 comments
Owner

Originally created by @denis-gr on GitHub (May 21, 2025).
Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-go/issues/71

Проблема:
МТС блокирует входящие соединения при попытке установить подключение через его сеть. Однако если соединение изначально установлено через другого, более лояльного провайдера, то данные передаются корректно, в том числе и через МТС.

Предложение:
Рассмотреть возможность внедрения кэширования или другого способа передачи ключей соединения, чтобы за счёт незначительного снижения уровня безопасности улучшить обход блокировок.

Originally created by @denis-gr on GitHub (May 21, 2025). Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-go/issues/71 Проблема: МТС блокирует входящие соединения при попытке установить подключение через его сеть. Однако если соединение изначально установлено через другого, более лояльного провайдера, то данные передаются корректно, в том числе и через МТС. Предложение: Рассмотреть возможность внедрения кэширования или другого способа передачи ключей соединения, чтобы за счёт незначительного снижения уровня безопасности улучшить обход блокировок.
Author
Owner

@emitrokhin commented on GitHub (Jul 2, 2025):

Наблюдаю такую же проблему. Возникать начала лично у меня где-то в конце июня

<!-- gh-comment-id:3027617133 --> @emitrokhin commented on GitHub (Jul 2, 2025): Наблюдаю такую же проблему. Возникать начала лично у меня где-то в конце июня
Author
Owner

@Kaesoron commented on GitHub (Jul 4, 2025):

Присоединяюсь. С проводным интернетом от МТС такой проблемы нет, только с мобильным.
Соединение происходит без проблем, затем трафик останавливается.
Пробовал протоколы AmneziaWG, XRay

<!-- gh-comment-id:3036981286 --> @Kaesoron commented on GitHub (Jul 4, 2025): Присоединяюсь. С проводным интернетом от МТС такой проблемы нет, только с мобильным. Соединение происходит без проблем, затем трафик останавливается. Пробовал протоколы AmneziaWG, XRay
Author
Owner

@afirthes commented on GitHub (Jul 5, 2025):

Купл android телефон Redmi + МТС сим карта, amnezia vpn не работает, включается толкьо при подключении к wifi.

<!-- gh-comment-id:3038136030 --> @afirthes commented on GitHub (Jul 5, 2025): Купл android телефон Redmi + МТС сим карта, amnezia vpn не работает, включается толкьо при подключении к wifi.
Author
Owner

@denis-gr commented on GitHub (Jul 5, 2025):

Например

Конфигурация клиента:

[Interface]
...
SkipHandshake = 1

[Peer]
PresharedKey = NtQy04h0sAHbnA9gKyH7fgiWjYG/6KL2NCypJT213YA=
...

Конфигурация сервера:

[Interface]
SkipHandshake = 1
...

### Client 1
[Peer]
PresharedKey = NtQy04h0sAHbnA9gKyH7fgiWjYG/6KL2NCypJT213YA=
...

### Client 2
[Peer]
PresharedKey = ...
...

### Client 3
[Peer]
PresharedKey = ...
...

Механика работы

  • Если SkipHandshake=1 на обеих сторонах и PresharedKey совпадает, то клиент и сервер могут сгенерировать сессионный ключ и начать защищённую работу без стандартного рукопожатия WireGuard.

  • Сессионный ключ может формироваться как HMAC-SHA256 от следующей строки:

    SessionKey = HMAC_SHA256(
        PresharedKey,
        ServerPubKey || ClientPubKey || TimeSlot
    )
    

    где

    • ServerPubKey — публичный ключ сервера (Base64/Hex)
    • ClientPubKey — публичный ключ клиента (Base64/Hex)
    • TimeSlot — время в формате YYYY-MM-DDTHH:MM (UTC), то есть с точностью до минуты
  • Для устойчивости к небольшой рассинхронизации времени допускается приём ключей для соседних минут (+/-1).

Преимущества

  • Мгновенное установление защищённого канала — handshake не требуется, DPI не видит характерных паттернов WireGuard.
  • Сессионный ключ обновляется автоматически каждую минуту, что снижает риски при компрометации ключа.
<!-- gh-comment-id:3039113901 --> @denis-gr commented on GitHub (Jul 5, 2025): Например #### Конфигурация клиента: ``` [Interface] ... SkipHandshake = 1 [Peer] PresharedKey = NtQy04h0sAHbnA9gKyH7fgiWjYG/6KL2NCypJT213YA= ... ``` #### Конфигурация сервера: ``` [Interface] SkipHandshake = 1 ... ### Client 1 [Peer] PresharedKey = NtQy04h0sAHbnA9gKyH7fgiWjYG/6KL2NCypJT213YA= ... ### Client 2 [Peer] PresharedKey = ... ... ### Client 3 [Peer] PresharedKey = ... ... ``` #### Механика работы - Если `SkipHandshake=1` на обеих сторонах и PresharedKey совпадает, то клиент и сервер могут сгенерировать сессионный ключ и начать защищённую работу без стандартного рукопожатия WireGuard. - Сессионный ключ может формироваться как HMAC-SHA256 от следующей строки: ``` SessionKey = HMAC_SHA256( PresharedKey, ServerPubKey || ClientPubKey || TimeSlot ) ``` где - `ServerPubKey` — публичный ключ сервера (Base64/Hex) - `ClientPubKey` — публичный ключ клиента (Base64/Hex) - `TimeSlot` — время в формате `YYYY-MM-DDTHH:MM` (UTC), то есть с точностью до минуты - Для устойчивости к небольшой рассинхронизации времени допускается приём ключей для соседних минут (+/-1). #### Преимущества - Мгновенное установление защищённого канала — handshake не требуется, DPI не видит характерных паттернов WireGuard. - Сессионный ключ обновляется автоматически каждую минуту, что снижает риски при компрометации ключа.
Author
Owner

@megauniqum commented on GitHub (Jul 27, 2025):

Конфигурация сервера:

[Interface]
SkipHandshake = 1
...

Сервер не стартует с такими настройками, можно поподробнее?

<!-- gh-comment-id:3124344400 --> @megauniqum commented on GitHub (Jul 27, 2025): > #### Конфигурация сервера: > ``` > [Interface] > SkipHandshake = 1 > ... Сервер не стартует с такими настройками, можно поподробнее?
Author
Owner

@denis-gr commented on GitHub (Jul 27, 2025):

Очевидно, что это просто предложение о возможной функциональности, которую не хотят делать

<!-- gh-comment-id:3124388213 --> @denis-gr commented on GitHub (Jul 27, 2025): Очевидно, что это просто предложение о возможной функциональности, которую не хотят делать
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amneziawg-go#38
No description provided.