systemd-socket-proxyd өзүнүн SSH SOCKS туннелинен узак жашашы мүмкүн
Сокетти өткөрүүчү жардамчынын жашоо циклин анын SSH көз карандылыгына шайкеш келтириңиз, өлгөн туннель ден соолугу жакшы көрүнгөн алдыңкы бөлүктү калтырбашы үчүн.
Эгер SSH чыккандан кийин алдыңкы порт дагы эле туташууларды кабыл алса, үч бирдикти тең текшериңиз. Активдештирүү сокети, systemd-socket-proxyd жардамчысы жана SSH жараткан SOCKS угуучусу ар башка жашоо узактыгына ээ:
| Сокет | Жардамчы | SSH | Чечме |
|---|---|---|---|
| Угуп жатат | Активдүү эмес | Активдүү эмес | Балким адаттагыдай суроону күтүп жатат |
| Угуп жатат | Активдүү | Активдүү | Процесстер бар; бирок акыркы максаттын ден соолугу далилденген эмес |
| Угуп жатат | Активдүү | Активдүү эмес | Алдыңкы бөлүк арткы бөлүгү жок иш ала алат |
Жардамчы менен SSHди чогуу баштоо кийинки токтоо өтүшүн аныктабайт. Туннели жок активдүү болбой турган жардамчы үчүн systemd күчтүүрөөк байланышты документтештирет:
[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.service
Аны реалдуу долбоордо тиешелүү бирдикке колдонуңуз. Requires= жана тартип байланыштын бир бөлүгүн гана чечет. Мурунтан активдүү алдыңкы бөлүк арткы бөлүгү жоголгондон кийин эми эч качан активдештирүүнү пайда кылбашы мүмкүн. Ишке ашпаган бирдиктердин абалын жана баштоо ылдамдыгынын чегин да текшериңиз; көз карандылыктар бул чектерди жокко чыгарбайт.
Андан кийин баштоо даярдыгын орнотуңуз. After= тапшырмаларды иреттейт, Type=simple SSH угуучусунун даярдыгын эмес. Туруктуу күтүү жай аутентификацияда ишке ашпай калышы мүмкүн. Керектүү угуучуну орноткон баштоо келишимин колдонуңуз; ExitOnForwardFailure=yes өткөрүү жөндөөсүнүн ишке ашпастыгын кармайт, кийинки максатка жетүүнү эмес.
Акыры, бош турганда чыгууну жана кайра активдештирүүнү аныктаңыз. Өткөрүү демонунун бош чыгуу параметри активдүү туташуулардын жоктугуна тиешелүү, ачык туташуудагы байттардын жоктугуна эмес. Тынч сессия аны активдүү кармап турушу мүмкүн. Кийинки суроо керектүү кызматтарды активдештириши керек, ал эми кайра баштоо циклдери чектелүү жана көрүнүктүү бойдон калышы керек. Угуучуну кайра жаратуу жаңы туташууларды кабыл алат; эски проксиленген TCP сессияларын калыбына келтирбейт.