লিনাক্সে, কোন মেট্রিকের কোনও মেট্রিক নেই?


11

আপনার যদি (লিনাক্সে) এই দুটি রুট থাকে:

default via 192.168.1.1 dev enp58s0f1
default via 192.168.16.1 dev wlp59s0  proto static  metric 600

আমি প্রত্যাশা করব যে প্রথমটি ব্যবহৃত হয়, তবে এটি হয় না: পরিবর্তে দ্বিতীয়টি ব্যবহৃত হয়।

আমি যদি এটিতে এটি পরিবর্তন করি:

default via 192.168.1.1 dev enp58s0f1  proto static  metric 100 
default via 192.168.16.1 dev wlp59s0  proto static  metric 600

তারপরে এটি প্রত্যাশার মতো কাজ করে। দেখে মনে হচ্ছে যে "নো ম্যাট্রিক" কোনও মেট্রিক 0 এর পরিবর্তে কোনও সংখ্যার চেয়ে খারাপ (উচ্চতর) মেট্রিক।

এ কি হচ্ছে? এটি কি লিনাক্সের সাথে নির্দিষ্ট, বা কোনও নেটওয়ার্কিং স্ট্যান্ডার্ড?

আগাম ধন্যবাদ.

উত্তর:


6

আপনি কি আপনার প্রথম পর্যবেক্ষণ সম্পর্কে নিশ্চিত? তখন কি ip route showবা route -nদেখায়? আপনি proto staticযদি প্রথম ক্ষেত্রে যুক্ত করেন তবে ফলাফল কি পরিবর্তন হবে ?

আমি কমপক্ষে দুটি সংস্থান পেয়েছি যা স্পষ্ট করে বলে যে 0লিনাক্সের ডিফল্ট মান:

  • http://0pointer.de/lennart/projects/ifmetric/ : লিনাক্স কার্নেলের একটি রুটের ডিফল্ট মেট্রিক 0, যার অর্থ সর্বোচ্চ অগ্রাধিকার।
  • http://www.man7.org/linux/man-pages/man8/route.8.html : এই বিকল্পটি ইনেট 6 (আইপিভি 6) এর জন্য মেট্রিক নির্দিষ্ট করা না থাকলে ইনাইট (আইপিভি 4) এর জন্য পরিবারের ডিফল্টকে '1' এ সম্বোধন করবে এটি '0' এ ডিফল্ট হয়। (এটির পরে ইঙ্গিত দেওয়া হয় যে ব্যবহারের সময় ডিফল্ট আলাদা হতে পারে iproute2তবে এই উত্সগুলির বিশ্লেষণগুলি এটি কী তা দেখায় না)

একটি লিনাক্স কার্নেল হ্যাকার অবশ্যই এটি বাছাই করার প্রয়োজন হবে।

ডিফল্ট যা যা চয়ন করা হয় তা স্পষ্টভাবে ওএস নির্দিষ্ট। এই নিবন্ধটি ( https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes ) উদাহরণস্বরূপ উইন্ডোজ ডিফল্ট মেট্রিক চয়ন করে লিঙ্কটির ব্যান্ডউইথের উপর ভিত্তি করে।


আমি আপনার উত্তরটিকে সঠিক হিসাবে চিহ্নিত করছি কারণ আমি আমার কম্পিউটারে এই আচরণটি আর দেখিনি। আমি এটিকে কিছু উদ্ভট বিষয়টিতে দোষ দিচ্ছি যা উবুন্টুর সাথে ডেস্কটপ কম্পিউটারে ঘটেছিল, কমপক্ষে প্রশ্নটির সময় আমার কাছে যে সংস্করণ ছিল তা দিয়ে। আমি উবুন্টু এলটিএস চালিত কয়েকটি অন্যান্য বাক্সে এটি ঘটতে দেখিনি। সুতরাং, একটি এক্স-ফাইল (এটি কি আজকাল খুব রেফারেন্স?)। আপনার উত্তরের জন্য ধন্যবাদ!
rsuarez

6

যেহেতু এই রুটগুলি বিভিন্ন সাবনেটগুলিতে রয়েছে তাই এখানে কেবল মেট্রিকের চেয়ে আরও বেশি কিছু জড়িত। তাহলে উদ্ভব ট্রাফিক 192.168.1.1 সাবনেট হয়, উদাহরণস্বরূপ, এবং সেখানে আপনার রাউটিং টেবিলে একটি মানানসই অ ডিফল্ট রুট, তাহলে সেই রুট মাধ্যমে ম্যাচ হবে দীর্ঘতম উপসর্গ ম্যাচ সামনে মেট্রিক কি কখনো বিবেচনা করা হয়।

অনুমান করা যায় যে অ-ডিফল্ট রুটটি মিলছে না, তারপরে কোনও মেট্রিক না থাকার কার্নেল দ্বারা 0 এর মেট্রিক থাকার অর্থ ব্যাখ্যা করা উচিত , এবং সেহেতু সর্বোচ্চ অগ্রাধিকারের রুট। যদিও এটি সরল দৃষ্টিভঙ্গি কারণ কিছু রাউটিং ডেমনগুলি পরে সেই ডিফল্ট মেট্রিককে 1024 এর মতো অন্য একটি মান হিসাবে অনুবাদ করবে I আমি আশা করি এটি আপনার এবং আপনার নামবিহীন ডিস্ট্রোতে ঘটছে is

যদি ip routeকোনও মেট্রিক না দেখায় তবে আপনি route -nনেট-সরঞ্জাম প্যাকেজ থেকে পুরানো কমান্ড ব্যবহার করে বা এটি নিশ্চিত করতে পারেন যে এটি সত্যই 0 cat /proc/net/route। তবে এই আউটপুটটি 0 মেট্রিক মানের মুখোমুখি হওয়ার সাথে সাথে রাউটিং ডেমনটি অভ্যন্তরীণভাবে কী ব্যবহার করবে তা মেলে না।

এছাড়াও আপনি কীভাবে রুটটি তৈরি করেন তাও গুরুত্বপূর্ণ। ip routeনেটলিঙ্ক এপিআই ব্যবহার করে, যখন আইওএসটিএল ব্যবহার করে route। দুটি পদ্ধতির মধ্যে কীভাবে ডিফল্ট মেট্রিক তৈরি করা হয় তার কোডের ফলে বিভিন্ন মেট্রিক মান হয়। উদাহরণস্বরূপ: এর মাধ্যমে আইপিভি 6 ডিফল্ট রুট তৈরির ip routeফলে আরএইচইএল 7 তে 1024 এর মেট্রিক মান routeআসবে এবং একই রুটটি তৈরি করার ফলে 1 এর মেট্রিক হবে।

রেডহ্যাট থেকে :

  • রুট কমান্ডে যদি কিছু না পৌঁছে যায় তবে রুট মেট্রিক হিসাবে কমান্ড নিজেই 1 এর মান ব্যবহার করে।
  • রুট মেট্রিক হিসাবে আইপি কমান্ডে কিছু না পারলে অ্যাট্রিবিউটটি তৈরি হয় না এবং কার্নেল এটিকে 0 হিসাবে বোঝে, যা পরে 1024 কে ডিফল্ট হিসাবে অনুবাদ করা হয়।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.