Co se skutečně stane, když v Linuxu spustíte VPN
Spuštění VPN v Linuxu vytvoří rozhraní, nainstaluje trasy a změní resolver. Znalost toho, která služba vlastní každý krok, vysvětluje většinu selhání při nastavení.
Stisknete připojit a na stroji s Linuxem se změní tři věci: objeví se rozhraní, nainstalují se trasy a resolver začne odpovídat jinak. Většina selhání při nastavení pochází z toho, že jedna z těch tří věcí nastane bez ostatních, nebo že se dva programy neshodnou na tom, kdo je vlastní. Pochopení sledu vysvětlí selhání rychleji než čtení výstupu z logu klienta.
Rozhraní se objeví dřív, než cokoli funguje
Klient tunelu otevře virtuální rozhraní a předá mu pakety. Zařízení TUN přenáší pakety IP, což je to, co směrovaná VPN potřebuje; zařízení TAP přenáší ethernetové rámce, což je to, co potřebuje můstkový návrh. Modul jádra poskytuje zařízení a klient ho vlastní po celou dobu relace.
Naběhnutí rozhraní není totéž jako fungující tunel. Může existovat s adresou, zatímco protějšek je nedostupný, a proto je seznam rozhraní první kontrolou, ne poslední. Zařízení, které hlásí, že je nahoře, popisuje pohled jádra na virtuální spoj, ne ochotu protějšku odpovídat.
Dodaný režim rozhraní nechte být. Změna profilu TUN na TAP nepromění směrovaný server na můstkový a obvykle vznikne spojení, které se naváže a nic nepředává.
Trasy instaluje ten, kdo vlastní tunel
Trasy jsou druhá změna a jejich vlastnictví je důležitější než jejich obsah. Profil NetworkManageru, jednotka systemd a ručně spuštěný klient mohou všichni instalovat trasy, a když to dva z nich dělají zároveň, vznikne tabulka, kterou potom nikdo nevysvětlí.
ip -br addr show ip route show ip -6 route show
Profil plného tunelu nahradí výchozí trasu; profil rozděleného tunelu přidá konkrétnější trasy a výchozí trasu nechá být. Oba jsou normální a druhý je důvod, proč je smazání výchozí trasy špatným prvním testem na stroji, který spravujete vzdáleně. Odstranění je také nejrychlejší způsob, jak ztratit relaci, kterou k opravě problému používáte.
Čtěte tabulku, místo abyste předpokládali. Konkrétnější trasa nebo pravidlo zásad může posílat provoz do tunelu, zatímco výchozí trasa stále ukazuje na fyzické rozhraní, což vypadá protichůdně, dokud nepřečtete celou tabulku. Taková kombinace je pro rozdělený tunel normální a mate každého, kdo čeká, že jeden řádek popíše návrh. Hledejte trasu, která odpovídá vašemu skutečnému cíli, ne tu, která odpovídá diagramu.
Resolver mění majitele
DNS je třetí změna a ta, která se nejspíš spravuje někde, kam jste se nedívali. Na desktopu může NetworkManager posílat nastavení resolveru pro každé připojení. V systému se systemd-resolved se nastavení uplatňují pro každé spojení a /etc/resolv.conf může být zástupný soubor nebo symbolický odkaz, ne soubor, který byste měli upravovat.
resolvectl status readlink -f /etc/resolv.conf cat /etc/resolv.conf
Pokud ruční úprava souboru resolveru po opětovném připojení zmizí, je to signál najít komponentu, která ho udržuje, a změnit místo toho profil. Úprava generovaného souboru je změna, kterou opětovné připojení smaže.
Soukromá jména obvykle potřebují interní resolver a vyhledávací domény, které dodal operátor. Nahrazení veřejným resolverem může rozbít právě ten zdroj, kvůli kterému VPN existuje, a příznak vypadá jako selhání směrování, ne DNS. Otestujte jméno a adresu zvlášť, protože to, že jedno funguje a druhé selhává, vám přesně řekne, kam se dívat. To jediné srovnání ušetří hodinu ladění tras.
Jeden správce na připojení
Formát profilu rozhoduje, který program ho může použít. Profil OpenVPN potřebuje OpenVPN nebo kompatibilní plugin a konfigurace WireGuard má vlastní formát s klíči protějšku a povolenými předponami. Importní dialog nepřevádí jedno v druhé, ať už přípona souboru naznačuje cokoli.
Vyberte jednoho správce a nechte ho vlastnit připojení. Když stejný tunel zvednete dvěma nástroji, bude tabulka tras a chování při opětovném připojení nejednoznačné, a obvykle vyhraje ten druhý, který se spustí, způsoby, které se těžko reprodukují.
Nainstalujte balíčky, které vaše distribuce podporuje, a získejte profil od operátora. Berte ho jako přihlašovací údaj, protože obvykle obsahuje soukromý klíč nebo rovnocenný materiál, a uložte ho tam, kde žijí ostatní vaše tajemství. Profil ponechaný ve složce stahování je klíč ponechaný na stole.
Co zkontrolovat, když je nahoře, ale nefunguje
S rozhraním nahoře a klientem hlásícím úspěch postupujte směrem ven: vybírá tabulka tras tunel pro cíl, odpovídá resolver na soukromé jméno a má protější strana zpětnou cestu. Každé má samostatný příkaz a samostatného vlastníka.
nmcli connection show --active nmcli device status wg show
Reference nmcli dokumentuje příkazy stavu a připojení, pokud potřebujete celou sadu. Zde je důležité rozlišení mezi aktivním profilem a zařízením, které přenáší provoz, protože obojí se může rozcházet.
Připojte se jednou znovu přes stejného správce, než nastavení prohlásíte za hotové, a ověřte, že DNS funguje i po odpojení. Konfigurace, která funguje jen do první změny sítě, není hotová, jen právě teď funguje.