client-config-dir ez da kontuan hartzen OpenVPN zerbitzu bihurtu ondoren
client-config-dir erlatiboa daemonaren laneko direktorioaren arabera ebazten da. Irakurri unita, egiaztatu bidearen baimenak, eta gero berretsi bilaketa erregistroan.
Zure tunela altxatzen da eta bezeroa konektatzen da, baina helbide finkoa eta erabiltzaile horretarako definitu zenituen bultzatutako bideak falta dira. Erregistroan ez du “file not found” esaten, eta horrek bidaltzen ditu pertsonak ziurtagiriak berriz sortzera. Kasu gehienetan daemona probatu zenuen shellaren direktorio ezberdinetik exekutatzen da, eta client-config-dir ez zen inoiz suposatu zenuen bezala ebatzi. Konponketa bidearen zuzenketa da, ez kredentzialen berrezarpena.
Irakurri unita konfigurazioa ukitu aurretik
Hasi benetan exekutatzen den prozesutik, ez editatu zenuen fitxategitik. Galdetu systemd-ri exekuzio-lerroa, laneko direktorioa eta zein kontutara jaisten den. Hiru erantzun horiek klase honetako hutsegite gehienak azaltzen dituzte:
systemctl show openvpn-server@server -p ExecStart -p WorkingDirectory -p User -p RootDirectoryWorkingDirectory huts batek unita /-n hasten dela esan nahi du, beraz client-config-dir ccd erlatiboa /ccd-n bilatzen da. Direktorio hori ia ez da inoiz existitzen, eta daemonak ez du haren absentzia hilgarritzat jotzen.
Konparatu hori probetan erabili zenuen abiarazte interaktiboarekin, non zure shellaren uneko direktorioa seguruenik konfigurazio-direktorioa zen. Fitxategi bera, gako-hitz berak, bi emaitza ezberdin.
Zeren arabera ebazten da bide erlatiboa
Gako-hitza prozesuaren laneko direktorioaren arabera ebazten da aukera erabiltzen den unean. Ez du esan nahi “--config aukerarekin pasa nuen konfigurazio-fitxategiaren ondoan”. OpenVPN pozik irakurriko du konfigurazio bat bide absolututik eta balio erlatiboak beste nonbait ebatziko ditu oraindik, eta horixe da hemen tranpa. OpenVPN 2.6 eskuliburuak araua --client-config-dir azpian eta berriz --cd azpian azaltzen du.
cd gako-hitzak testuinguru hori aldatzen du beste fitxategiak irakurri aurretik, beraz cd /etc/openvpn/server eta gero client-config-dir ccd ezartzen dituen unita /etc/openvpn/server/ccd-ra ebazten da. cd gehitzen baduzu, egiaztatu direktiben ordena eta gogoratu fitxategi bereko beste erreferentzia erlatibo guztiei eragiten diela.
Ibilbidea daemonaren kontu gisa ibili
Bide bat zuzena izan daiteke eta hala ere irakurtezina. Pribilegioak jaitsi ondoren daemona ez da root gehiago, beraz goiko direktorio bakoitzak bilaketa-baimena behar du kontu horretarako, eta bezeroaren fitxategiak berak irakurketa-baimena. Goiko direktorio batean falta den exekuzio-bit batek nahikoa du fitxategia ezkutatzeko, eta errorea isilpean defektuzko multzoa jasotzen duen bezero gisa agertzen da soilik.
namei tresnak osagai bakoitzaren baimena ordenan inprimatzen du, direktorioak banan-banan egiaztatzea baino azkarragoa:
namei -l /etc/openvpn/server/ccd/client1Ondoren probatu irakurketa zerbitzu-kontu gisa, zeure burua bezala beharrean:
runuser -u openvpn -- test -r /etc/openvpn/server/ccd/client1 && echo readableUnitateak chroot erabiltzen badu, direktorioak kartzelaren barruan egon behar du, eta konfigurazioko bidea chroot aplikatu ondoren interpretatzen da. Kartzelatik kanpo hostean dagoen fitxategia ikusezina da barrutik.
Berretsi bilaketa, ez asmatu
Igo erregistro-maila berrabiarazte baterako eta irakurri zer esaten duen zerbitzariak bezeroaren berariazko aukerei buruz. verb 4 mailan daemonak inportatu duen bezero bakoitzeko konfigurazioa jakinarazten du, beraz falta den lerroa zuzeneko froga da konexio horretarako fitxategirik ez zela irakurri.
openvpn --config /etc/openvpn/server.conf --verb 4 --client-config-dir /etc/openvpn/server/ccdExekutatu hori aurreko planoan portu libre batean eta konektatu bezero bat. Horrek systemd erabat ateratzen du iruditik: gainidazketak hemen agertzen badira eta zerbitzuaren azpian ez, aldea unitaren testuingurua da, ez fitxategia.
Erabaki zer gertatu behar den fitxategirik bat ez datorrenean. ccd-exclusive gabe bezeroa multzo globalaren ezarpenekin soilik onartzen da, eta hori da goian deskribatutako hutsegite isila. Harekin, falta den fitxategia ukatutako konexio bihurtzen da, eta ukapen hori errazago nabaritzen da baina zailagoa da arazten kargapean.
Konpondu, berrabiarazi, egiaztatu
Egin direktorioa absolutua konfigurazioan eta utzi horrela. Bide erlatiboak seguruak dira unitateak laneko direktorioa finkatzen duenean soilik, eta finkatzea geroago norbaitek kenduko duen pieza mugikor gehigarria da.
client-config-dir /etc/openvpn/server/ccd
ccd-exclusiveBerrabiarazi instantzia, konektatu berriro bezero ezagun bat eta irakurri jaso zuen helbidea harengana bultzatutako bideekin batera. Helbidea bezero horren fitxategiko ifconfig-push lerroarekin bat badator, bilaketak funtzionatu du. Bezeroa oraindik multzo orokorrean erortzen bada, itzuli erregistroko lerro-kontaketara: zero inportaziok bidea edo identitatea okerrak direla esan nahi du, eduki okerreko inportazio batek daemonak irakurtzen duenaren ezberdina den fitxategi bat editatzen ari zarela.
Atzera egin aurreko unitatea eta konfigurazioa batera berrezarriz, eta gero berrabiarazi. Ziurtagiriak ez dira berrargitaratu behar horretarako, eta direktorio-arazo bat kredentzial-arazo gisa tratatzea da bost minutuko konponketa mantenimendu-leiho bihurtzeko bidea.