Þráður í stuðningi endar með úrskurðinum „samhverft NAT, VPN mun ekki virka hér“, og þá er biðlarinn enduruppsettur þrisvar án ástæðu. Merkimiðinn veldur skaða því hann svarar spurningu sem enginn lagði fram. Biðlari sem tengist út á við við fastan þjón býr til vörpun um leið og hann sendir fyrstu pakkann, og svarinu er hleypt til baka samkvæmt reglum sem nánast hvert net innleiðir. Það sem vörpun sem fer eftir endapunkti flækir í raun er tveir jafningjar sem reyna að ná hvor til annars á sama tíma, og það er önnur prófun.

Tvær spurningar leynast bak við einn merkimiða

Fyrsta spurningin er hvort hýsill bak við þetta net geti opnað lotu að þekktu opinberu vistfangi og porti. Fyrir göngubiðlara er það venjulega tilfellið, og svarið er nánast alltaf já. Beinirinn skráir innra upphafið, úthlutar ytra porti og hleypir svarinu í gegn því það tilheyrir lotu sem hófst innan frá.

Önnur spurningin er hvort tveir hýslar bak við mismunandi net geti fundið sameiginlega leið og sent hvort til annars án þjóns í miðjunni. Það fer eftir því hvernig hvert net úthlutar þessum ytri portum, og það er eini staðurinn þar sem hegðun vörpunarinnar skiptir máli.

Að rugla þessu tvennu framleiðir hina klassísku ranggreiningu: jafningjaeiginleiki bregst, einhver keyrir NAT-gerðarpróf, sér versta flokkinn og ályktar að venjulegu göngin geti heldur ekki virkað. Göngin voru aldrei það sem brást.

Vörpun og síun eru aðskildir eiginleikar

Hugtakanotkun RFC er nákvæmari en nöfnin sem birgjar nota, og það borgar sig að færa hana inn í miðann því hún leysir deilur. Vörpun er hvernig ytra portinu er úthlutað. Síun er hvaða innkomu-pökkum er hleypt í gegn. Net getur verið strangt í öðru og frjálslegt í hinu, og sú samsetning er það sem jafningjasamskiptaregla verður að lifa af.

BehaviourWhat it meansEffect on a direct peer path
Endpoint-independent mappingOne external port for every destinationDiscovery works if the port is advertised
Address-dependent mappingNew port per remote addressWorks only if both sides probe the same pair
Address-and-port-dependentNew port per remote address and portUsually needs a relay

Þriðja röðin er það sem flestir neytendabeinir og farsímafyrirtæki meina með samhverfu. Athugaðu að merkimiðinn lýsir aðeins úthlutuninni. Net með þá vörpun og frjálslega síun getur samt tekið við innkomu-pökkum á portið sem það úthlutaði rétt í þessu, og þess vegna tekst gataholun á sumum þeirra en mistekst á öðrum.

Síun hefur sín eigin þrjú tilfelli og sitt eigið heiti fyrir hvert. Að skrifa „samhverft NAT“ í miða þegar átt er við „síun sem fer eftir vistfangi og porti“ sendir næstu manneskju í rangan kafla handbókarinnar. Þau tvö hegða sér öðruvísi í prófun, svo mistökin eru ekki fræðileg.

Mældu vörpunina í stað þess að nefna hana

Þú getur fylgst með úthlutaða portinu beint frá þjónshlið hvaða UDP-þjónustu sem þú stýrir. Byrjaðu upptöku á opinbera hýslinum, sendu frá biðlaranum og lestu upphafsportið sem pakkinn kom með:

sudo tcpdump -ni eth0 -c 10 'udp port 51820'
sudo wg show wg0 endpoints
sudo conntrack -L -p udp --dport 51820

Endapunktarlínan er gagnlegust af þremur, því WireGuard skráir síðasta vistfang og port sem það fékk frá hverjum jafningja. Berðu það port saman við það sem biðlarinn heldur að hann noti. Þau munu vera frábrugðin hvenær sem einhver þýðing á sér stað, og mikilvæga spurningin er hvort gildið haldist stöðugt.

Endurtaktu athugunina gagnvart öðru áfangaporti eða öðrum þjóni og berðu saman aftur. Ef ytra portið breytist eftir áfangastað fer vörpunin eftir vistfangi og porti. Ef það haldist óbreytt gefur netið þér eina vörpun og uppgötvunin á séns.

STUN-tól tilkynna sömu flokkun í einu skrefi, og þau má nota þegar netið leyfir útleiðandi UDP að opinberum STUN-þjóni. Þegar það leyfir það ekki virkar upptökuaðferðin hér að ofan enn og krefst einskis annars en hýsils sem þú stýrir þegar.

Veldu viðgerð sem passar við bilunina

Ef eiginleikinn sem bregst er jafningjaeiginleiki eru studdu svörin endursending, fundarþjónusta sem báðir jafningjar ná til, eða önnur skipan. TURN er til einmitt fyrir þetta, og vara sem fylgir eigin endursendingu segir þér að hún eigi von á því að sum net séu fjandsamleg.

Ef eiginleikinn sem bregst er venjuleg göng er hegðun vörpunarinnar ekki þitt vandamál og ekkert af ofangreindu á við. Athugaðu að biðlarinn sendi í raun, að þjónninn sjái pakkann og að svarið komi til baka. Sú röð eru þrjár athuganir og hún krefst þess ekki að vita neitt um NAT-flokk beinisins.

Það sem virkar ekki er að dreifa staðbundnum portbreytingum þar til eitthvað tengist. Að breyta upphafsporti biðlarans breytir ekki hvernig netið úthlutar vörpunum. Tilviljanakennd velgengni í fimmstu tilraun er falskt jákvætt og verður vitnað í sem viðgerð í marga mánuði.

Skráðu arkitektúrinn, ekki úrskurðinn

Gagnleg athugasemd segir hvaða samskiptaregla, í hvaða átt lotan byrjar, hvort endursending er á leiðinni og hvað sást á vírnum. „samhverft NAT, virkar ekki“ er ónothæft því það er samtímis rangt um göngin og upplýsingalaust um leið jafningjans.

Hafðu mælda portstöðugleika og síunarhegðun með ef þú prófaðir þau. Þessar tvær staðreyndir gera öðrum kleift að spá fyrir um hvort nýr eiginleiki muni virka á því neti án þess að endurtaka alla rannsóknina. Þær eldast líka betur en birgjastig sem þýðir eitthvað örlítið annað á hverri hjálparsíðu.

Að lokum skaltu hafa hugtakanotkun RFC 4787 við höndina þegar þú skrifar þetta. Að nota nákvæmu hugtökin kostar eina setningu og kemur í veg fyrir að næsti lesandi endurtaki sömu ranggreiningu, og það er allur tilgangurinn með að skrifa athugasemdina.

Tengdir greinar