Aurrez sortutako tun OpenVPN-n: bi jabetza-ereduen alderaketa
Aurrez sortutako tun interfazea berrerabil daiteke, baina osagai bakarrak izan behar ditu bere helbide eta ibilbideen jabe. Alderatu bi ereduak ifconfig-noexec gehitu aurretik.
Norbaitek tun1 aurrez sortu zuen, profilean dev tun1 agertzen da, eta konexioa ez da oraindik erantsi. Izena ostalarian egoteak ia ezer ez dio esaten, eranskinak izen-espazioaren, gailu motaren, esteka nor den jabe eta daemonari zer egitea baimenduta dagoen araberakoa baita. Gailu bat berrerabiltzeak konfigurazio lehenetsiak ezkutatzen duen erabaki bat ere behartzen du: zein osagaik idazten dituen helbideak eta ibilbideak. Bi antolamenduen hutsegite moduek konfigurazio lerroek baino askoz gehiago desberdin egiten dute, beraz, erabaki profilea editatu aurretik.
Izena ez da eranskina
dev tun1-k OpenVPN proiektuari eskatzen dio izen horiko interfazea, eta erabiltzaile-espazioko eraikuntza tradizionalek irekitzen saiatuko dira. Izenak ohiko tun edo tap eredua jarraitzen ez badu, profilean dagokion dev-type ere behar da, mota ez baita inoiz kate batetik ondorioztatzen. TAP gailu bat ez da beste etiketa bateko TUN gailua: okerreko gailua erantsiz gero, edo berehala huts egiten du, edo inork espero ez dituen markoak daramatzan esteka sortzen du. Egiaztatu mota beste edozer baino lehen, geroagoko egiaztapen bakoitzak bi aldeak horretan ados daudela suposatzen baitu. Handik aurrera, egiaztatu prozesuak gailua benetan ireki dezakeela, ez soilik ikusi.
dev tun1
dev-type tun
Sare-interfazea eta /dev/net/tun objektu desberdinak dira: bat izen-espazio baten barruko esteka da, bestea erabiltzaile-espazioko programak eransteko erabiltzen duen karaktere-gailua. Linux TUN/TAP dokumentazioak eranskin-bide hori eta gailu iraunkorren jabetza-arauak deskribatzen ditu. ip link exekuta dezakeen root shell batek shellak pribilegioak dituela frogatzen du soilik, ez daemonak. Gailu-nodoaren jabetza, zerbitzuaren gaitasun multzoa eta zein erabiltzailerekin exekutatzen den guztiek bat etorri behar dute irekitzeak arrakasta izateko.
Badagoen eta ireki ezin den gailu bat jabetza-arazo bat da, ez ibilbide-arazo bat. Hala tratatu arazketa egiten duzun bitartean, bestela arratsaldea inoiz arazoa izan ez ziren ibilbide-taulak irakurtzen igaroko da.
Nork konfiguratzen du esteka: bi jabetza-eredu
Lehen ereduan OpenVPN-k helbideak eta ibilbideak konfiguratzen ditu konexioa igotzearen parte gisa. Hori da jokabide lehenetsia eta ulertzeko errazena, osagai bakar batek egoera sortu eta berriro kentzen baitu. Bigarren ereduan kanpoko kudeatzaile bat da interfazearen jabe, eta ifconfig-noexec-k OpenVPNri helbide-konfigurazioko komandoak exekutatzea eragozten dio eta parametroak scriptei ematen dizkie. Orduan kudeatzaileak berak aplikatu behar du tokiko eta pareko konfigurazio zuzena, hau da, aukeraren izenak iradokitzen duena baino lan gehiago. Bien artean aukeratzea esteka altxatuta dagoen bitartean nork aldatu dezakeen jakitea da.
ifconfig-noexec-k helbideak soilik hartzen ditu: ibilbide-taula ukitu gabe geratzen da, eta ibilbideen konfigurazioa route-noexec-rena da. Tratatu bi direktibak kontrol bereizi gisa, jabe bereiziekin, bat ezartzea eta bestea suposatzea erdi-konfiguratutako esteken ohiko iturria baita. Aukeratu geruza bakoitzeko jabe zehatz bat, helbideak leku batean eta ibilbideak leku batean. Sare-kudeatzaile batek eta VPN laguntzaile batek biok helbideak idaztea da deskonexio batek beste aldeak oraindik behar duen egoera ezabatzeko modua.
Aztertu gailua garrantzitsua den izen-espaziotik
Aztertu gailua VPN prozesua exekutatzen den izen-espaziotik, ez zure shellak kasualitatez dagoenetik. Beheko bi komandoek galdera desberdinei erantzuten diete, eta aldea nabari da ostalariak edukiontziak ikusten ez duen interfaze bat ikusten duenean. Exekutatu emandako ordenan, bigarrenak zentzua izateko jakin behar baituzu esteka ote dagoen.
ip -details link show dev tun1
ip tuntap show
Lehen komandoak esteka inprimatzen du kernelak ikusten duen bezala, banderak eta interfaze mota barne, eta horrela baieztatzen duzu gailu zuzena dela. Bigarrenak tun/tap sarrera iraunkorrak zerrendatzen ditu, inolako prozesuk eutsi gabe existitzen direnak. Bere jabea espero duen interfaze bat beste VPN bati erantsitako tunel bizi bat baino egoera desberdina da, eta bigarrenak soilik azaltzen du zergatik huts egiten duen zure eranskinak. Aurkitu gailua eusten duen prozesua ezer aldatu aurretik, sarrera iraunkorrak eta interfaze okupatuak konponbide desberdinak dituzte eta.
Ilara anitzeko euskarria driver-antolamendu zehatz bat da, bere baldintzekin, ez erlazionatutako prozesuei interfaze bakarra partekatzeko baimena. Beste jabe baten sesio bizia koordinazio-arazo bat da, eta profileko edozein aldaketak ez du konpontzen.
Iraunkortasun mota bi
Kernelaren iraunkortasunak eta persist-tun-k nahasteko errazak eta gaizki ulertzeko garestiak diren bizitzak deskribatzen dituzte. Gailu iraunkor bat edozein prozesutatik independente existitzen da, beraz, geldialdia gainditzen du eta hurrengo abiaraztean berrerabil daiteke. persist-tun-k baliabideak mantentzen ditu OpenVPN prozesu bakarraren barruko berrezarpen bigun onartuetan zehar, horizonte askoz laburragoa. Inork ez du agintzen zerbitzua gelditzeak ibilbideak eta helbideak lekuan uzten dituenik, eta ikusgai geratzen den interfazea ez da kriptatutako sesio baten eraginkortasunaren froga.
Egiaztatu backend-a ere, aurrez sortutako interfazeak ez baitu ezer esaten zein inplementaziok irekiko duen. Datu-bide zuzena daramaten komunitate-eraikuntzak erabiltzen saiatuko dira, diseinuak bestela esaten ez badu. Bertsioak etengailua onartzen duen tokian, disable-dco-k erabiltzaile-espazioko bidea hautatzen du horren ordez; motor zaharragoek eta beste bezeroek ez dute direktiba horrelakorik, beraz, eutsi bertsio-baldintzari aukeraren ondoan, ez suposatu aplikatzen denik.
Zer hausten da abiaraztea soilik probatzen denean
Jabetza-akordio batek lehen proba gaindi dezake eta azkenekoan huts egin, eta horrek abiaraztea bere horretan egiaztapen kaskarra egiten du. Behatu bi trantsizio ordez: berrezarpen bigun bat, eta geldialdi oso bat ondoren abiaraztea duena.
systemctl status openvpn-client@lab
ip -details link show dev tun1
Abiaraztea kasu erraza da: unitatea altxatzen da, esteka agertzen da, eta egoeraren irteerak kargatutako profilaren izena ematen du. Eranskina da daemonak gailua irekitzen duen unea, beraz, exekutatu estekak egiaztapena unitateak aktibo dela jakinarazi ondoren, ez lehenago. Esteka existitzen bada egoera oraindik aktibatzen ari den bitartean, inork oraindik erantsi ez dion gailu iraunkor bat ari zara ikusten, ez tunel eraginkor bat. Bidali benetako trafikoa estekatik aurrera egin aurretik, erabilgarria den ibilbiderik gabeko interfaze erantsi bat oraindik huts egitea baita.
kill -SIGHUP $(pidof openvpn)
journalctl -u openvpn-client@lab -n 40
systemctl stop openvpn-client@lab
ip -details link show dev tun1
Berrezarpen bigun batek sesioa erabilgarri eta baliabideak osorik utzi behar ditu, eta hori da persist-tun-k egiten duen lana. Geldialdi osoa kanpoko kudeatzaile bat agerian geratzen den lekua da: esteka edo bere helbideak geldialdia gainditzen badute, beste norbaitek ditu haien jabe, eta hori dokumentatu duzun egoera da edo oraintxe aurkitu duzun akatsa. Idatzi bi behaketak profilearen ondoan, hurrengo aldaketak diagrama batetik beharrean frogaketatik has dadin.