Ako ulazni port i dalje prihvaća veze nakon izlaska SSH-a, pregledajte sve tri jedinice. Aktivacijski socket, pomoćnik systemd-socket-proxyd i SOCKS osluškivač koji stvara SSH imaju različite životne vijekove:

SocketPomoćnikSSHTumačenje
OsluškujeNeaktivanNeaktivanMožda normalno čeka zahtjev
OsluškujeAktivanAktivanProcesi postoje; zdravlje krajnjeg odredišta ostaje nedokazano
OsluškujeAktivanNeaktivanSučelje može prihvaćati posao bez svojeg pozadinskog dijela

Zajedničko pokretanje pomoćnika i SSH-a ne određuje kasniji prijelaz zaustavljanja. Za pomoćnik koji ne smije ostati aktivan bez tunela, systemd dokumentira jaču vezu:

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

Primijenite je na odgovarajuću jedinicu u stvarnom dizajnu. Requires= i redoslijed rješavaju samo dio veze. Već aktivno sučelje inače možda nikad više neće pokrenuti aktivaciju nakon što mu pozadinski dio nestane. Provjerite i stanje neuspjelih jedinica te ograničenja brzine pokretanja; ovisnosti ne nadjačavaju ta ograničenja.

Zatim uspostavite spremnost pri pokretanju. After= poreda poslove, ne spremnost SSH osluškivača Type=simple. Fiksno čekanje može neuspjeti tijekom spore autentifikacije. Koristite ugovor o pokretanju koji uspostavlja potrebni osluškivač; ExitOnForwardFailure=yes hvata neuspjeh postavljanja prosljeđivanja, a ne kasniju dostupnost odredišta.

Na kraju definirajte izlaz pri mirovanju i reaktivaciju. Opcija izlaza pri mirovanju daemona za prosljeđivanje tiče se odsutnosti aktivnih veza, a ne nedostatka bajtova na otvorenoj vezi. Tiha sesija može ga održavati aktivnim. Sljedeći zahtjev trebao bi aktivirati potrebne usluge, a petlje ponovnog pokretanja trebaju ostati ograničene i vidljive. Ponovno stvaranje osluškivača dopušta nove veze; ne vraća stare proksirane TCP sesije.

Povezani članci