Heimaboxið opnar göngin og nær í skýjaþjóninn án vandræða. Skýjaþjónninn getur náð í heimaforritið í eina eða tvær mínútur eftir að heimaboxið sendi síðast eitthvað, og hættir svo. Ekkert birtist í WireGuard-skánni, engin handabandsskekkja er tilkynnt, og endurræsing ganganna lagaði það í smástund. Þetta mynstur er kortlagning sem rennur út, ekki bilað göng, og leiðarvísirinn hér að neðan staðfestir það áður en nokkuð er breytt.

Staðfestið að mynstrið sé útrennsli við aðgerðaleysi

Það sem greinir þetta að er tímasetningin. Ef öfuga tengingin virkar strax eftir að heimajafningurinn sendir umferð og bregst eftir hljóðláta lotu, er leiðin í lagi og ástandið í miðjunni ekki. Ef hún virkaði aldrei, jafnvel strax eftir umferð, er þetta röng greining.

sudo wg show wg0 latest-handshakes
sudo wg show wg0 endpoints
sudo wg show wg0 transfer

Keyrið fyrstu tvö strax eftir að heimajafningurinn sendir eitthvað, bíðið í fimm mínútur og keyrið þau aftur. Handabandstímastimpill sem endurnýjast samkvæmt áætlun án nýs endapunkts segir þér að göngin séu á lífi. Það sem breyttist er getan óumbeðinna pakka til að berast utan frá, sem er eiginleiki leiðarinnar en ekki ganganna.

Gerðu þá öfugt tilraun og fylgstu með flutningsteljunum. Ef skýjahliðin sendir bæti og heimahliðin fær ekkert, þá yfirgaf pakkinn skýið og dó í tæki sem geymir ástand á leiðinni. Þetta er undirskriftin sem þú ert að leita að. Ef báðir teljararnir hreyfast hefur göngin skilað pakkanum og forritið er grunnaðili.

Setjið keepalive á jafningjann fyrir aftan beinann

Varanleg keepalive halda NAT-kortlagningu og hvaða eldveggsástandi sem er á lífi með því að senda lítinn auðkenndan pakka samkvæmt áætlun. Stillingin tilheyrir vélinni fyrir aftan beinann, í færslunni hennar fyrir fjarlæga jafningjann, því það er hliðin sem skapar ástandið með útsendan pakka sínum.

[Peer]
PublicKey = <cloud peer public key>
AllowedIPs = 10.71.0.1/32
PersistentKeepalive = 25

Sameinið það við núverandi jafningjahluta. Að bæta við öðrum blokk með sama opinbera lykli er ekki gild leið til að bæta við valkostum, og wg-quick mun ekki sameina þá fyrir þig. Skjalfestu 25 sekúndurnar eru dæmi valið til að liggja undir algengum UDP-tímamörkum, ekki gildi með sérstaka merkingu.

Að setja sömu skipunina á skýjahliðina hjálpar ekki þessu vandamáli. Pökkum þess jafnings berast þegar frá opinberu vistfangi, svo ekkert kortlagning er til að varðveita í þá átt sem skiptir máli. Það bætir við umferð og breytir engu.

Lesið tímateljarana í stað þess að giska á bil

Keepalive virka vegna þess að þau berast oftar en ástandið rennur út. Það gerir tímamörkin að tölunni sem þú þarft í raun, og á Linux er hægt að lesa hana á tækinu sem gerir þýðinguna:

sysctl net.netfilter.nf_conntrack_udp_timeout
sysctl net.netfilter.nf_conntrack_udp_timeout_stream
sudo conntrack -L -p udp --dport 51820

Fyrsta gildið er tímamörkin fyrir UDP-straumi sem hefur aðeins sést í aðra átt, og annað gildir þegar svör hafa sést. Bæði eru venjulega stutt, og kortlagning sem þagnar mun fylgja því sem á við strauminn þinn.

Berðu þessa tölu saman við bilið þitt. Keepalive upp á 25 sekúndur undir 30 sekúndna tímamörkum virkar; sama keepalive undir 15 sekúndna tímamörkum virkar ekki. Engin endurtekning breytir þeirri reikningu. Sumir neytendabeinar og farsímafyrirtæki nota mun styttri gildi en Linux-sjálfgefið, þess vegna bregst stilling sem virkar á einu neti á öðru.

ObservationWhat it meansReasonable response
Works after traffic, dies when idleMapping or firewall state expiringLower the keepalive interval
Never works, even immediatelyNo return route, listener or firewallStop tuning keepalive
Works for hours, then dies onceCarrier-side translation or address changeCheck the endpoint and logs together

Skoðið hlustandann og eldvegginn hvort í sínu lagi

Lifandi kortlagning er nauðsynleg og ekki nægjanleg. Forritið á heimaboxinu verður að hlusta á rétta vistfangið, og eldveggur hýsilsins verður að leyfa pakkann eftir að hann hefur verið afkóðaður.

sudo ss -lntup | grep 8080
sudo wg show wg0 allowed-ips
curl -sS -m 5 http://10.71.0.2:8080/health

Ef sambandið er aðeins bundið við vistfang líkamlega viðmótsins en ekki vistfang ganganna, eru pökkum sem berast um göngin hent áður en spurt er um eldvegginn. Sú bilun lítur frá skýjahliðinni nákvæmlega út eins og kortlagningarvandamál, og hún lifir af hverja keepalive-aðlögun.

Athugun leyfða listans er jafn mikilvæg í hina áttina. Skýjajafningurinn verður að leyfa vistfang heimaganganna sem uppruna ef hann á að svara, og heimajafningurinn verður að leyfa skýjavistfangið sem áfangastað. Keepalive-pakkar eru auðkennd umferð og beita sömu reglum, þess vegna getur keepalive sem virðist virka verið til við hlið forrits sem virkar ekki.

Rullið breytingunni út og þekkið takmörk hennar

Beitið stillingunni, endurræsið viðmótið ef það er uppfærsluaðferðin þín, og endurtakið svo aðgerðaleysisprófið í stað tafarlausa prófsins. Bíðið lengur en tímamörkin sem þú las áðan, gerið öfuga beiðni og staðfestið að teljararnir hafi hreyfst á báðum endum.

Skrifið bilið og mældu tímamörkin við hliðina á. Framtíðarbreyting á fastbúnaði beinans, eða flutningur yfir á farsímatengingu, getur breytt tímamörkunum. Athugasemdin er það sem gerir einhverjum kleift að leiða gildið aftur út í stað þess að afrita það. Tvær tölur á einni línu spara heila rannsókn síðar.

Varanleg keepalive vernda ástand. Þau opna ekki port, þau bæta ekki færslu við leyfða listann og þau láta engan hlustanda birtast. Þegar öfuga tengingin virkar alls ekki er sökin ein af þessum þremur, og hraðleiðsögn WireGuard lýsir keepalive-stillingunni á sömu þröngu skilmálum.

Tengdir greinar