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

Қатысты мақалалар