Дві команди створюють пару ключів WireGuard, і обидві постачаються зі стандартними інструментами, тож цьому завданню не потрібен сайт, який пропонує зробити ключ за вас. Ламається ніколи не арифметика кривої; ламаються біти прав, місце, куди потрапляє файл, і те, що потім надсилається на інший кінець. Послідовність нижче починається в порожньому каталозі й закінчується в партнера, який несе трафік. Прочитайте її один раз перед запуском, бо перший рядок має значення лише тоді, коли наступний виконується в тій самій оболонці.

Створення пари в одній оболонці

Документований робочий процес обмежує створення файлів до того, як приватне значення існує, а потім виводить із нього публічне значення. Усі три рядки належать одній сесії оболонки:

umask 077  # applies to files created next, so keep the next line in this shell
wg genkey | tee privatekey | wg pubkey > publickey
wg pubkey < privatekey  # re-derive and compare with publickey

wg genkey записує 32-байтовий приватний ключ Curve25519 у base64; wg pubkey читає його й виводить відповідний публічний ключ, а tee зберігає приватне значення, передаючи його далі конвеєром. Саме цей порядок пояснює, чому рядок прав іде першим і чому вставляння конвеєра в другий термінал тихо його втрачає. Назви файлів наведено для прикладу, і важливо те, що обидва файли потрапляють туди, де їх контролює пристрій-власник. Якщо приватний файл уже існує зі стандартними правами, chmod 600 privatekey виправляє поточний файл і нічого не робить із копіями, зробленими раніше.

Тримайте приватну половину на одному пристрої

Приватне значення належить машині, яка володітиме ідентичністю, у каталозі, який ця машина захищає і який її резервні копії трактують як облікові дані. Йому не місце в спільній папці, у повідомленні самому собі чи у фрагменті, долученому до звернення в підтримку, а вбудована копія робить файл конфігурації рівно настільки ж чутливим, як ключ. Ключ, що пожив у трьох місцях, потім неможливо осмислити, і це практична причина тримати його в одному.

Навмисне знищення виведеного з ужитку файлу — частина тієї самої звички. Залишати його в папці завантажень, доки хтось не помітить, — ні.

Що оператору партнера потрібно від вас

Іншій стороні потрібні публічне значення й схема адрес, яку вибрав її оператор, і більше нічого. Надішліть цей публічний рядок тим каналом, якого чекає оператор, потім підтвердьте, до якого запису партнера його прикріпили, перш ніж хтось його перевірить, бо правильний ключ не в тому розділі зазнає невдачі так, що це виглядає як проблема з ключем. Надсилайте його одним неперенесеним рядком, бо ключ, розірваний на два рядки, без заперечень вставляється у файл конфігурації і потім ніколи не збігається.

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

Перевірте пару справжнім обміном

Пара ключів ідентифікує один кінець тунелю; вона не створює ні маршруту, ні запису розв'язувача, ні правила пересилання, ні дозволу в міжмережевому екрані. Після підготовки партнера перевіряйте обмін, а не файл: рукостискання, що з'являється в wg show, адресу, яка відповідає всередині тунелю, і один запит застосунку, що залежить від маршруту. Ця трійка відділяє неправильний ключ від правильного ключа й від відсутнього шляху.

Тримайте одну ідентичність на пристрій, коли розгортання це дозволяє, щоб втрачений вузол можна було відкликати окремо, а не змушувати всіх заново створювати ключі. Це рішення також робить процедуру заміни нижче безпечною для виконання.

Заміна ключа без розриву

Створіть заміну на пристрої, додайте новий публічний ключ як додаткового партнера, підтвердьте, що він несе трафік, і лише тоді видаліть старий. Дія в такому порядку означає, що тунель ніколи не має миті без чинної ідентичності, а відкат — це просто видалення щойно доданого запису.

Тримайте замінений приватний файл, доки нового партнера не підтверджено, потім навмисно знищте його. Швидкий старт WireGuard — це довідка із самих команд, і він досить короткий, щоб прочитати його повністю перед початком.

Схожі статті