Jinsi ya kujenga jaribio la WireGuard la wenzao wawili linalothibitisha njia moja
Handaki moja, jozi moja ya anwani, rasilimali moja iliyoruhusiwa. Msingi mdogo wa WireGuard hufanya kila mabadiliko ya baadaye ya forwarding, NAT au DNS yaonekane.
Jaribio la WireGuard linalobeba njia chaguo-msingi, kiambishi cha LAN, DNS na msamaha wa firewall haliwezi kukuambia ni kipi kati yao kilichovunjika. Punguza hadi wenzao wawili, jozi moja ya anwani na huduma moja iliyoruhusiwa, na hitilafu haina mahali pa kujificha. Msingi wenye kuchosha ndio utambuzi. Ujenge kwanza; huchukua dakika kumi na tano na huokoa mchana ambao ungeutumia kukisia.
Kinachothibitishwa na msingi ni chembamba kuliko wengi wanavyotarajia. Unathibitisha kwamba utambulisho wawili wanakubaliana, kwamba UDP inafikia bandari ya kusikiliza na kwamba lengo moja lililoruhusiwa linabeba ombi. Uhamishaji, NAT, njia za LAN na DNS ni vipengele tofauti vinavyoongezwa baadaye, kimoja kimoja.
Funguo, anwani na endpoint moja
Tengeneza jozi ya funguo kwenye kila mfumo na uhamishe kati yao nusu za umma tu. wg genkey | tee privatekey | wg pubkey > publickey ni amri ya mstari mmoja iliyoandikwa, na huacha ufunguo wa faragha katika faili unayoweza kuilinda baadaye. Chagua anwani za handaki kutoka safu isiyoonekana katika usanidi mwingine wowote ulio nao, kama vile 10.99.0.1/24 na 10.99.0.2/24. Andika ni anwani gani ni ya mashine gani, kwa sababu kila ukaguzi wa baadaye unategemea ramani hiyo.
Funguo za faragha hazisafiri kamwe. Ikiwa jaribio linahitaji moja kunakiliwa upande mwingine, jaribio tayari limekwenda vibaya. Wakati mifumo miwili iko nyuma ya NAT, angalau mmoja unahitaji bandari ya UDP inayofikika huku mwingine ukibeba Endpoint inayoelekea humo, na anwani na bandari za umma ni za maelezo yako, si za dhana zako kuhusu 51820.
Uhamishaji wa bandari unaoweka bandari nyingine ya nje hufanya kazi vizuri mradi Endpoint inalingana nayo. Tofauti hapa huzalisha ukimya badala ya makosa, ndiyo sababu inafaa kuzikagua kwenye karatasi kabla ya kutafuta hitilafu kwenye waya.
Sehemu zinazohusiana na wg na zisizohusiana
Seti kuu ya sehemu ni ndogo: PrivateKey na ListenPort chini ya Interface, PublicKey, AllowedIPs na Endpoint chini ya Peer. Address na DNS ni za wg-quick si wg yenyewe, na tofauti hiyo inauma wakati usanidi huo unahamia kwenye chombo kingine.
[Interface]
PrivateKey = <peer-a-private>
Address = 10.99.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <peer-b-public>
AllowedIPs = 10.99.0.2/32
Endpoint = 203.0.113.10:51820
AllowedIPs hubeba kazi mbili kwa wakati mmoja. Huchagua ni maeneo gani yanaingia handakini, na huidhinisha mwenza kutumia anwani hizo za chanzo anapofika. Ndiyo sababu ingizo la kioo upande mwingine lazima litaje anwani ya handaki lako kwa usahihi; /32 kwa mwenza asiye sahihi husomwa kama tatizo la njia na hujiendesha kama tatizo la idhini. Uanzishaji wa haraka wa WireGuard unaonyesha umbo lile lile la wenzao wawili kwa maneno ya kawaida ikiwa unataka kulinganisha majina ya sehemu.
Kusoma handshake badala ya aikoni
Inua kiolesura kupitia kile kinachokimiliki, kisha soma hali badala ya taa ya hali. wg show huchapisha handshake ya hivi karibuni kwa kila mwenza pamoja na vihesabu vya baiti, na handshake ndani ya dakika chache zilizopita inamaanisha funguo, endpoint na njia ya UDP zote zinafanya kazi. Kihesabu kinachopanda upande mmoja tu ni jibu lake lenyewe, na si hitilafu ile ile kama handshake isiyotokea kamwe.
Hitilafu mbili zinaashiria uchunguzi tofauti. Kutokuwepo kabisa kwa handshake kunaonyesha kutolingana kwa funguo, Endpoint isiyo sahihi, UDP iliyozuiwa au firewall inayotupa handshake yenyewe. Handshake inayofaulu wakati data haendi popote inaonyesha AllowedIPs, huduma isiyosikiliza kwenye anwani ya handaki, au firewall ya mwenyeji inayokubali bandari kwa LAN lakini si kwa kiolesura cha handaki. Hizi ni nusu tofauti za mfumo, na msingi huzitenganisha kabla ya kuanza kubadilisha kanuni.
Kuthibitisha huduma moja iliyoruhusiwa, kisha kinyume chake
Tuma ombi kwenye anwani ya handaki ya mwenza mwingine kwenye huduma inayopaswa kujibu, na chagua kitu bora kuliko ping. Jibu la ICMP lisilopo linaweza kuwa uchujaji wa mwenyeji si hitilafu ya handaki, kwa hiyo ping ya kimya haithibitishi upande wowote. Muunganisho wa TCP kwenye bandari unayojua imefunguliwa, au ombi linalorudisha data, hukupa jibu unaloweza kulifasiri.
Endesha upande wa kinyume kama jaribio tofauti lenye matokeo yake, kwa sababu pande mbili zina maingizo tofauti ya firewall na AllowedIPs na zinaweza kushindwa kwa kujitegemea. Ikiwa handshake inafanya kazi na ombi halifanyi, tatizo liko kwenye njia ya data si kwenye handaki: AllowedIPs, huduma inayosikiliza au firewall ya mwenyeji. Rekebisha hilo kabla ya kuongeza forwarding, NAT au DNS, la sivyo utatumia mchana kutafuta hitilafu kwenye kipengele ambacho hakikuwa na hatia kamwe.
Kudumisha msingi kama rejeleo
Hifadhi topolojia inayofanya kazi na chanzo cha wasifu mahali unapoweza kurejesha, na uziweke nje ya folda yoyote inayosawazishwa na huduma ya umma. Kisha ongeza kipengele kimoja kwa wakati, ukirudia ombi la awali baada ya kila kimoja: forwarding, NAT, njia ya LAN na kisha tu DNS. Kila nyongeza inayovunja jaribio sasa inatambulika, kwa sababu hakuna kingine kilichosogea.
Msingi unaofanya aikoni kuwa kijani pekee haukukuambia chochote kuhusu nyongeza gani ilisababisha hitilafu inayofuata. Dumisha njia moja iliyoruhusiwa ikifanya kazi kama rejeleo, na kila mabadiliko ya baadaye hupimwa dhidi yake.