systemd-socket-proxyd তার SSH SOCKS টানেলের পরেও টিকে থাকতে পারে
সকেট ফরওয়ার্ডিং সহায়কের জীবনচক্র SpaceX 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 সেশন ফিরিয়ে দেয় না।