Ak predný port prijíma spojenia po ukončení SSH, skontrolujte všetky tri jednotky. Aktivačný soket, pomocník systemd-socket-proxyd a SOCKS poslucháč vytvorený SSH majú rôznu životnosť:

SoketPomocníkSSHInterpretácia
PočúvaNeaktívnyNeaktívnyMôže normálne čakať na dopyt
PočúvaAktívnyAktívnyProcesy existujú; stav ďalšieho cieľa zostáva nepreukázaný
PočúvaAktívnyNeaktívnyFront môže prijímať prácu bez svojho backendu

Spoločné spustenie pomocníka a SSH nedefinuje neskorší prechod zastavenia. Pre pomocníka, ktorý nesmie zostať aktívny bez svojho tunela, systemd dokumentuje silnejší vzťah:

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

Aplikujte ho na príslušnú jednotku v skutočnom návrhu. Requires= a poradie riešia len časť vzťahu. Už aktívny front inak nemusí po zmiznutí backendu nikdy znovu vyvolať aktiváciu. Skontrolujte aj stav zlyhaných jednotiek a limity rýchlosti spúšťania; závislosti tieto limity neprebíjajú.

Ďalej stanovte pohotovosť pri spustení. After= zoraďuje úlohy, nie pohotovosť Type=simple SSH poslucháča. Pevná pauza môže zlyhať pri pomalej autentifikácii. Použite štartovaciu zmluvu, ktorá stanovuje požadovaného poslucháča; ExitOnForwardFailure=yes zachytí zlyhanie nastavenia presmerovania, nie neskoršiu dostupnosť cieľa.

Nakoniec definujte výstup pri nečinnosti a reaktiváciu. Voľba výstupu pri nečinnosti démona presmerovania sa týka neprítomnosti aktívnych spojení, nie nedostatku bajtov na otvorenom spojení. Tichá relácia ho môže udržiavať aktívnym. Ďalší dopyt by mal aktivovať potrebné služby a reštartovacie slučky by mali zostať obmedzené a viditeľné. Opätovné vytvorenie poslucháča prijíma nové spojenia; neobnovuje staré proxyované TCP relácie.

Súvisiace články