Start de masine, meld jo oan en ûntdek dat de tunnel omheech kaam en in pear sekonden letter stoar. It profyl wie yn oarder, it sertifikaat wie yn oarder, en it iennige oerbliuwende spoar is it sjoernaal fan dy start. Wat meastentiids barde is in race: de ienheid starte foar't de masine in adres hie, en de oarder dy't it ferklearre betsjutte net wat it liket. Alles hjirûnder giet oer it bewizen fan dy race út bewiis en it goed sluten dêrfan.

It doel is in moetingsplak, net in behearder

network-online.target hat gjin idee wat in netwurk is. It is in koördinaasjepunt dat de tsjinst sammelet dy't it opstarten fertrage moat oant de ferbining brûkber is, en it delegetearret de definysje oan wa't netwurkbehearder dan ek de masine besit. Op de measte buroblêden en servers betsjut dat in wachttsjinst levere troch NetworkManager of troch systemd-networkd. Aktivearje gjinien en it doel hat neat om op te wachtsjen, dus it foltôget op it stuit dat eat it nei binnen lûkt, wat lang foar't DHCP antwurdet wêze kin. De oarderrigel yn jo ienheid wie earlik en dochs nutteleas.

De earste fraach is dus net wat jo ienheid ferklearret. It is oft eat op dizze masine it wachtsjen wier docht.

Lês de lêste start ynstee fan it ienheidsbestân

Ienheidsbestannen beskriuwe bedoeling, en it sjoernaal beskriuwt wat der barde. Freegje allinnich om dy start, mei monotoane tiidstimpels sadat elke berjocht op ien klok sit. Fyn dan twa rigels: it stuit dat de tunnelienheid begûn te starten, en it stuit dat it adres ferskynde of de wachttsjinst klear wie. Orderje dy twa getallen en de race is of befêstige of útsluten.

De ôfhinklikenswerjefte befêstiget it. As in krityske keatling foar de tunnelienheid gjin wachttsjinst befettet, hat neat op dat paad it opstarten fertrage, en it doel hat it wurk net dien dat jo oannamen. Twa werjeften, ien konklúzje.

systemctl list-units --type=service --state=running | grep wait-online
journalctl -b -o short-monotonic -u openvpn-client@office

Foegje it wachtsjen ta, dan de nije poging

Brûk in drop-in ynstee fan it bewurkjen fan in ferpakte ienheid, sadat in pakketfernijing de feroaring net stilwei fuortsmyt. Twa rjochtlinen binne wichtich: de ienheid moat nei it doel oardere wêze, en it moat it doel yn deselde transaksje lûke. Oarder allinnich ropt it doel net; de winsk docht dat.

De ferpakte ienheid fan 'e OpenVPN-klant draacht beide al. Mei de hân skreaune ienheden drage meastentiids ien of gjinien, wat de muoite wurdich is om te kontrolearjen foar't jo eat tafoegje.

[Service]
Restart=on-failure
RestartSec=15

Wêrom't in fêste sliep in falstrik is

In sliep yn ExecStartPre fielt as in oarderrepresje en hâldt him as in fertraging mei ekstra stappen. It fertraget elke start, ek dy't sûn wiene, en it ferliest noch jimmeroan as de ferbining langer duorret as it getal dat jo keazen.

Eraf berch it oft de wachttsjinst wurket, dus de folgjende flater liket in gloednij probleem te wêzen ynstee fan deselde mei oare timing. In koarte werstartfertraging is it bettere ynstrumint: it kostet neat op in sûne start en ferbout in ferlern race yn noch in poging. Hâld it ynterval beskieden en lit de ienheid slagje. As it foar ivich werstartet, is it profyl stikken en gjin hoemannichte nije pogingen sil dat feroarje, dus lês it log ynstee fan it ynterval te ferheegjen.

As de oarder kloppet en nammen dochs mislearje

In aktive ienheid mei in tunnelrûte betsjut dat de oarder syn wurk dien hat en de oerbleaune flater ien laach heger sit. De gewoane foarm is in resolverynstelling dy't it up-skript fan 'e tunnel tapast foar't de ferbining of de resolver klear wie om dy te hâlden. Fergelykje de tastân fan 'e resolver by de flater mei de tastân nei in werstart fan 'e tunnelienheid.

As de werstart de sykacties reparearret, hawwe jo in defekt yn 'e oarder fan it opstarten en net in ferkearde DNS-server, en dy twa hawwe ferskillende represjes nedich. Bewiis dan it gehiel mei in kâlde start ynstee fan in tsjinstwerstart, want werstarten rint tsjin in netwurk dat al omheech is en sil krekt it defekt ferbergje dat jo efternei sitte. Werhelje it mei de ferbining opsetlik stadich, en beskôgje in ienheid dy't allinnich wurket as it netwurk fluch is as noch stikken.

Relatearre artikelen