systemd-socket-proxyd môže prežiť svoj SSH SOCKS tunel
Zlaďte životný cyklus pomocníka presmerovania soketov so závislosťou na SSH, aby mŕtvy tunel nezanechal zdravo vyzerajúci front.
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ť:
| Soket | Pomocník | SSH | Interpretácia |
|---|---|---|---|
| Počúva | Neaktívny | Neaktívny | Môže normálne čakať na dopyt |
| Počúva | Aktívny | Aktívny | Procesy existujú; stav ďalšieho cieľa zostáva nepreukázaný |
| Počúva | Aktívny | Neaktívny | Front 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.serviceAplikujte 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.