Скопійований профіль WireGuard: чому обидва пристрої не працюють
Скопійований профіль дублює ключ, а не пристрій. Перегляньте журнал рукостискань, підтвердьте спільну ідентичність і потім правильно видайте другий.
Тунель працював на ноутбуці, тому файл конфігурації переїхав на телефон і планшет, і тепер рукостискання то з'являються, то зникають на всіх трьох. Нічого не було введено з помилкою, і конфігурація сервера не редагувалася. Профіль 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
Серверній стороні потрібен публічний ключ і призначення дозволеної адреси, яка не конфліктує з початковим пристроєм. Профіль, який зберігає стару адресу тунелю, але пред'являє новий ключ, створює партнера, якого сервер може прийняти, а потім неправильно спрямувати, що є тоншим збоєм, ніж відхилене рукостискання. Перевірте призначення адреси перед підключенням, а не після першої незрозумілої втрати пакетів.
Приберіть дублікат, не зламавши оригінал
Коли нова ідентичність запрацює, видаліть скопійований профіль з оточення початкового пристрою, а не видаляйте серверний запис, який оригінал досі використовує. Якщо копія могла бути розкрита, натомість негайно відкличте її й потім видайте нову; зручність не є причиною залишати спільний секрет в обігу.
Керований сервіс, який справді підтримує кілька пристроїв на підписку, скаже вам про це й видасть окремі облікові дані зі свого інтерфейсу. Ручне дублювання одного профілю ніколи не є такою моделлю, навіть коли бренд сервісу натякає на необмежену кількість пристроїв.
Перевірте обидва пристрої окремо й разом
Спочатку перевірте кожен пристрій окремо: рукостискання, рухомі лічильники передавання та призначення, до якого доходить лише тунель. Потім запустіть обидва одночасно й поспостерігайте, як сервер бачить кінцеві точки; два різні ключі мають дати два стабільні записи партнерів, а не один стрибучий.
Зберігайте нові публічні ключі разом із нотатками про розгортання та записуйте, який пристрій який має. Без цього списку наступна людина, яка скопіює профіль, повторить ту саму помилку, і чергувані рукостискання знову звинуватить мережу.