Частен ключ тук, публичен ключ там: ключове на WireGuard
Частният ви ключ остава на устройството; записът на партньора пази публичния ключ на другата страна. Споделяйте само публичната половина и давайте на всяко устройство собствена идентичност.
Повечето повреди при ръчно сглобен WireGuard се свеждат до това кой ключ къде е попаднал. Секцията на интерфейса носи частния ключ на устройството, което конфигурирате, а секцията на партньора носи публичния ключ на машината от другата страна. Разменянето на тези половини или поставянето на грешната води до handshake, който никога не завършва, и до журнал, който никога не назовава ключ. Изпълнете четирите проверки по-долу по ред, преди да пипате AllowedIPs или DNS.
Два ключа, две посоки
Частният ключ принадлежи точно на едно устройство и остава в секцията на интерфейса на това устройство. Публичната му половина е това, което всеки друг партньор трябва да има, за да разпознае устройството, и инструментите я извеждат, вместо да я измислят. На сървъра публичният ключ на вашето устройство се появява като запис на партньор, а на вашето устройство тази роля изпълнява публичният ключ на сървъра. Прочитането на конфигурация на глас с тези термини хваща повечето обърквания, преди да стигнат до handshake.
Командата wg отпечатва това, което локалният интерфейс всъщност използва, включително двата публични ключа. Това я прави най-бързият начин да отделите грешка в конфигурацията от проблем със свързаността:
wg show
wg show interfaces
Първият изход изброява всеки партньор с неговия публичен ключ, крайната точка, която е използвал последно, и възрастта на последния handshake. Възраст „никога“ от едната страна и скорошна от другата сочат ключ, който само един край е приел. Втората команда назовава интерфейсите, които можете да разгледате по-нататък.
Какво да споделяте и какво никога
Публичният ключ е предназначен да бъде предаван, макар че все пак идентифицира връзка между устройства, затова да го изпратите на администратора, който го е поискал, е различно от това да го публикувате. Частният ключ никога не напуска устройството, което го е генерирало. Експортиран профил или QR код съдържа цялата конфигурация, включително този частен ключ, така че нито едно от двете не е безопасно за предаване, а скриването на текста в изображение не променя нищо. Предварително споделените ключове са незадължителни и еднакво секретни, и двата края трябва да носят еднаква стойност, иначе handshake спира на този етап.
Още едно разграничение заслужава да се каже направо: крайната точка е адрес и порт, никога ключ. Поставянето на публичен ключ в полето за крайна точка или на адрес в поле за ключ създава профил, който се разчита и после не прави нищо. Инструментите няма да го хванат, защото и двете полета са просто низове. Бързият старт на WireGuard показва веригата за генериране и извеждане в един ред.
Едно устройство, един запис на партньор
Където услугата го позволява, всяко устройство трябва да носи собствена идентичност на партньор. Поставянето на целия профил на лаптоп върху телефон замъглява кое устройство държи тази идентичност на сървъра и прави отнемането на един изгубен телефон по-трудно. Ако частен ключ изтече, премахнете старото разрешение на партньора на сървъра и осигурете замяна. Изтриването на локалния файл не премахва записа на сървъра и нов клиентски ключ не помага на никого, докато сървърът не знае публичната му половина.
Дръжте съответствието устройство — публичен ключ до списъка с адреси. Този списък превръща отнемането в задача за две минути, а не в цял следобед.
Какво още се чупи след handshake
Двойките ключове идентифицират партньорите; те не решават мрежовото поведение. AllowedIPs свързва диапазони от адреси с партньор, а маршрутите около това се управляват от клиента или инструмента за настройка. Симптомът обикновено казва кой слой да отворите след това:
| What you see | Which key problem it usually means | Where to look first |
|---|---|---|
| Handshake age stays at never on both ends | Peer public key missing, or an endpoint pointing at nothing | wg show, then the endpoint value |
| Handshake completes on one side only | The two ends hold different public keys for each other | wg show on both hosts |
| Handshake works, then no traffic | AllowedIPs or routes rather than keys | wg show and the route table |
| Worked until a key was regenerated | The peer entry still holds the old public key | Compare both public keys, then update the peer |
DNS може да се провали, след като и двата партньора се удостоверят правилно, а приложение може да се провали, докато самият тунел е здрав, така че работещият handshake не е краят на диагностиката. Ключовете също не казват нищо за практиката на оператора по журналиране или дали сайт разпознава акаунта ви, и тези въпроси принадлежат другаде. Преминете към мрежовите слоеве, щом четирите проверки минат, защото липсващият ключ не е прикрит маршрутизационен проблем.