OpenVPN: lokale bining mislearret by it opstarten — wachtsje of opnij besykje
As it lokale adres noch net omheech is, kin OpenVPN net binde. Ferlykje in beheind wachtsjen mei in werstartbelied, en sjoch wêrom't network-online.target gjin garânsje is.
Foar in OpenVPN-tsjinner dy't by it opstarten net start, wurde twa oplossingen oanbean: wachtsje op it adres, of lit de tsjinst opnij besykje oant de bining slagget. Beide behannelje itselde symptoom mei oar falgedrach. Wachtsjen kodearret in spesifike betingst en falt lûd as dy ûntbrekt; opnij besykjen ferstoppet de betingst en bliuwt besykjen. Hokker yn jo ienheid heart, hinget ôf fan oft dat adres in ûntwurpen ôfhinklikens is of in tafal fan timing.
Beide binne better as in fêste sliep, dy't nearne op wachtet en ek net meldt wêr't er op wachte.
Wat de opsje local eins freget
local neamt it adres dêr't de daemon syn socket oan bynt, en bining oan in adres dat noch net bestiet mislearret daliks mei in flater oer it frege adres. As de opsje ôfwêzich is, harket de daemon op alle adressen, dêrom wurket itselde profyl op in masine waans ynterface noch net omheech is: it harket oeral ynstee fan op it iene adres dat jo neamden. Dat ferskil is de hiele flater, en it bliuwt ûnsichtber oant in werstart.
De eask is net dat it ynterface yn in algemiene sin omheech is. It adres moat op it momint fan 'e bining oan it juste ynterface tawiisd wêze, en it moat it ûnderlizzende ynterface wêze, net in tunnel dy't deselde daemon letter meitsje soe. In kontrôle dy't minuten nei it oanmelden dien wurdt, bewiist neat oer de opstartfolchoarder.
Wachtsje op it adres of de bining opnij besykje
Wachtsjen betsjut in ExecStartPre dy't oant it adres ferskynt, mei in beheind oantal besikings en in net-nul útgong as de tiid ferstriken is. Opnij besykjen betsjut it haadproses mislearje litte en de tsjinstbehearder freegje it wer te starten, bygelyks Restart=on-failure mei RestartSec=5. De earste meldt in ûntbrekkende betingst as in mislearre ienheid, wylst de twadde it meldt as in rige werstarts dy't úteinlik stopt, wat lûder is yn it sjoernaal mar in adres oerlibbet dat let komt om redenen dy't jo net foarsizze kinne.
Ferken de foarkar oan wachtsjen as it adres in ûntwurpen ôfhinklikens is, en oan opnij besykjen as it adres meastentiids ferskynt mar syn timing fariearret. Se kombinearje is ridlik: in beheind wachtsjen dekt it gewoane gefal en in werstartbelied de útsûndering. Wat gjin fan beide dwaan moat, is ivich draaie, want in ienheid dy't einleas opnij besiket ferstoppet in ferkearde konfiguraasje ynstee fan it te melden.
Wêrom't network-online.target net genôch is
network-online.target ûnthjit wat de aktive netwurkymplemintaasje ûnder online ferstiet, en neat mear. Mei systemd-networkd beslút systemd-networkd-wait-online wannear't dat doel berikt is, en syn standertbegryp fan online kin foldien wêze foardat jo spesifike adres bestiet. Under NetworkManager past de wait-online-tsjinst syn eigen regels ta. Oardering nei it doel is in goede basisline, gjin garânsje dat ien adres, DNS-antwurd of in fier útein klear is.
Deselde redenearring slút de gewoane alternativen út. In autostart-ynskriuwing op it buroblêd wachtet op in brûkerssesje dy't op in tsjinner miskien nea iepengiet, en in fertrage cron-opdracht foeget ferstrûne tiid ta sûnder de boarne te neamen dy't er hope te sjen ferskinen. Beide kinne moannen suksesfol lykje en dan mislearje by it iene opstarten dat ta saak docht.
Kontrolearje de bining nei in kâlde opstart
Ferifiearje mei in echte kâlde opstart ynstee fan in tsjinstwerstart, want in werstart erft in adres dat de opstartfolchoarder meitsje moast. Nei it opstarten lit ss -lntp of ss -lunp it lokale adres sjen dêr't elke harker wier oan bûn hat, en journalctl -b -u openvpn-server@server lit sjen oft de earste besiking mislearre. Ferlykje it bûne adres mei dat yn it profyl, en werhelje dan de ferliking nei in nije netwurkferbining.
As it profyl nea in fêst adres nedich hie, is it fuortheljen fan local in legitime ferienfâldiging, mar meitsje dêr in feiligensbeslút fan ynstee fan in gewoante by probleemoplossing.
It ferbreedzjen fan 'e harker feroaret wa't der by kin, dus keppelje dy feroaring oan it firewallbelied dat it beheine moatten hie. In tsjinst dy't betrouber op elk ynterface start, hat it oarspronklike probleem net oplost; hy hat it probleem nei de râne fan it netwurk ferpleatst.