systemd-socket-proxyd lahko preživi svoj tunel SSH SOCKS
Uskladite življenjski cikel pomočnika za posredovanje vtičnic z odvisnostjo od SSH, da mrtev tunel ne pusti zdravo videče sprednje strani.
Če sprednja vrata sprejemajo povezave po izhodu SSH, preglejte vse tri enote. Aktivacijska vtičnica, pomočnik systemd-socket-proxyd in poslušalec SOCKS, ki ga je ustvaril SSH, imajo različno življenjsko dobo:
| Vtičnica | Pomočnik | SSH | Razlaga |
|---|---|---|---|
| Posluša | Neaktiven | Neaktiven | Morda običajno čaka na zahtevo |
| Posluša | Aktiven | Aktiven | Procesi obstajajo; zdravje naslednjega cilja ostaja nedokazano |
| Posluša | Aktiven | Neaktiven | Sprednja stran lahko sprejema delo brez svojega zaledja |
Skupni zagon pomočnika in SSH ne določa poznejšega prehoda zaustavitve. Za pomočnika, ki ne sme ostati aktiven brez svojega tunela, systemd dokumentira močnejšo povezavo:
[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.serviceUporabite ga na ustrezni enoti v dejanski zasnovi. Requires= in vrstni red rešujeta le del razmerja. Že aktivna sprednja stran morda nikoli več ne sproži aktivacije, ko njeno zaledje izgine. Preverite tudi stanje neuspešnih enot in omejitve hitrosti zagona; odvisnosti teh omejitev ne razveljavijo.
Nato vzpostavite pripravljenost ob zagonu. After= razporeja opravila, ne pripravljenosti poslušalca SSH Type=simple. Fiksna pavza lahko spodleti pri počasni avtentikaciji. Uporabite zagonsko pogodbo, ki vzpostavi zahtevanega poslušalca; ExitOnForwardFailure=yes ujame napako pri nastavitvi posredovanja, ne poznejše dosegljivosti cilja.
Na koncu določite izhod v mirovanju in ponovno aktivacijo. Možnost izhoda v mirovanju demona za posredovanje zadeva odsotnost aktivnih povezav, ne pomanjkanja bajtov na odprti povezavi. Tiha seja ga lahko ohranja aktivnega. Naslednja zahteva naj aktivira potrebne storitve, zanke ponovnega zagona pa naj ostanejo omejene in vidne. Ponovno ustvarjanje poslušalca sprejema nove povezave; ne obnavlja starih posredovanih sej TCP.