Kas patiešām notiek, kad Linux ieslēdzat VPN
VPN palaišana Linux sistēmā izveido saskarni, instalē maršrutus un nomaina risinātāju. Zināšana, kura pakalpojums pārvalda katru soli, izskaidro lielāko daļu iestatīšanas kļūdu.
Nospiediet savienot, un Linux mašīnā mainās trīs lietas: parādās saskarne, tiek instalēti maršruti, un risinātājs sāk atbildēt citādi. Lielākā daļa iestatīšanas kļūdu rodas tāpēc, ka viena no šīm trim notiek bez pārējām, vai tāpēc, ka divas programmas nav vienisprātis par to, kam tās pieder. Secības izpratne izskaidro kļūdu ātrāk nekā klienta žurnāla izvades lasīšana.
Saskarne parādās pirms kaut kas sāk darboties
Tuneļa klients atver virtuālu saskarni un nodod tai paketes. TUN ierīce pārnēsā IP paketes, kas nepieciešams maršrutētam VPN; TAP ierīce pārnēsā Ethernet kadrus, kas nepieciešams tiltotam dizainam. Kodola modulis nodrošina ierīci, un klients to pārvalda visu sesijas laiku.
Saskarnes pacelšanās nav tas pats, kas strādājošs tunelis. Tā var pastāvēt ar adresi, kamēr partneris nav sasniedzams, un tāpēc saskarņu saraksts ir pirmā pārbaude, nevis pēdējā. Ierīce, kas ziņo, ka ir augšā, apraksta kodola skatījumu uz virtuālu savienojumu, nevis partnera gatavību atbildēt.
Atstājiet piegādāto saskarnes režīmu mierā. TUN profila pārvēršana TAP nepadara maršrutētu serveri par tiltotu, un parasti tiek izveidots savienojums, kas nodibinās un neko nepārsūta.
Maršrutus instalē tas, kam pieder tunelis
Maršruti ir otrā izmaiņa, un to īpašumtiesības ir svarīgākas par saturu. NetworkManager profils, systemd vienība un ar roku palaists klients visi var instalēt maršrutus, un, ja divi no tiem to dara vienlaikus, rodas tabula, kuru vēlāk neviens nevar izskaidrot.
ip -br addr show ip route show ip -6 route show
Pilna tuneļa profils aizstāj noklusējuma maršrutu; sadalītā tuneļa profils pievieno konkrētākus maršrutus un atstāj noklusējuma maršrutu mierā. Abi ir normāli, un otrais ir iemesls, kāpēc noklusējuma maršruta dzēšana ir slikts pirmais tests mašīnā, kuru pārvaldāt attālināti. Tā noņemšana ir arī ātrākais veids, kā zaudēt sesiju, ko izmantojat problēmas labošanai.
Lasiet tabulu, nevis pieņemiet. Konkrētāks maršruts vai politikas noteikums var sūtīt datplūsmu tunelī, kamēr noklusējuma maršruts joprojām norāda uz fizisko saskarni, kas izskatās pretrunīgi, līdz izlasāt visu tabulu. Šī kombinācija ir normāla sadalītam tunelim un mulsina ikvienu, kas gaida, ka viena rinda aprakstīs dizainu. Meklējiet maršrutu, kas atbilst jūsu faktiskajam galamērķim, nevis to, kas atbilst shēmai.
Risinātājs maina rokas
DNS ir trešā izmaiņa un tā, kas visbiežāk tiek pārvaldīta vietā, kur neesat ieskatījies. Darbvirsmas sistēmā NetworkManager var nosūtīt risinātāja iestatījumus katram savienojumam. Sistēmā, kas izmanto systemd-resolved, iestatījumi tiek piemēroti katrai saitei, un /etc/resolv.conf var būt stubs vai simboliska saite, nevis fails, kas jums jārediģē.
resolvectl status readlink -f /etc/resolv.conf cat /etc/resolv.conf
Ja manuāls risinātāja faila labojums pazūd pēc atkārtotas pieslēgšanās, tas ir signāls atrast komponentu, kas to uztur, un tā vietā mainīt profilu. Ģenerētā faila rediģēšana ir izmaiņa, ko atkārtota pieslēgšanās izdzēsīs.
Privātiem nosaukumiem parasti nepieciešams iekšējais risinātājs un operatora nodrošinātie meklēšanas domēni. Aizstāšana ar publisku risinātāju var salauzt tieši to resursu, kura dēļ VPN pastāv, un simptoms izskatās kā maršrutēšanas, nevis DNS kļūda. Pārbaudiet nosaukumu un adresi atsevišķi, jo tas, ka viens strādā un otrs neizdodas, precīzi parāda, kur skatīties. Šis viens salīdzinājums ietaupa stundu maršrutu atkļūdošanas.
Viens pārvaldītājs vienam savienojumam
Profila formāts nosaka, kura programma to var izmantot. OpenVPN profilam nepieciešams OpenVPN vai saderīgs spraudnis, un WireGuard konfigurācijai ir savs formāts ar partnera atslēgām un atļautajiem prefiksiem. Importa dialogs nepārtulko vienu otrā, lai ko arī liecinātu faila paplašinājums.
Izvēlieties vienu pārvaldītāju un ļaujiet tam pārvaldīt savienojumu. Tā paša tuneļa pacelšana ar diviem rīkiem padara maršrutu tabulu un atkārtotas pieslēgšanās uzvedību neviennozīmīgu, un parasti uzvar otrais, kas sāk, grūti atkārtojamos veidos.
Instalējiet pakotnes, ko atbalsta jūsu distribūcija, un iegūstiet profilu no operatora. Uzskatiet to par akreditācijas datiem, jo tajā parasti ir privātā atslēga vai līdzvērtīgs materiāls, un glabājiet to tur, kur dzīvo pārējie jūsu noslēpumi. Profils, kas atstāts lejupielāžu mapē, ir atslēga, kas atstāta uz galda.
Kas jāpārbauda, kad tas ir augšā, bet nestrādā
Kad saskarne ir augšā un klients ziņo par panākumiem, strādājiet uz āru: vai maršrutu tabula izvēlas tuneli galamērķim, vai risinātājs atbild par privāto nosaukumu un vai pretējai pusei ir atgriešanās ceļš. Katram ir sava komanda un savs īpašnieks.
nmcli connection show --active nmcli device status wg show
nmcli uzziņa dokumentē statusa un savienojuma komandas, ja jums nepieciešams pilns komplekts. Šeit svarīgā atšķirība ir starp aktīvu profilu un ierīci, kas pārnēsā datplūsmu, jo abi var nesakrist.
Pirms pasludināt iestatīšanu pabeigtu, vienreiz atkārtoti pieslēdzieties ar to pašu pārvaldītāju un pārbaudiet, vai DNS joprojām darbojas pēc atvienošanās. Konfigurācija, kas darbojas tikai līdz pirmajai tīkla izmaiņai, nav pabeigta, tā tikai šobrīd darbojas.