systemd-socket-proxyd može nadživjeti svoj SSH SOCKS tunel
Uskladite životni ciklus pomoćnika za prosljeđivanje socketa sa SSH zavisnošću, kako mrtav tunel ne bi ostavio zdravo izgledajuću prednju stranu.
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:
| Socket | Pomoćnik | SSH | Tumačenje |
|---|---|---|---|
| Sluša | Neaktivan | Neaktivan | Može normalno čekati zahtjev |
| Sluša | Aktivan | Aktivan | Procesi postoje; zdravlje sljedećeg odredišta ostaje nedokazano |
| Sluša | Aktivan | Neaktivan | Prednja 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.servicePrimijenite 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.