App waħda permezz ta' WireGuard: l-irbit mhux routing
L-irbit ta' app ma' wg0 jistabbilixxi biss l-indirizz tas-sors tagħha. Il-kernel għadu jeħtieġ tabella bir-rotot tal-mina u regola li tibgħat dak is-sors hemmhekk.
Is-setting jidher bħal swiċċ għal kull applikazzjoni, għalhekk in-nies jorbtu l-klijent mal-interface WireGuard u jistennew li jkun biss dak il-klijent li juża l-mina. Dak li fil-fatt jagħmel l-irbit huwa li jagħżel indirizz tas-sors. Imbagħad il-kernel ifittex rotta għad-destinazzjoni, isib ir-rotta default tas-soltu u jibgħat il-pakkett barra mill-link fiżiku bl-indirizz tal-mina mwaħħal miegħu. Hi biss rotta magħżula għal dak l-indirizz tas-sors li tlesti l-intenzjoni.
Il-mekkaniżmu għandu żewġ nofsijiet: tabella tar-routing li għandu juża biss it-traffiku tal-mina, u regola li tibgħat is-sors li jaqbel hemmhekk.
L-irbit jistabbilixxi indirizz tas-sors, xejn aktar
Linux jagħżel interface tal-ħruġ billi jfittex id-destinazzjoni fi tabella tar-routing, wara li r-regoli tal-politika kellhom iċ-ċans li jiddevjau dik it-tfittxija. Ir-regoli jistgħu jagħżlu skont l-indirizz tas-sors, marka tal-firewall, l-interface li tidħol, UID jew saħansitra port; kull waħda hija mod ieħor kif tgħid dan it-traffiku minflok kollu. Il-konfigurazzjoni tal-klijent VPN tagħżel it-tabella li żżomm ir-rotot tal-mina; ir-regola tagħżel liema traffiku tista' jikkonsultaha. L-irbit waħdu ma jipprovdi l-ebda waħda.
Huwa għalhekk li dan il-falliment jidher daqshekk stramb. L-applikazzjoni żgur qed tuża l-indirizz tal-mina, il-mina żgur qed taħdem, u t-traffiku żgur qed joħroġ mill-interface ħażina. Kull dikjarazzjoni hija vera, u flimkien jiddeskrivu sistema fejn xejn ma qabbad l-indirizz mar-rotta.
Agħti lill-mina t-tabella tagħha
wg-quick jinstalla r-rotot fejn jgħid il-profil. Iż-żieda ta' Table = 40 taħt [Interface] iċċaqlaqhom għat-tabella 40 minflok it-tabella prinċipali. Erfa' l-interface u kkonferma li waslu: ip -4 route ls table 40 għandu juri r-rotot tal-mina, u ip -4 route get 10.66.127.142 juri kif il-kernel bħalissa jsolvi waħda minnhom. Bir-rotot fit-tabella tagħhom, it-tabella prinċipali tibqa' taħdem għal kollox ieħor.
Agħmel l-istess għal IPv6 minflok ma tqabbel prefiss wiesa'. ip -6 rule add from fd00::2/128 lookup 40 iwaħħal indirizz wieħed; fc00::/8 jista' jaħbat ma' interfaces oħra fuq il-host u jipproduċi regola li taqbel ma' aktar milli maħsub.
Żid ir-regola tas-sors u ħares lejn il-counter
Imbagħad qabbad iż-żewġ nofsijiet: ip -4 rule add from 10.66.127.142/32 lookup 40, bl-istess indirizz imwaħħal mal-interface WireGuard. Poġġi ż-żewġ regoli f'PostUp sabiex konnessjoni mill-ġdid terġa' tistabbilixxihom. Ivverifika b'talba vera u mhux b'setting: ip route get 1.1.1.1 from 10.66.127.142 għandu jsemmi l-apparat tal-mina, u curl --interface wg0 ifconfig.me għandu jirrapporta l-indirizz tal-mina minflok dak tad-dar.
Meta xorta jonqos, aqra ip -s rule. Regola li teżisti iżda qatt ma qabblet turi counters ta' żero, u dan jiddistingwi regola ħażina minn nuqqas ta' regola. Dak il-kmand wieħed jiffranka ħafna ħsieb dwar jekk l-applikazzjoni injoratx is-setting tal-interface tagħha.
Il-każ oppost: żomm SSH barra mill-mina
Il-problema opposta hija daqstant komuni: wg-quick jippossjedi r-rotta default u is-sessjoni SSH lejn is-server tmut f'nofsha. Ir-regoli tiegħu joqogħdu fuq numru ta' prijorità baxx, għalhekk eċċezzjoni trid tiġi evalwata qabilhom. ip rule add dport 22 ipproto tcp table main priority 123 jagħmel dan fuq iproute2 reċenti; fejn is-selettur mhux disponibbli, immarka l-fluss f'nftables u qabbel il-marka minflok.
Iċċekkja wkoll it-triq tat-tweġiba. Sessjoni SSH li tistabbilixxi ruħha u mbagħad toskot normalment ikollha routing asimmetriku, b'direzzjoni waħda toħroġ mill-mina u l-oħra mill-interface fiżika. ip route get għall-indirizz tas-server jgħidlek liema naħa tmur it-tweġiba.
Innota n-numru tat-tabella, ir-regola tas-sors u l-eċċezzjoni fil-profil innifsu. It-tlieta jappartjenu għal disinn wieħed u se jiġu editati flimkien.