A systemd-socket-proxyd túlélheti az SSH SOCKS alagútját
Hangold a socket-továbbító segéd életciklusát az SSH-függőségéhez, hogy egy halott alagút ne hagyjon egészségesnek látszó előoldalt.
Ha az előoldali port az SSH kilépése után is fogad kapcsolatokat, vizsgálja meg mindhárom unitot. Az aktiváló socket, a systemd-socket-proxyd segéd és az SSH által létrehozott SOCKS figyelő élettartama eltér:
| Socket | Segéd | SSH | Értelmezés |
|---|---|---|---|
| Figyel | Inaktív | Inaktív | Lehet, hogy normálisan igényre vár |
| Figyel | Aktív | Aktív | Vannak folyamatok; a további cél egészsége bizonyítatlan marad |
| Figyel | Aktív | Inaktív | Az előoldal a háttéralkalmazás nélkül is fogadhat munkát |
A segéd és az SSH együttes indítása nem határozza meg a későbbi leállási átmenetet. Egy olyan segédhez, amelynek alagút nélkül nem szabad aktívnak maradnia, a systemd az erősebb kapcsolatot dokumentálja:
[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.service
Alkalmazza a tényleges tervezésben a megfelelő unitra. A Requires= és a sorrend a kapcsolatnak csak egy részét kezeli. Egy már aktív előoldal egyébként soha többé nem indíthat aktiválást, miután a háttéralkalmazása eltűnik. Ellenőrizze a sikertelen unitok állapotát és az indítási sebesség korlátait is; a függőségek nem írják felül ezeket a korlátokat.
Ezután biztosítsa az indítási készenlétet. A After= a feladatokat rendezi, nem egy Type=simple SSH figyelő készenlétét. Egy rögzített várakozás lassú hitelesítés közben meghiúsulhat. Használjon olyan indítási szerződést, amely létrehozza a szükséges figyelőt; a ExitOnForwardFailure=yes a továbbítás beállításának hibáját kapja el, nem a cél későbbi elérhetőségét.
Végül határozza meg az üresjárati kilépést és az újraaktiválást. A továbbító daemon üresjárati kilépési opciója az aktív kapcsolatok hiányára vonatkozik, nem a nyitott kapcsolaton hiányzó bájtokra. Egy csendes munkamenet aktívan tarthatja. A következő igénynek aktiválnia kell a szükséges szolgáltatásokat, és az újraindítási hurkoknak korlátozottnak és láthatónak kell maradniuk. A figyelő újbóli létrehozása új kapcsolatokat enged be; nem állítja vissza a régi proxyn átment TCP munkameneteket.