OpenVPN se ne pokreće: čitajte prvi redak, ne konfiguraciju
VPN koji umre u prvoj sekundi nema handshake za otklanjanje pogrešaka. Prvi redak u dnevniku bira granu: port u upotrebi, nedostaje binarna datoteka ili nedostaje konfiguracija.
VPN koji umre u prvoj sekundi druga je životinja od onoga koji se poveže pa padne, a uobičajena je pogreška tretirati ih kao isto. Ovdje nema handshakea, nema razmjene certifikata i nema rute za pregled. Jedan redak u dnevniku odlučuje koja od nekoliko nepovezanih popravaka vrijedi, a preskakanje tog retka stoji pola dana uređivanja konfiguracije koja nikada nije pročitana. Pročitajte taj redak prvi.
Tri naredbe samo za čitanje vode vas tamo: prvo journalctl -u openvpn@server -b --no-pager, zatim systemctl status openvpn@server, i ss -lunp za UDP slušatelje i njihove vlasnike.
Prvi redak bira granu
Sukob portova i nedostajuća binarna datoteka oboje ubijaju pokretanje u roku od sekunde i ostavljaju različite prve retke. Poruka da je adresa već u upotrebi imenuje port; nedostajuća izvršna datoteka imenuje putanju koja više ne postoji; neispunjen uvjet ili odsutna konfiguracijska datoteka imenuje datoteku. Ta tri vode do različitih popravaka i nijedan se ne popravlja ponovnom instalacijom klijenta. Kopirajte prvi neuspjeh u svoje bilješke prije nego što pokrenete bilo što drugo.
Pazite na petlju ponovnih pokušaja koja skriva izvorni redak. Unit s politikom restarta može zakopati prvi neuspjeh pod desetak identičnih, pa journalctl -b filtriran po unitu i čitan odozgo pobjeđuje rep.
Tko još drži port 1194
Krivac obično nije drugi poslužitelj koji je netko namjerno postavio. Očekujte ručno pokrenut klijent još živ u drugom terminalu, drugi profil koji je slučajno odabrao isti port, ili paket dobavljača čiji vlastiti tunel drži 1194. Vlasnik utičnice pojavljuje se u ss -lunp; proslijedite taj PID u systemctl status da saznate je li odgovoran neki unit. Isključite ga kroz njegov vlastiti kontrolni put, a ne signalom.
Signal procesu kojim upravlja unit obično izaziva restart i isti se neuspjeh vraća nekoliko trenutaka kasnije kao novi problem. Koristite systemctl stop za unit, vlastitu servisnu naredbu paketa za instalaciju dobavljača, a signal samo za nešto što ste sami pokrenuli u tom shellu.
Zaostali uniti nakon uklanjanja
Uklanjanje briše binarne datoteke; datoteke unita pisane ručno, obično pod /etc/systemd/system, to preživljavaju. Systemd tada ponovno pokušava unit koji pokazuje na putanju koja više ne postoji, a poruka se tiče te nedostajuće datoteke, a ne jučerašnjeg uklanjanja. systemctl status prikazuje putanju fragmenta unita pri vrhu, pa je provjerite pomoću dpkg -S prije nego što bilo što obrišete. Kad siroče nestane, systemctl daemon-reload i systemctl reset-failed čiste stanje; inače ga nasljeđuje svaka kasnija provjera statusa.
Kad which openvpn odgovori nečim pod /usr/local, binarna datoteka u igri došla je od instalatera dobavljača, a ne od apt. Takav instalater obično donosi vlastiti slušatelj, vlastiti unos za podizanje i vlastiti direktorij konfiguracije, pa uklanjanje vidljive naredbe ostavlja utičnicu zauzetom.
Deinstalirajte ga onako kako dobavljač dokumentira, potvrdite da je port slobodan pomoću ss -lunp i dodajte klijent iz distribucije samo ako vam treba.
Sredite stanje prije ponovnog pokušaja
Očistite neuspješno stanje prije nego iz njega izvučete zaključke: systemctl reset-failed uklanja brojače, a systemctl status zatim izvješćuje o trenutačnom stanju unita, a ne o njegovoj povijesti. Pokrenite ga jednom i čitajte dnevnik te instance, a ne zbirno stanje stroja. Unit koji izvješćuje da je aktivan dok tunel ne prenosi ništa zaseban je problem, i mnogo češći. Dvoje se spaja u prijavama pogrešaka jer oboje završava korisnikovim riječima da VPN ne radi.
Zabilježite granu koju ste odabrali: sukob portova, nedostajuća binarna datoteka, nedostajuća konfiguracija. Sljedeći će se put brže prepoznati.