Il-prefiss tal-host f’WireGuard: għaliex indirizz wieħed jaħdem u l-bqija le
/32 fuq l-interface huwa prefiss tal-host validu u jirrotta biss dak l-indirizz wieħed. Żid ir-rotta li timplika AllowedIPs, imbagħad iċċekkja l-passaġġ lura.
It-tunnel huwa attiv, il-handshake iseħħ kull żewġ minuti, u eżattament indirizz wieħed fuq in-naħa l-oħra jwieġeb. Il-pings lejn l-indirizz tat-tunnel tal-peer jaħdmu; xejn warajh ma jaħdem. Xi ħadd jaqra l-konfigurazzjoni tal-interface, jara prefiss tal-host u jikkonkludi li l-maskra hija ħażina. It-twessigħ tagħha għal /24 isewwi l-ping għal ftit u mbagħad ikisser xi ħaġa oħra. Il-prefiss qatt ma kien il-problema, u r-rotta li kienet nieqsa mhijiex dik li tikkontrolla l-maskra.
X’joħloq fil-fatt il-prefiss tal-interface
Fuq Linux, l-assenjazzjoni ta’ indirizz lil interface toħloq rotta konnessa għal dak il-prefiss. Jekk tassenja prefiss tal-host, ir-rotta konnessa tkopri indirizz wieħed. Jekk tassenja /24, tkopri 256, u kull wieħed minnhom issa jitqies bħala li jista’ jintlaħaq fuq dik il-link.
ip -4 addr show dev wg0
ip -4 route show dev wg0
ip route get 10.80.7.1
Prefiss tal-host huwa għażla kompletament normali għal tunnel punt sa punt, għax hemm eżattament peer wieħed fit-tarf l-ieħor. It-tielet kmand huwa dak li jwieġeb il-mistoqsija tal-utent: jgħid liema interface l-kernel juża għal dak id-destinazzjoni, u mhux se juri xejn utli jekk l-ebda rotta ma taqbel.
Dik hija l-ispjegazzjoni kollha tas-sintomu. Indirizz wieħed iwieġeb għax teżisti rotta konnessa għalih, jew għax il-lista permessa tal-peer tiġi tinkludih. Kull ħaġa oħra m’għandha l-ebda rotta u tiġi mwarrba qabel ma WireGuard ikun involut. It-tunnel jibqa’ f’saħħtu tul il-ħin kollu, u għalhekk il-kontatur tal-handshake jibqa’ jidher inkuraġġanti.
AllowedIPs huma żewġ regoli taħt isem wieħed
Il-lista permessa għal kull peer ta’ WireGuard tagħmel żewġ xogħlijiet fl-istess ħin, u s-sintassi tal-konfigurazzjoni tagħmilhom jidhru bħala wieħed. Fl-ingress, tawtorizza liema indirizzi sors peer jista’ jippreżenta. Fl-egress, tagħżel liema peer jintbagħat pakkett lejh, billi ssib l-aktar qbil speċifiku.
L-ebda mix-xogħlijiet mhu routing. Il-kernel xorta jrid jiddeċiedi li pakkett jappartjeni għall-interface tat-tunnel qabel ma WireGuard iħares lejh, u dik id-deċiżjoni tiġi mit-tabella tar-routing. Entrata ta’ peer b’lista permessa wiesgħa ma tinstallax rotta waħedha.
Għalhekk konfigurazzjoni tista’ tidher kompluta u tġib ruħha b’mod assimetriku. Il-klijent jibgħat lejn in-naħa l-oħra għax teżisti rotta, u t-tweġibiet qatt ma jaslu għax il-lista permessa tan-naħa l-oħra ma tawtorizzax is-sors tal-klijent, jew għax in-naħa l-oħra m’għandhiex passaġġ lura. Iż-żewġ direzzjonijiet huma deċiżjonijiet separati b’mod ta’ falliment separat. Li tikteb liema waħda qed tittestja hija nofs id-dijanjosi.
Minn fejn tiġi r-rotta
Jekk tuża wg-quick, ir-rotot jiġu ġġenerati għalik mil-lista permessa ta’ kull peer, sakemm ma tkunx issettjajt Table = off u ħadt il-kontroll lilek innifsek. Dan huwa l-imġiba dokumentata mill-għodda, u huwa r-raġuni għaliex konfigurazzjoni mingħajr direttivi espliċiti tar-rotta xorta taħdem.
sudo wg show wg0 allowed-ips
ip route show | grep wg0
sudo wg-quick strip wg0
Qabbel il-lista permessa mar-rotot li fil-fatt hemm. Peer li jippermetti subnet sħiħ iżda pproduċa biss rotta tal-host ifisser li l-għajnuna qatt ma damet, jew li qed tamministra l-interface direttament b’wg u ip, u f’dan il-każ xejn qed jiġġenera rotot għalik.
Meta tamministraha bl-idejn, ir-rotta hija linja waħda u l-forma tagħha hija espliċita: id-destinazzjoni mill-interface, mingħajr gateway għax il-link hija punt sa punt. Li żżidha mhijiex soluzzjoni ta’ aħħar għal prefiss ħażin; hija n-nofs nieqes ta’ disinn li għażel li jamministra r-routing huwa stess.
Prefiss usa’ ma jżidx l-entrata tal-peer
Il-fejqan li jħajrek huwa li tbiddel l-indirizz għal /24 sabiex ir-rotta konnessa tkopri l-LAN tas-server. Jidher li jaħdem, u r-raġuni li jidher li jaħdem hija li r-rotta konnessa issa taqbel, mhux li WireGuard tgħallem xi ħaġa ġdida.
Dak li għamilt ukoll huwa li tallega l-firxa kollha bħala direttament aċċessibbli fuq dik il-link, inklużi indirizzi li jappartjenu għal peers oħra jew għal LAN li fil-fatt tinsab wara s-server. It-traffiku lejn dawk l-indirizzi issa jidħol fit-tunnel, u jekk joħroġx min-naħa l-oħra jiddependi mir-routing u l-listi permessi tas-server innifsu.
In-naħa kriptografika mhijiex affettwata b’xi mod. WireGuard għadu jeħtieġ entrata fil-lista permessa li tkopri d-destinazzjoni biex jagħżel peer, u n-naħa l-oħra għadha teħtieġ entrata li tkopri s-sors tiegħek biex taċċettah. Prefiss tal-interface usa’ ma jistax jipprovdi l-ebda waħda minnhom.
Ikkonferma ż-żewġ direzzjonijiet qabel ma tbiddel xi ħaġa
Aħdem iż-żewġt trufijiet separatament u ikteb x’jgħid kull wieħed. Fuq il-klijent, ir-rotta u l-entrata tal-peer; fuq is-server, ix-xbieha fl-ispejj u l-passaġġ lura tiegħu stess:
ip route get 192.168.70.20
sudo wg show wg0 allowed-ips
sudo wg show wg0 latest-handshakes
sudo tcpdump -ni wg0 -c 10
Il-qabda hija dik li ssolvi t-tilwim dwar id-direzzjoni. Jekk pakketti li joħorġu jidhru fuq l-interface tat-tunnel u s-server ma jirreġistrax xejn, it-tarf imbiegħed qed jiċħadhom, normalment għax is-sors tiegħek huwa barra mil-lista permessa tiegħu. Jekk xejn ma jidher għal kollox, ir-rotta hija nieqsa jew qed tipponta x’imkien ieħor.
Imbagħad sewwi l-iktar tarf dejjaq. Entrata fil-lista permessa fuq in-naħa tas-server għall-indirizz tal-klijent tiegħek u entrata fuq in-naħa tal-klijent għas-subnet tad-destinazzjoni hija l-forma normali, u din tħalli l-prefiss tal-interface waħdu. Wessa’ l-prefiss biss jekk il-pjan tal-indirizzi verament irid subnet kondiviż fuq dik il-link, u agħmilha bħala bidla fil-pjan minflok bħala pass tad-debugging.