লিনাক্স ইফিমেরাল পোর্ট পরিসর পরিবর্তন করা কতটা নিরাপদ


14

আমি আমার লিনাক্স বাক্সে নীচের ইফেমেরাল পোর্ট পরিসর দেখতে পাচ্ছি।

sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768    61000

আমি বন্দরের পরিসরটি প্রায় 16000 থেকে শুরু করতে প্রসারিত করতে চাই here এখানে একটি দ্রুত প্রশ্ন হচ্ছে: অন্যান্য অ্যাপ্লিকেশনগুলির প্রসঙ্গে পরিসর পরিবর্তন করা কতটা নিরাপদ? অন্যান্য প্রয়োগগুলি কি এই পরিবর্তন দ্বারা প্রভাবিত হবে? আমি বুঝতে পারি যে কোনও অ্যাপ্লিকেশন কেবলমাত্র যদি নির্দিষ্ট পোর্ট পরিসরে পোর্ট (গুলি) ব্যবহার করে তবে তা প্রভাবিত হয়। তবে সাধারণভাবে, এই ধরণের সমস্যাগুলি কীভাবে এটি মোকাবেলা করা হয়?


আমি মনে করি না যে অন্যান্য অ্যাপ্লিকেশনগুলিতে কোনও প্রভাব আছে, তবে আমি নিশ্চিত নই। আকর্ষণীয় প্রশ্ন।
ইকরাবে

ঠিক। এমনকি আমি অন্য কিছু ডকুমেন্টেশন সন্ধান করার চেষ্টা করেছি এবং অন্যান্য অ্যাপ্লিকেশনগুলিতে আমি কোনও প্রভাব পাইনি। নীচের দুটি লিঙ্কটি কেন আমি এই সমস্যার মুখোমুখি হয়েছিল তার কারণ সম্পর্কে দুর্দান্ত ব্যাখ্যা: vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html ncftp.com/ncftpd/doc/misc /ephemeral_ports.html
আশ্বিন তুমা

@ ক্রেব্বে এটি অবশ্যই অন্যান্য অ্যাপ্লিকেশনগুলিতে প্রভাব ফেলবে যদি, উদাহরণস্বরূপ, যদি আপনার ব্রাউজার কোনও ওয়েব সাইটে যোগাযোগের জন্য একটি ক্ষুদ্রকালীন বন্দর খোলে, তবে কেউ / জিনিস কোনও অ্যাপ্লিকেশন শুরু করার চেষ্টা করে যা কাকতালীয়ভাবে সেই বন্দরটি ব্যবহার করে। আবেদন ব্যর্থ হবে।
স্বর্ণলোকস

3
কেবল সম্পূর্ণতার জন্য, পোর্ট নম্বর পরিসীমা সম্পাদনা করার জন্য সিনট্যাক্সটি নিম্নরূপ: do sudo sysctl -w নেট.ipv4.ip_local_port_range = "15000 61000"
আশ্বিন তুম্ম

উত্তর:


10

ইফেমেরাল বন্দর পরিসর পরিবর্তন করা যদি আপনি মেসোস ব্যবহার করেন তবে সমস্যা হতে পারে ।

মেসোস হোস্টের বিভিন্ন সংস্থাকে বিভিন্ন মেসো ফ্রেমওয়ার্কগুলিতে বিজ্ঞাপন দেয় যা এর পরে বিজ্ঞাপনিত সংস্থানগুলি ব্যবহার করতে বেছে নিতে পারে। বিজ্ঞাপনিত সংস্থানগুলিতে সিপিইউ, মেমরি, পোর্ট ইত্যাদি অন্তর্ভুক্ত থাকে মেসোস বিজ্ঞাপন দেয় যে বন্দরগুলির ডিফল্ট সেটটি 31000-32000 । এটি 32768-61000 এর ডিফল্ট লিনাক্স ইফেমেরাল পোর্ট সীমার সাথে সংঘর্ষ এড়ায়

উল্লেখযোগ্যভাবে, মেসোস জানেন না যে কোনও বন্দরটি অন্য কোনও প্রক্রিয়া দ্বারা ব্যবহৃত হয়েছিল কিনা, এটি কেবল অর্কেস্ট্রেটেড সংস্থাগুলি ( মেসোস টাস্কস এবং মেসো এক্সিকিউটারস ) বন্দরগুলির কার্যকারিতা ট্র্যাক করে । সুতরাং আপনি যদি মেসোস বন্দর পরিসীমাটির সাথে ওভারল্যাপের সাথে সাময়িক বন্দর পরিসর পরিবর্তন করেন তবে সম্ভবত কিছু স্বেচ্ছাসেবী প্রক্রিয়া একটি অতিবৃত্তীয় বন্দর ব্যবহার করবে যা আসলে "মেসোস বন্দর "গুলির মধ্যে একটি। এটি মেসোসকে সেই বন্দরটি কোনও মেসোস ফ্রেমওয়ার্কে সরবরাহ করতে পারে, যা তার মেসো এক্সিকিউটার এবং / অথবা মেসোস টাস্কগুলির আপাতদৃষ্টিতে এলোমেলো ব্যর্থতার মুখোমুখি হতে পারে কারণ তারা সেই বন্দরে বাঁধতে অক্ষম হবে।

আপনার যদি আপনার সাময়িক বন্দরের পরিধি বাড়ানোর প্রয়োজন হয় এবং মেসোস চালানো দরকার হয় তবে আপনি কনফিগারেশন প্যারামিটারের mesos-slave(শীঘ্রই নামকরণ করা হবে mesos-agent) এর মাধ্যমে বিজ্ঞাপনীকৃত বন্দরগুলি পরিবর্তন করতে পারেন --resources


4

আপনার স্থানীয় /etc/servicesফাইলটিতে এই সীমার মধ্যে কী রয়েছে তা দেখে আপনি সম্ভাব্য প্রভাবিত পরিষেবাদির একটি তালিকা পেতে পারেন :

awk '/^#/ { next } $2+0 >= 16000 && $2+0 < 32768 { print }' /etc/services

বা অনুমোদিত জায়গায়:

wget http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
awk -F, '$2+0 >= 16000 && $2+0 < 32768 { print }' service-names-port-numbers.csv

Awk স্ক্রিপ্টের জন্য ধন্যবাদ, এটি অবশ্যই পরিষেবাগুলিতে তালিকাভুক্ত সেই সমস্ত বন্দরগুলির সনাক্তকরণে সহায়তা করে!
আশ্বিন তুম্মা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.