Ako prednji port prihvata veze nakon što SSH izađe, pregledajte sve tri jedinice. Aktivacijski socket, systemd-socket-proxyd pomoćnik i SOCKS slušalac koji je stvorio SSH imaju različit životni vijek:

SocketPomoćnikSSHTumačenje
SlušaNeaktivanNeaktivanMože normalno čekati zahtjev
SlušaAktivanAktivanProcesi postoje; zdravlje sljedećeg odredišta ostaje nedokazano
SlušaAktivanNeaktivanPrednja strana može prihvatiti posao bez svog pozadinskog dijela

Zajedničko pokretanje pomoćnika i SSH ne definira kasniji prelaz zaustavljanja. Za pomoćnika koji ne smije ostati aktivan bez svog tunela, systemd dokumentira jaču vezu:

[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.service

Primijenite to na odgovarajuću jedinicu u stvarnom dizajnu. Requires= i redoslijed rješavaju samo dio veze. Već aktivna prednja strana inače možda nikada više neće pokrenuti aktivaciju nakon što njezin pozadinski dio nestane. Provjerite i stanje neuspjelih jedinica i ograničenja brzine pokretanja; zavisnosti ne poništavaju ta ograničenja.

Zatim uspostavite spremnost za pokretanje. After= raspoređuje poslove, a ne spremnost Type=simple SSH slušaoca. Fiksna pauza može zakazati tijekom spore autentifikacije. Koristite ugovor o pokretanju koji uspostavlja potrebnog slušaoca; ExitOnForwardFailure=yes hvata neuspjeh postavljanja prosljeđivanja, a ne kasniju dostupnost odredišta.

Na kraju, definirajte izlaz u mirovanju i reaktivaciju. Opcija izlaza u mirovanju demona za prosljeđivanje odnosi se na odsutnost aktivnih veza, a ne na nedostatak bajtova na otvorenoj vezi. Tiha sesija može ga održavati aktivnim. Sljedeći zahtjev treba aktivirati potrebne usluge, a petlje ponovnog pokretanja trebaju ostati ograničene i vidljive. Ponovno stvaranje slušaoca prihvaća nove veze; ne vraća stare proxyirane TCP sesije.

Povezani članci