Iepriekš izveidots tun OpenVPN: divu īpašumtiesību modeļu salīdzinājums
Iepriekš izveidotu tun saskarni var izmantot atkārtoti, taču tikai vienai komponentei jāpieder tās adreses un maršruti. Salīdziniet abus modeļus pirms ifconfig-noexec pievienošanas.
Kāds iepriekš izveidoja tun1, profils norāda dev tun1, un savienojums joprojām nepievienojas. Vārda esamība saimniekā gandrīz neko nepasaka, jo pievienošanās ir atkarīga no nosaukumu telpas, ierīces tipa, tā, kam pieder saite, un tā, kas ir atļauts dēmonam. Ierīces atkārtota izmantošana arī uzspiež lēmumu, ko noklusējuma konfigurācija slēpj: kura komponente raksta adreses un maršrutus. Abu izkārtojumu atteices režīmi atšķiras daudz vairāk nekā konfigurācijas rindas, tāpēc izlemiet pirms profila rediģēšanas.
Vārds nav pievienošanās
dev tun1 pieprasa OpenVPN šo nosaukto saskarni, un tradicionālās lietotāja telpas būves mēģinās to atvērt. Ja vārds neatbilst ierastajam tun vai tap šablonam, profilam nepieciešama arī atbilstoša dev-type, jo tips nekad netiek izsecināts no virknes. TAP ierīce nav TUN ierīce ar citu etiķeti: nepareizās pievienošana vai nu tūlīt neizdodas, vai rada saiti, kas pārvada kadrus, kurus neviens negaida. Pārbaudiet tipu pirms visa cita, jo katra vēlākā pārbaude pieņem, ka abas puses par to vienojas. Pēc tam pārliecinieties, ka process tiešām var atvērt ierīci, nevis tikai to redzēt.
dev tun1
dev-type tun
Tīkla saskarne un /dev/net/tun ir dažādi objekti: viens ir saite nosaukumu telpā, otrs ir rakstzīmju ierīce, ko lietotāja telpas programma izmanto pievienošanai. Linux TUN/TAP dokumentācija apraksta šo pievienošanās ceļu un pastāvīgo ierīču īpašumtiesību noteikumus. Root apvalks, kas spēj palaist ip link, pierāda tikai to, ka apvalkam ir privilēģijas, nevis ka tās ir dēmonam. Ierīces mezgla īpašumtiesības, pakalpojuma iespēju kopa un lietotājs, ar kuru tas darbojas — visam jāsakrīt, lai atvēršana izdotos.
Ierīce, kas pastāv un neatveras, ir īpašumtiesību problēma, nevis maršrutēšanas. Tā arī izturieties atkļūdošanas laikā, citādi pēcpusdienā tiks lasītas maršrutu tabulas, kas nekad nav bijušas problēma.
Kas konfigurē saiti: divi īpašumtiesību modeļi
Pirmajā modelī OpenVPN konfigurē adreses un maršrutus kā savienojuma pacelšanas daļu. Tā ir noklusējuma uzvedība un vissaprātīgākā, jo viena komponente izveido stāvokli un pēc tam to atkal noņem. Otrajā modelī saskarni pieder ārējam pārvaldniekam, un ifconfig-noexec neļauj OpenVPN izpildīt adrešu konfigurēšanas komandas un nodod parametrus skriptiem. Tad pārvaldniekam pašam jāpiemēro pareizā vietējā un partnera konfigurācija, kas ir vairāk darba, nekā liek domāt opcijas nosaukums. Izvēle starp abiem ir jautājums par to, kas drīkst mainīt saiti, kamēr tā ir pacelta.
ifconfig-noexec aptver tikai adreses: maršrutu tabula paliek neskarta, un maršrutu konfigurācija pieder route-noexec. Uztveriet abas direktīvas kā atsevišķas vadības ar atsevišķiem īpašniekiem, jo vienas iestatīšana un otras pieņemšana ir izplatīts daļēji konfigurētu saišu avots. Izvēlieties tieši vienu īpašnieku katram slānim: adreses vienā vietā, maršruti vienā vietā. Tīkla pārvaldnieks un VPN palīgs, abi rakstot adreses, — tā atvienošanās izdzēš stāvokli, no kura otra puse vēl ir atkarīga.
Pārbaudiet ierīci no tās nosaukumu telpas, kurai ir nozīme
Pārbaudiet ierīci no nosaukumu telpas, kurā darbojas VPN process, nevis no tās, kurā nejauši atrodas jūsu apvalks. Abas tālāk minētās komandas atbild uz dažādiem jautājumiem, un atšķirība parādās, kad saimnieks redz saskarni, ko konteiners neredz. Izpildiet tās norādītajā secībā, jo otrā ir jēgpilna tikai tad, kad zināt, vai saite vispār pastāv.
ip -details link show dev tun1
ip tuntap show
Pirmā komanda izdrukā saiti tā, kā to redz kodols, tostarp karodziņus un saskarnes tipu, un tā jūs apstiprināt, ka šī ir tā ierīce, ko domājāt. Otrā uzskaita pastāvīgos tun/tap ierakstus, kas pastāv bez neviena procesa, kas tos tur. Saskarne, kas gaida savu paredzēto īpašnieku, ir cita situācija nekā dzīvs tunelis, kas pievienots citam VPN, un tikai otrā izskaidro, kāpēc jūsu pašu pievienošanās neizdodas. Pirms kaut ko mainīt atrodiet procesu, kas tur ierīci, jo pastāvīgam ierakstam un aizņemtai saskarnei ir dažādi risinājumi.
Daudzrindu atbalsts ir konkrēts draivera izkārtojums ar savām prasībām, nevis atļauja nesaistītiem procesiem dalīt vienu saskarni. Cita īpašnieka dzīva sesija ir koordinācijas problēma, un neviens profila labojums to neatrisina.
Divu veidu noturība
Kodola noturība un persist-tun apraksta mūžus, kurus ir viegli sajaukt un dārgi pārprast. Pastāvīga ierīce pastāv neatkarīgi no jebkura procesa, tāpēc tā pārdzīvo apturēšanu un nākamā palaišana var to izmantot atkārtoti. persist-tun saglabā resursus pāri atbalstītām mīkstām atkārtotām ielādēm vienā OpenVPN procesā, daudz īsāks horizonts. Neviens no tiem nesola, ka pakalpojuma apturēšana atstās maršrutus un adreses savās vietās, un saskarne, kas paliek redzama, nav pierādījums strādājošai šifrētai sesijai.
Apstipriniet arī backend, jo iepriekš izveidota saskarne neko nepasaka par to, kura implementācija to atvērs. Kopienas būves ar tiešo datu ceļu mēģinās to izmantot, ja vien dizains nenosaka citādi. Tur, kur versija atbalsta slēdzi, disable-dco tā vietā izvēlas lietotāja telpas ceļu; vecāki dzinēji un citi klienti šādas direktīvas nav, tāpēc turiet versijas nosacījumu blakus opcijai, nevis pieņemiet, ka tas attiecas.
Kas salūzt, ja pārbauda tikai palaišanu
Īpašumtiesību vienošanās var izturēt pirmo pārbaudi un neizturēt pēdējo, kas padara palaišanu vienu pašu par vāju pārbaudi. Vērojiet divas pārejas: mīkstu atkārtotu ielādi un pilnīgu apturēšanu, kam seko palaišana.
systemctl status openvpn-client@lab
ip -details link show dev tun1
Palaišana ir vieglais gadījums: vienība paceļas, saite parādās un statusa izvade nosauc ielādēto profilu. Pievienošanās ir brīdis, kad dēmons atver ierīci, tāpēc saites pārbaudi izpildiet pēc tam, kad vienība ziņo par aktīvu stāvokli, nevis pirms tam. Ja saite pastāv, kamēr stāvoklis vēl aktivizējas, jūs redzat pastāvīgu ierīci, kurai vēl neviens nav pievienojies, nevis strādājošu tuneli. Pirms turpināt laižiet caur saiti reālu satiksmi, jo pievienota saskarne bez lietojama maršruta joprojām ir neveiksme.
kill -SIGHUP $(pidof openvpn)
journalctl -u openvpn-client@lab -n 40
systemctl stop openvpn-client@lab
ip -details link show dev tun1
Mīkstai atkārtotai ielādei jāatstāj sesija lietojama un resursi neskarti, un tieši šo darbu veic persist-tun. Pilnīga apturēšana ir vieta, kur ārējais pārvaldnieks atklājas: ja saite vai tās adreses pārdzīvo apturēšanu, tos pieder kādam citam, un tas ir vai nu jūsu dokumentētais stāvoklis, vai kļūda, ko tikko atradāt. Pierakstiet abus novērojumus blakus profilam, lai nākamā izmaiņa sāktos no pierādījumiem, nevis no diagrammas.