Туннель работал на ноутбуке, поэтому файл конфигурации переехал на телефон и планшет, и теперь рукопожатия то появляются, то исчезают на всех трёх. Ничего не было набрано с ошибкой, и конфигурация сервера не редактировалась. Профиль WireGuard — это не учётная запись с паролем, которой могут пользоваться несколько устройств; это пара ключей, и только публичная половина идентифицирует партнёра. Копирование файла копирует идентичность, поэтому сервер теперь пытается поддерживать одну связь с конечной точкой для нескольких устройств, которые все утверждают, что они одно и то же. Со стороны сервера нет второго устройства, которое можно заметить, есть только партнёр, чей адрес постоянно меняется.

Начните с журнала рукопожатий на каждом устройстве

Откройте клиент на каждом устройстве и запишите время последнего рукопожатия и текущую конечную точку, прежде чем что-либо менять. В исправной конфигурации эти значения остаются стабильными, пока устройство используется; при продублированной идентичности метки времени чередуются, и конечная точка, записанная на сервере, может описывать другое устройство, не то, на котором находится профиль. Это чередование и есть подпись, и оно объясняет, почему симптом выглядит как нестабильное соединение, а не как ошибка конфигурации. Устройства не сломаны; они прерывают друг друга.

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

Подтвердите, делят ли два устройства одну идентичность

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

wg show wg0 public-key
wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer

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

Правильно подготовьте вторую идентичность

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

umask 077
wg genkey > newdevice.key
wg pubkey < newdevice.key

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

Выведите дубликат из обращения, не сломав оригинал

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

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

Проверьте оба устройства по отдельности и вместе

Сначала проверьте каждое устройство отдельно: рукопожатие, движущиеся счётчики передачи и пункт назначения, до которого доходит только туннель. Затем запустите оба одновременно и наблюдайте, как сервер видит конечные точки; два разных ключа должны дать две стабильные записи партнёров, а не одну скачущую.

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

Похожие статьи