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 सत्रे पुनर्संचयित होत नाहीत.