systemd-socket-proxyd kan sy SSH-SOCKS-tonnel oorleef
Rig die lewensduur van 'n socket-aanstuurhulp op sy SSH-afhanklikheid sodat 'n dooie tonnel nie 'n gesonde voorkant agterlaat nie.
As die voorkantpoort ná SSH se beëindiging verbindings aanvaar, ondersoek al drie eenhede. Die aktiveringssocket, die systemd-socket-proxyd-hulp en die SOCKS-luisteraar wat SSH skep, het verskillende lewensduurte:
| Socket | Hulp | SSH | Interpretasie |
|---|---|---|---|
| Luister | Onaktief | Onaktief | Wag moontlik normaal op aanvraag |
| Luister | Aktief | Aktief | Prosesse bestaan; die gesondheid van die bestemming verderaan bly onbewys |
| Luister | Aktief | Onaktief | Die voorkant kan werk aanvaar sonder sy backend |
Om die hulp en SSH saam te begin, bepaal nie die latere stop-oorgang nie. Vir 'n hulp wat nie sonder sy tonnel aktief mag bly nie, dokumenteer systemd die sterker verhouding:
[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.service
Pas dit in die werklike ontwerp op die toepaslike eenheid toe. Requires= en ordening dek slegs deel van die verhouding. 'n Reeds aktiewe voorkant sal andersins dalk nooit weer aktivering veroorsaak nadat sy backend verdwyn nie. Kontroleer ook die mislukte-eenheidstatus en die begin-tempo-limiete; afhanklikhede hef nie daardie perke op nie.
Stel daarna die gereedheid by die begin vas. After= orden take, nie die gereedheid van 'n Type=simple-SSH-luisteraar nie. 'n Vaste slaap kan tydens stadige verifikasie misluk. Gebruik 'n begin-kontrak wat die vereiste luisteraar vestig; ExitOnForwardFailure=yes vang mislukking van die aanstuur-opstelling, nie die latere bereikbaarheid van die bestemming nie.
Bepaal laastens die ledige uitgang en heraktivering. Die aanstuurdaemon se ledige-uitgang-opsie handel oor geen aktiewe verbindings nie, nie oor 'n gebrek aan grepe op 'n oop verbinding nie. 'n Stille sessie kan dit aktief hou. Die volgende aanvraag moet die vereiste dienste aktiveer, en herbegin-lusse moet begrens en sigbaar bly. Om die luisteraar te herskep, laat nuwe verbindings toe; dit herstel nie ou geproksieerde TCP-sessies nie.