Negdje u forumskoj temi, ifconfig-noexec se nudi kao rješenje koje održava SSH sesiju živom kad tunel oživi. Obrazloženje zvuči uvjerljivo dok ne provjerite šta ta opcija dira. Ona sprječava OpenVPN da konfiguriše adresu tunelskog sučelja i te vrijednosti umjesto toga predaje skriptama; o tome gdje idu odgovori na vašu upravljačku vezu ne govori ništa. Vjerovanje u suprotno daje tunel bez upotrebljive adrese i SSH sesiju koja ipak umire.

Šta opcija zapravo delegira

Prema zadanim postavkama, klijent podiže tunelski uređaj i dodjeljuje lokalnu i udaljenu adresu koju mu je server dao. Uz postavljen ifconfig-noexec, taj korak se preskače, a pregovorene vrijednosti izvoze se u okruženje skripte da bi ih nešto drugo primijenilo.

Vlasništvo se pomjera. Ništa se ne izmišlja na njegovo mjesto.

Dakle, pitanje na koje opcija odgovara jeste ko konfiguriše sučelje, a pitanje na koje ne odgovara jeste kako paketi pronalaze put natrag do vas. Držite to odvojeno ili ćete provesti večer uređujući rute da biste kompenzirali sučelje bez adrese.

Tri slične opcije s različitim poslovima

Ovu porodicu je lako pobrkati jer se imena razlikuju za jednu riječ a simptomi se preklapaju. Pročitajte šta svaka potiskuje prije nego što odaberete bilo koju.

OpcijaŠta prestaje da se dešava
ifconfig-noexecOpenVPN-ovo vlastito konfigurisanje tunelske adrese; vrijednosti umjesto toga idu skriptama
route-noexecAutomatsko dodavanje i uklanjanje ruta; detalji rute idu skripti
route-nopullRute koje server gura i povezane opcije poput DNS-a se odbijaju

Ovo su alternative koje treba razumjeti pojedinačno, a ne skup za zajedničko lijepljenje. Potiskivanje konfiguracije adrese ne potiskuje promjene ruta, pravila vatrozida ili gurane opcije koje nose DNS. Delegirana skripta također je slobodna mijenjati rute, i to je odluka koju predajete umjesto da je izbjegavate.

Ako klijent dobavljača obavija motor, koristite njegovu podržanu integraciju umjesto da ubacujete niskorazinsku direktivu u profil i nadate se da će je omotač poštovati. Omotači često iznova stvaraju profil pri povezivanju, pa ručna izmjena nestaje bez greške. Provjerite gdje klijent drži svoja podešavanja prije nego što provedete večer uz datoteku. To važi za svaki red u tabeli, ne samo za onaj zbog kojeg ste došli.

SSH sesija koju ste namjeravali zaštititi

SSH veza ima izvornu adresu, odredišnu adresu i povratni put. Na serveru koji je upravo instalirao zadani tunel za cijeli promet, odgovor na vašu javnu adresu poklapa se s tunelom, i VPN pristupnik ga odbacuje.

Ništa u konfiguraciji adrese tunelskog sučelja to ne mijenja.

Ono što to ispravlja jeste konkretnija ruta za vašu upravljačku adresu kroz pristupnik prije tunela, ili pravilo politike koje usmjerava taj promet, plus sve filter postavke koje vaš host primjenjuje. Dva problema se ponekad pojavljuju zajedno, i tako se jedan pogrešno smatra lijekom za drugi. Testirajte ih odvojeno: podignite tunel bez opcije, pogledajte adresu sučelja i povratni put, pa odlučite koji od dva je zapravo pokvaren.

Šta delegirana skripta mora preuzeti

Ako zaista želite da drugi vlasnik konfiguriše sučelje, nabrojite posao: primijenite lokalnu i udaljenu adresu, podignite uređaj, vratite ili uklonite adresiranje pri raskidanju, i uradite isto ponovo nakon ponovnog povezivanja. Vrijednosti iz jedne uspješne sesije ne smiju biti tvrdo kodirane, jer server sljedeći put može dati drugi par.

Varijable okruženja koje klijent izvozi jedini su podržani ulaz za taj posao.

env | grep -E '^ifconfig_|^route_'

Unutar route-up skripte te varijable su dostupne; iz cron posla ili ručne shell sesije nisu. Provjerite koja kuka životnog ciklusa koristi vaša verzija, i provjerite da se kuka izvršava s dovoljno privilegija za promjenu sučelja, jer klijent je možda već spao na neprivilegovanog korisnika.

Testirajte cijeli životni ciklus, a ne jednu sesiju

Podignite tunel, provjerite adresu na uređaju, zatim se ponovo povežite i provjerite je opet. Konfiguracija koja radi jednom a zakaže na drugom pokušaju obično znači da se delegirani korak izvodi samo na prvom povezivanju.

Zatim testirajte oba kriterija prihvatanja zajedno: nova SSH veza kroz predviđeni upravljački put radi, i dozvoljena aplikacija koristi tunel ispravno.

Stara SSH sesija koja slučajno preživi dok tunel nema adresu nije uspjeh, i to je upravo stanje koje ova opcija proizvodi kad niko ne preuzme posao. Prvo provjerite adresu sučelja, zatim upravljački povratni put, zatim aplikaciju. Ako su dva od tri pogrešna, opcija je premjestila posao a da mu nije dala vlasnika.

Povezani članci