Ako ulazni port i dalje prihvata veze nakon izlaska SSH-a, pregledajte sve tri unit datoteke. 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škujeAktivanNeaktivanFrontend može prihvatati posao bez svog backenda

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

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

Primijenite je na odgovarajući unit u stvarnom dizajnu. Requires= i redoslijed rješavaju samo dio veze. Već aktivan frontend inače možda nikada više neće pokrenuti aktivaciju nakon što mu backend nestane. Provjerite i stanje neuspjelih unita i 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 treba aktivirati potrebne servise, 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