Unitateak zuzenak eman dezakete, systemctl start-ek arrakasta jakinaraz dezake, eta hamar segundo geroago zerbitzua inaktibo dago. Edo minutu erdiro berrabiarazten da abio-muga gelditu arte. Bi jokabideetako bat ere ez da sareko hutsa: unitateak bezeroak benetan egiten duenarekin bat ez datorren prozesu-bizitza deskribatzen du. Bezeroak fork egin eta irten daiteke, edo saioa konfiguratu eta berehala irten.

Zergatik geratzen den unitatea inaktibo abio zuzenaren ondorengo segundoetan

systemd-k abiarazi zuen prozesutik ondorioztatzen du egoera, beraz Type= prozesu horri buruzko baieztapena da, ez dokumentazioa. Type=simple erabilita, unitatea aktibotzat jotzen da komandoa exekutatzen den bitartean, eta inaktibo geratzen da itzultzen denean. Beraz, konexioa laguntzaile bati eman eta irteten den bezeroa kraskadura bat bezala ikusten da, tunela martxan egon arren. Orduan egunkariak abio eta geldialdi eredu bat erakusten du, eta hondatutako bitar baten moduan irakurtzen da.

Irakurri unitatearen mota bezeroaren jokabidearen ondoan, sare-konfigurazioa ukitu aurretik.

Aukeratu bezeroarekin bat datorren mota

Bi ereduk estaltzen dituzte saltzaileen CLI gehienak: saioa konfiguratu eta irteten den komandoa, eta itzuli aurretik laguntzaile bat forkatzen duen komandoa. Bakoitzak unitate-forma desberdina behar du.

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/protonvpn-cli connect -f
ExecStop=/usr/bin/protonvpn-cli disconnect

oneshot eta RemainAfterExit=true elkarrekin unitatea aktibo mantentzen dute komandoa itzuli ondoren, konfiguratu eta irten ereduarekin bat datorrena, eta gelditzeko komandoak itzalaldi garbia ematen dio zerbitzuari. Fork egiten duen bezeroak forma bera mantentzen du, baina Type=forking behar du systemd-ek semea jarraitu dezan. Ezarri Restart=on-failure, RestartSec=30 eta StartLimitBurst finitua, hornitzailearen eten batek akatsa lurperatzen duen berrabiarazte-begizta bihur ez dadin.

Inoiz ez utzi gainbegiratutako bezeroa deimon bihur dadin

systemd-etik kanpoko gainbegiratzaileek horma berarekin egiten dute topo. runit exekuzio-script batek deimon bihurtutako bezeroa abiarazten badu, berehala itzultzen da gainbegiratzailearengana, eta hark itzulera kraskadura gisa irakurri eta beste kopia bat abiarazten du. Gainbegiratzaile orok lehen planoko prozesua edukitzea espero du, sshd -D aurretik geratzen den bezala. Kendu deimon bandera gainbegiratutako komandoetarako, eta utzi gainbegiratzaileari atzeko lana. Tunela existitu aurretik itzultzen diren bilgarri-scriptek nahaste bera eragiten dute.

Bere burua askatzen duen prozesua ikusezina da zaindu behar zuen guztiarentzat.

Saioa amaitzen da eta tunela berekin eramaten du

Mahaigaineko saio batek abiarazten duen bezeroaren jabe da. Amaitu saio-hasiera eta saio-busa desagertu egiten da, tunela berekin eramanez, eta horrek argitzen du zergatik galtzen den askotan bezero grafiko baten konexioa azken leihoa ixtean. Zerbitzariek sistema-unitate bat edo bere kabuz igotzen den NetworkManager profila erabili beharko lukete. Erabiltzaile-unitateak zentzua du soilik tunelak saio-hasierarekin amaitu behar duenean, beraz lotu saio grafikoaren helburuari eta aipatu hori bere deskribapenean.

Zerbitzuaren erabiltzailea arazo beraren beste erdia da. root-en jabetzako eta 0600 moduko gako bat irakurtezina da beste kontu batekin dabilen unitate batentzat, sudo-k zure shell-ean lortu duena edozein izanda ere.

systemctl cat openvpn-server@work
sudo chown -R openvpn:network /etc/openvpn/server
sudo find /etc/openvpn -type f -perm /077 -ls

Ordenatu mendekoak helbidea existitzen denean

Deimon batek oraindik sortu gabeko tunel-helbide batera lotzen denean, Cannot assign requested address mezua emanez irteten da. Konponbidea ordenatze esplizitua da, ez berriro saiatzeko begizta bat.

[Unit]
After=network.target [email protected]
Requires=sys-devices-virtual-net-wg0.device

After= lanak ordenatzen ditu, eta gailu-unitateko Requires= mendekoa interfazearen existentziari lotzen dio, sare-helburua soilik itxarotea baino sendoagoa dena. Berriz kargatu kudeatzailea editatu ondoren eta berrabiarazi mendeko zerbitzua, eta gero irakurri bere egunkaria ordenak eragin duela suposatu beharrean. Bidali bezeroaren irteera egunkarira StandardOutput=journal edo log aukera batekin, zeren inork irekitzen ez duen fitxategi batean idazten duen gainbegiratutako bezeroa inoiz abiarazi ez zenaren berdin-berdina ematen du.

Gero berrabiarazi behin eta egiaztatu unitatea aktibo dagoela tunel-gailua agertu ondoren. systemctl start-ekin soilik egiaztatutako konponketa batek ez du probatu konpondu behar zuen abio-ordena.

Erlazionatutako artikuluak