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

Чытанне іх як аднаго статусу — гэта тое, што ператварае двуххвілінную дыягностыку ў цэлую пасляабедзенную пару з перазапускам службаў.

Рукапоціск — падзея партнёра, а не падзея адрасацыі

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

Вось чаму wg show можа паведаміць пра рукапоціск узростам у секунды на інтэрфейсе, які не можа прыняць ніводнага пакета ад праграмы.

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

ObservationWhich layer it belongs toWrong conclusion it invites
Handshake a few seconds oldPeer and keysThe tunnel is usable for application traffic
Address present on wg0Interface configurationTraffic actually egresses through it
Route points at wg0Forwarding tableThe outer packet uses the intended uplink

Адрас інтэрфейса мае свайго ўладальніка

Адрас на тунэльнай прыладзе можа паходзіць з радка Address дапаможніка, з кліента DHCP, які працуе на інтэрфейсе, або з дэмана кіравання, які стварае яго ў момант падключэння. Чым бы ён ні быў, гэты кампанент валодае адрасам і аднавіць яго ці не паводле сваёй логікі. Чытанне адраса без назвы яго ўладальніка пакідае вас без тлумачэння, чаму ён знік.

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

Выберыце аднаго ўладальніка і дазвольце іншаму інструменту назіраць, а не кіраваць. Гэтае рашэнне варта запісаць, бо сімптом з’яўляецца праз тыдні і выглядае як выпадковая страта адраса.

Маршрут выбірае канал, а не інтэрфейс

Унутраны маршрут, які паказвае на wg0, вырашае, што трафік уваходзіць у тунэль. Асобнае рашэнне накіроўвае зашыфраваныя знешнія пакеты да партнёра, і на хосце з некалькімі каналамі гэтае рашэнне паходзіць з табліцы перасылкі і правілаў палітыкі. Wi-Fi-роўмінг можа змяніць знешні шлях, не кранаючы ўнутранага адраса.

Такім чынам, працоўны тунэль і недасяжны партнёр — сумяшчальныя станы, як і слушны партнёр з паламаным унутраным маршрутам. Тры назіранні трэба браць разам, у адзін момант, інакш параўнанне не мае сэнсу.

Параўнайце тры станы за адзін праход

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

ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer

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

Чытайце лічыльнікі разам з адзнакай часу. Рукапоціск, які пастаянна абнаўляецца, пакуль перадача стаіць на месцы, азначае, што партнёр адказвае, але нічога карыснага не праходзіць, і гэта паказвае на маршрутызацыю або ACL, а не на ключы. Адзнака часу, якая перастае расці пры наяўнасці адраса, паказвае ўверх па плыні. Абодва прачытанні паходзяць з аднаго радка вываду, і ні адно не бачнае, калі вы правяраеце толькі наяўнасць рукапоціску.

Выпраўце канкрэтны стан, які няправільны, затым пераправерце праграму, а не тунэль. Свежы рукапоціск — гэта доказ пра партнёра, а доказ пра партнёра не з’яўляецца доказам таго, што наступны запыт з вашага браўзера знойдзе адрас, маршрут і працоўны канал. Кіраўніцтва wg-quick ясна кажа, што з гэтага наладжвае дапаможнік, а што належыць пратаколу.

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