Raspberry Pi li jrid jipproteġi biss it-traffiku tiegħu li joħroġ għandu żewġ disinji realistiċi: ħalli l-manager tan-netwerk jippossjedi t-tunnel, jew żomm skript li jippossjedih. It-tnejn jistgħu jġorru traffiku. Huma jfallu f'postijiet differenti, u l-falliment li tista' tiddijanjostika mill-bogħod fid-dsataħ ta' filgħaxija huwa dak li jistħoqqlu jintgħażel. Qabbelhom fuq is-sjieda, fuq xi jfisser tunnel sħiħ meta jidħlu IPv6 u DNS, u fuq x'jiġri fil-mument li jaqa' t-tunnel.

Żewġ sidien għal tunnel wieħed

Id-disinn A huwa profil ġewwa l-manager tan-netwerk tas-sistema: profil OpenVPN importat jew konnessjoni WireGuard nattiva, attivata waqt il-boot mill-istess servizz li jtellgħu Ethernet u Wi-Fi. Id-disinn B hija unità tiegħek li taħdem il-klijent direttament, teditja l-konfigurazzjoni tar-resolver u tinstalla r-rotot u r-regoli tal-firewall tagħha stess. It-tnejn huma disinji leġittimi; huma differenti f'min huwa permess ibiddel it-tabella tar-routing.

Il-fallimenti huma differenti għax is-sidien huma differenti. Bid-disinn A, profil li ma jiġix attivat iħalli l-interface 'l fuq u t-tunnel 'l isfel, u l-logs tal-manager jgħidu għaliex. Bid-disinn B, skript li jirnexxi nofsu iħalli rotot li jgħixu wara l-proċess li ħoloqhom. Li tħaddem it-tnejn huwa l-agħar riżultat: żewġ proċessi jiktbu r-rotta default, żewġ editjar tar-resolver jikkompetu waqt il-boot, u żewġ settijiet ta' sigrieti x'jaqilbu.

Agħżel sid wieħed għal kull tunnel u iddiżattiva l-ieħor qabel ma tittestja xejn. Żewġ sidien ifissru wkoll żewġ postijiet fejn tħares meta t-tunnel ikun 'l fuq u xejn ma jiġi riżolt. Dik ir-regola waħda tipprevjeni ħafna mill-istati konfużi deskritti fil-ħjut tal-Pi VPN.

X'joħloq import, u x'ma joħloqx

Fuq Raspberry Pi OS Bookworm u aktar tard l-għodda default tal-konfigurazzjoni tan-netwerk hija NetworkManager, għalhekk profil huwa d-dar naturali għal tunnel tal-klijent. L-import jeħtieġ il-plugin korrispondenti installat; mingħajrha l-import ifalli b'messaġġ dwar tip ta' konnessjoni mhux appoġġat, li huwa s-sinjal onest biex tieqaf u tinstalla l-plugin.

nmcli connection import type openvpn file ./provider.ovpn
nmcli connection show
nmcli --ask connection up id provider-name

L-import jaħżen profil. Ma jippruvax li n-naħa l-oħra tinqala', u ma jiggarantix li kull direttiva fil-fajl għaddiet mill-konverżjoni. Aqra l-konnessjoni li rriżultat u iċċekkja l-partijiet li jġorru l-identità u l-fiduċja: iċ-ċertifikat, il-host u l-port remoti, u jekk tintalabx password jew tinħażenx.

L-attivazzjoni b'--ask iżżomm passphrase barra mill-istorja tas-shell fuq magna maqsuma. Għal Pi mingħajr sorveljanza fl-aħħar trid li l-profil jitla' waqt il-boot, li hija deċiżjoni separata minn tellgħu darba bl-idejn.

Tunnel sħiħ, imqabbel fuq iż-żewġ disinji

Tunnel sħiħ huwa stqarrija dwar rotot, mhux dwar intenzjoni, u ż-żewġ disinji jesprimuh b'modi differenti. L-approċċ tal-profil jitlob lill-manager jinstalla rotta default u s-settings tar-resolver tiegħu; l-approċċ tal-iskript jagħmel dak li jgħid l-iskript, inkluż xejn. La wieħed u lanqas l-ieħor ma jkopri IPv6 sakemm ma jingħadx, u rotta default IPv6 mhux mittiefsa se ġġorr traffiku barra t-tunnel bil-qalb waqt li IPv4 jidher perfett.

ip -4 route get 198.51.100.23
ip -6 route show default
resolvectl query example.org

Uża indirizz ta' dokumentazzjoni għat-tfittxija tar-rotta u ibdel host li huwa permess tistħarreġ. L-ewwel kmand juri liema interface il-Pi kien juża għal destinazzjoni ordinarja; it-tieni juri jekk għadx hemm rotta default IPv6; it-tielet jipprova liema resolver wieġeb. Aqra t-tlieta qabel ma temmen xi stqarrija dwar tunnel sħiħ.

Jekk l-istruzzjonijiet tal-fornitur jwiegħdu tunnel sħiħ imma r-rotta default IPv6 tippersisti, il-Pi qed inixxi. Iddiżattiva IPv6 fuq il-link 'l fuq jew itlob lill-profil jitlobha, u iddeċiedi b'mod deliberat minflok ma tiskopriha aktar tard.

Falliment miftuħ kontra falliment magħluq

Meta jaqa' t-tunnel, tabella tar-routing li titlef ir-rotta default tagħha sempliċement taqa' lura għall-link fiżiku, u t-traffiku jkompli fil-beraħ. Dan huwa falliment miftuħ, u hija l-imġiba default taż-żewġ disinji sakemm xi ħaġa ma tipprevjenix. Ħafna nies jiskopruh ġimgħat wara billi jaqraw log tal-firewall.

Falliment magħluq jiswielek l-aċċess remot meta t-tunnel ikun 'l isfel, għalhekk jeħtieġ eċċezzjoni deliberata għall-passaġġ tal-ġestjoni. Mod wieħed huwa regola li tippermetti biss l-indirizz tal-peer VPN barra t-tunnel:

sudo nft add table inet vpnkill
sudo nft 'add chain inet vpnkill out { type filter hook output priority 0; policy accept; }'
sudo nft add rule inet vpnkill out oifname != "tun0" ip daddr != 203.0.113.24 reject

Qabbel l-ispiża operattiva b'onoestà. Profil normalment ma jistax jesprimi din ir-regola, għalhekk falliment magħluq jimbuttakk lejn id-disinn tal-iskript jew lejn unità żgħira li tinstalla r-regola indipendentement mit-tunnel. F'kull każ, illogja r-rifjuti għal ġimgħa: rifjut sieket jidher identiku għal servizz miksur, u tkun trid il-counter meta utent jirrapporta li sit waqaf jitgħabba.

L-għażla għal Pi mingħajr skrin

Jekk l-immaġni diġà taħdem NetworkManager, it-tunnel m'għandux bżonn xejn eżotiku, u trid li jsegwi l-link 'l fuq awtomatikament, ħu l-profil. Jekk għandek bżonn routing tal-politika, diversi tunnels magħżula għal kull destinazzjoni, jew regola ta' falliment magħluq li trid teżisti qabel ma jitla' t-tunnel, ħu l-iskript u pposjedi kull parti tiegħu, inkluż l-ordni tal-boot u t-tindif. Li tħallat iż-żewġ disinji jiswa aktar minn kull wieħed waħdu.

Il-migrazzjoni bejniethom hija l-aktar kwistjoni ta' ordni: iddiżattiva s-sid il-qadim, ikkonferma li ma baqax rotta jew entrata tar-resolver antika, imbagħad attiva l-ġdid u erġa' ibda darbtejn. Restart wieħed jista' jaħbi tellieqa li t-tieni jikxef. Iffinalizza billi tittestja l-Pi mhux it-tunnel: irriżolvi isem, ġib xi ħaġa fuq IPv4, ġib fuq IPv6 jekk żammejtha, imbagħad waqqa' t-tunnel u kkonferma li l-imġiba li għażilt tassew isseħħ. Interface f'ip link huwa l-bidu tat-test, mhux it-tmiem.

Artikli relatati