Большасць памылак у самастойна сабраным WireGuard зводзіцца да таго, які ключ куды патрапіў. Раздзел інтэрфейса змяшчае прыватны ключ прылады, якую вы наладжваеце, а раздзел суразмоўцы — публічны ключ машыны на другім канцы. Калі памяняць гэтыя паловы або ўставіць не тую, атрымаецца handshake, які ніколі не завяршаецца, і журнал, які ніколі не называе ключ. Выканайце чатыры праверкі ніжэй па чарзе, перш чым чапаць AllowedIPs або DNS.

Два ключы, два кірункі

Прыватны ключ належыць роўна адной прыладзе і застаецца ў раздзеле інтэрфейса гэтай прылады. Яго публічная палова — тое, што патрэбна кожнаму іншаму суразмоўцу, каб пазнаць прыладу, і інструменты выводзяць яе, а не выдумляюць. На серверы публічны ключ вашай прылады выглядае як запіс суразмоўцы, а на вашай прыладзе гэтую ролю займае публічны ключ сервера. Чытанне канфігурацыі ўголас у такіх тэрмінах ловіць большасць блытанін яшчэ да handshake.

Каманда wg друкуе тое, што лакальны інтэрфейс фактычна выкарыстоўвае, уключна з абодвума публічнымі ключамі. Гэта робіць яе самым хуткім спосабам аддзяліць памылку канфігурацыі ад праблемы злучэння:

wg show
wg show interfaces

Першы вывад пералічвае кожнага суразмоўцу з яго публічным ключом, канцавым пунктам, які ён выкарыстоўваў апошнім, і узростам апошняга handshake. Узрост handshake «ніколі» з аднаго боку і нядаўні з другога паказвае на ключ, які прыняў толькі адзін канец. Другая каманда называе інтэрфейсы, якія можна даследаваць далей.

Што перадаваць і што ніколі не перадаваць

Публічны ключ прызначаны для перадачы, хоць ён усё яшчэ ідэнтыфікуе сувязь прылад, таму адправіць яго адміністратару, які папрасіў, — не тое самае, што апублікаваць. Прыватны ключ ніколі не пакідае прыладу, якая яго стварыла. Экспартаваны профіль або QR-код змяшчае ўсю канфігурацыю разам з гэтым прыватным ключом, таму ні адзін з іх не бяспечна перадаваць, і хаванне тэксту ў выяве нічога не змяняе. Папярэдне агульныя ключы неабавязковыя і гэтак жа сакрэтныя, і абодва канцы павінны мець аднолькавае значэнне, інакш handshake спыняецца на гэтым этапе.

Яшчэ адно адрозненне варта сказаць проста: канцавы пункт — гэта адрас і порт, ніколі не ключ. Устаўка публічнага ключа ў поле канцавога пункта або адраса ў поле ключа стварае профіль, які разбіраецца, а потым нічога не робіць. Інструменты гэтага не зловяць, бо абодва палі — проста радкі. Хуткі старт WireGuard паказвае канвеер генерацыі і вываду ў адзін радок.

Адна прылада, адзін запіс суразмоўцы

Там, дзе служба гэта дазваляе, кожная прылада павінна мець уласную ідэнтычнасць суразмоўцы. Устаўка поўнага профілю ноўтбука ў тэлефон размывае, якая прылада трымае гэтую ідэнтычнасць на серверы, і робіць адкліканне аднаго згубленага тэлефона цяжэйшым. Калі прыватны ключ уцякае, выдаліце старое разрозненне суразмоўцы на серверы і падрыхтуйце замену. Выдаленне лакальнага файла не выдаляе запіс сервера, і новы кліенцкі ключ нікому не дапаможа, пакуль сервер не ведае яго публічную палову.

Трымайце адпаведнасць прылады і публічнага ключа побач са спісам адрасоў. Менавіта гэты спіс ператварае адкліканне ў двуххвілінную задачу замест цэлага паўдня.

Што ўсё яшчэ ламаецца пасля handshake

Пары ключоў ідэнтыфікуюць суразмоўцаў; яны не вырашаюць сеткавыя паводзіны. AllowedIPs звязвае дыяпазоны адрасоў з суразмоўцам, а маршрутамі вакол гэтага кіруе кліент або інструмент наладкі. Сімптом звычайна кажа, які пласт адкрываць далей:

What you seeWhich key problem it usually meansWhere to look first
Handshake age stays at never on both endsPeer public key missing, or an endpoint pointing at nothingwg show, then the endpoint value
Handshake completes on one side onlyThe two ends hold different public keys for each otherwg show on both hosts
Handshake works, then no trafficAllowedIPs or routes rather than keyswg show and the route table
Worked until a key was regeneratedThe peer entry still holds the old public keyCompare both public keys, then update the peer

DNS можа адмовіць пасля таго, як абодва бакі правільна аўтэнтыфікуюцца, а праграма можа зламацца, калі сам тунель здаровы, таму працоўны handshake — не канец дыягностыкі. Ключы таксама нічога не кажуць пра практыку аператара па лагаванні ці пра тое, ці пазнае сайт ваш уліковы запіс, і гэтыя пытанні належаць у іншае месца. Пераходзьце да сеткавых пластоў, калі чатыры праверкі пройдзены, бо адсутны ключ — не замаскіраваная праблема маршрутызацыі.

Падобныя артыкулы