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 сессияларын қалпына келтірмейді.