অন্যান্য ifconfig
অপারেটিং সিস্টেমের সাথে সামঞ্জস্য রেখে ফ্রিবিএসডি এবং ওপেনবিএসডি-র মতো অপারেটিং সিস্টেমের কমান্ডটি আপডেট করা হয়েছিল। এটি আজকাল সেই অপারেটিং সিস্টেমে সমস্ত ধরণের নেটওয়ার্ক ইন্টারফেস সেটিংস কনফিগার করতে পারে এবং নেটওয়ার্ক প্রোটোকলের একটি ব্যাপ্তি পরিচালনা করতে পারে। বিএসডিগুলি ioctl()
এই বিষয়গুলির জন্য সহায়তা সরবরাহ করে।
লিনাক্স জগতে এটি ঘটেনি। আজ, তিনটি ifconfig
আদেশ আছে:
ifconfig
GNU inetutils থেকেjdebp% inetutils-ifconfig -l
enp14s0 enp15s0 lo
jdebp% inetutils-ifconfig lo
লিংক এনক্যাপ: স্থানীয় লুপব্যাক
ইনেট অ্যাডার: 127.0.0.1 বিকাশ: 0.0.0.0 মাস্ক: 255.0.0.0
ইউপি লুপব্যাক চলমান এমটিইউ: 65536 মেট্রিক: 1
আরএক্স প্যাকেট: 9087 ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ফ্রেম: 0
টিএক্স প্যাকেট: 9087 ত্রুটি: 0 বাদ: 0 ওভাররানস: 0 ক্যারিয়ার: 0
সংঘর্ষ: 0 txqueuelen: 1000
আরএক্স বাইট: 51214341 টিএক্স বাইট: 51214341
jdebp%
-
ifconfig
থেকে নেট-3 নেট-সরঞ্জাম jdebp% ifconfig -l
ifconfig: অপশন --help 'ব্যবহারের তথ্য দেয়।-l' not recognised.
ifconfig:
jdebp% ifconfig লো
lo: পতাকাগুলি = 73 <ইউপি, লুপব্যাক, চালানো> এমটিউ 65536
ইনেট 127.0.0.1 নেটমাস্ক 255.0.0.0
inet6 :: 1 উপসর্গ 128 স্কোপিড 0x10 <হোস্ট>
inet6 :: 2 উপসর্গ 128 স্কোপিড 0x80 <compat, গ্লোবাল>
inet6 fe80 :: উপসর্গ 10 স্কোপিড 0x20 <লিঙ্ক>
লুপ txqueuelen 1000 (স্থানীয় লুপব্যাক)
আরএক্স প্যাকেট 9087 বাইট 51214341 (48.8 মাইবি)
আরএক্স ত্রুটি 0 0 টি 0 ওভাররান 0 ফ্রেম 0 কেটে গেছে
টিএক্স প্যাকেট 9087 বাইট 51214341 (48.8 মাইবি)
টিএক্স ত্রুটি 0 0 টি 0 ছাড়িয়ে গেছে 0 ক্যারিয়ার 0 সংঘর্ষ 0
jdebp%
-
ifconfig
(সংস্করণ 1.40 এর) নশ টুলসেট থেকে jdebp% ifconfig -l
enp14s0 enp15s0 lo
jdebp% ifconfig লো
দেখ
লুপব্যাক চলমান লিঙ্ক আপ
লিঙ্ক ঠিকানা 00: 00: 00: 00: 00: 00 bdddr 00: 00: 00: 00: 00: 00
inet4 ঠিকানা 127.0.0.1 উপসর্গ 8 8 bdddr 127.0.0.1
inet4 ঠিকানা 127.53.0.1 উপসর্গ 8 8 bdddr 127.255.255.255
inet6 ঠিকানা :: 2 সুযোগ 0 উপসর্গ 128
inet6 ঠিকানা fe80 :: সুযোগ 1 উপসর্গ 10
inet6 ঠিকানা :: 1 সুযোগ 0 উপসর্গ 128
jdebp% sudo ifconfig lo inet4 127.1.0.2 ওরফে
jdebp% sudo ifconfig lo inet6 :: 3/128 ওরফে
jdebp% ifconfig লো
দেখ
লুপব্যাক চলমান লিঙ্ক আপ
লিঙ্ক ঠিকানা 00: 00: 00: 00: 00: 00 bdddr 00: 00: 00: 00: 00: 00
inet4 ঠিকানা 127.0.0.1 উপসর্গ 8 8 bdddr 127.0.0.1
inet4 ঠিকানা 127.1.0.2 উপসর্গ 32 32 bdddr 127.1.0.2
inet4 ঠিকানা 127.53.0.1 উপসর্গ 8 8 bdddr 127.255.255.255
inet6 ঠিকানা :: 3 সুযোগ 0 উপসর্গ 128
inet6 ঠিকানা :: 2 সুযোগ 0 উপসর্গ 128
inet6 ঠিকানা fe80 :: সুযোগ 1 উপসর্গ 10
inet6 ঠিকানা :: 1 সুযোগ 0 উপসর্গ 128
jdebp%
যেমন আপনি দেখতে পাচ্ছেন, জিএনইউ ইনটুটিলেটস এবং নেট -3 নেট-সরঞ্জামগুলির ifconfig
আইপিভি 6 এর সাথে সম্মত , একাধিক ঠিকানা রয়েছে এমন ইন্টারফেসের ক্ষেত্রে এবং এর মতো কার্যকারিতা সম্পর্কে সম্মতভাবে কিছু চিহ্নিত ঘাটতি রয়েছে -l
।
আইপিভি 6 সমস্যাটি কিছু অংশে নিজেরাই সরঞ্জামগুলিতে কিছু অনুপস্থিত কোড রয়েছে। তবে মূলত এটি লিনাক্স ioctl()
ইন্টারফেসের মাধ্যমে আইপিভি 6 কার্যকারিতা সরবরাহ করে না (অন্যান্য অপারেটিং সিস্টেমের মতো করে) এই কারণে ঘটেছিল । এটি প্রোগ্রামগুলিকে কেবল নেটওয়ার্কিং ioctl()
এর মাধ্যমে আইপিভি 4 অ্যাড্রেসগুলি দেখতে এবং পরিচালনা করতে দেয় ।
লিনাক্স পরিবর্তে একটি ভিন্ন ইন্টারফেসের মাধ্যমে এই কার্যকারিতা প্রদান করে, send()
এবং recv()
সকেট ঠিকানা পরিবার, একটি বিশেষ, এবং কিছুটা বিজোড়, AF_NETLINK
।
গনুহ এবং নিট -3 ifconfig
গুলি পারে এই নতুন API- টি ব্যবহার করার স্থায়ী হয়েছে। এমনটি বিরুদ্ধে যুক্তি হল যে এটি অন্যান্য অপারেটিং সিস্টেম পোর্টেবল ছিল না, কিন্তু এই প্রোগ্রাম অনুশীলন ছিল ইতিমধ্যে পোর্টেবল না যাহাই হউক না কেন , যাতে অনেক একটি যুক্তি ছিল না।
তবে সেগুলি সামঞ্জস্য করা হয়নি এবং আজ অবধি পূর্বের মতো প্রদর্শিত রয়েছে। (কয়েক বছর ধরে কিছু লোক তাদের উপর বিভিন্ন পয়েন্টে কাজ করেছে, তবে উন্নতিগুলি, দুঃখের সাথে বলতে হয়, এটি কখনই প্রোগ্রামগুলিতে রূপ দেয়নি For উদাহরণস্বরূপ: বার্নড একেনফেলস কখনও কোনও প্যাচ গ্রহণ করেনি যা নেট -3 নেট-সরঞ্জামগুলিতে কিছু নেটলিংক এপিআই সক্ষমতা যুক্ত করেছে) ifconfig
, প্যাচটি লেখার 4 বছর পরে।)
পরিবর্তে, কিছু লোক পুরোপুরি একটি ip
কমান্ড হিসাবে টুলসেটটিকে নতুনভাবে আবিষ্কার করেছিল, যা নতুন লিনাক্স এপিআই ব্যবহার করেছিল, একটি আলাদা বাক্য গঠন ছিল এবং একটি ফ্যাশনেবল- স্টাইল ইন্টারফেসের পিছনে বেশ কয়েকটি অন্যান্য ফাংশন একত্রিত করেছিল ।command subcommand
আমার ifconfig
এমন একটি দরকার ছিল ifconfig
যা ফ্রিবিএসডি-র কমান্ড-লাইন সিনট্যাক্স এবং আউটপুট শৈলীযুক্ত ছিল (যা জিএনইউ বা নেট -3 ifconfig
নেই, এবং যা ip
অবশ্যই নেই)। তাই আমি একটি লিখেছি। প্রমাণ হিসাবে যে কেউ ifconfig
লিনাক্সে নেটলিঙ্ক এপিআই ব্যবহার করতে পারে এমনটি লিখতে পারে it
সুতরাং ifconfig
আপনি যা উদ্ধৃত করেছেন তার মতো প্রাপ্ত বুদ্ধি , আর সত্য নয়। " নেটলিঙ্ক ব্যবহার করে না " এটি এখন অসত্যifconfig
। দু'টি coveredেকে থাকা কম্বলটি তিনটি কভার করে না।
"নেটলিঙ্কটি আরও দক্ষ" এটি বলা সর্বদা অসত্য ছিল been ifconfig
নেটলিংক এপিআই এবং এপিআইয়ের মধ্যে দক্ষতার বিষয়টি যখন আসে তখন যে কারও সাথে কাজ করে সেগুলিতে আসলে তেমন কিছু হয় না ioctl()
। যে কোনও দেওয়া কাজের জন্য একই সংখ্যক এপিআই কল দেয়।
প্রকৃতপক্ষে, প্রতিটি এপিআই কল হ'ল নেটলিংকের ক্ষেত্রে দুটি সিস্টেম কল, ioctl()
সিস্টেমের মধ্যে একটির বিপরীতে । এবং তাত্ক্ষণিকভাবে নেটলিঙ্ক এপিআইয়ের অসুবিধা রয়েছে যে একটি ভারী-ব্যবহৃত সিস্টেমে এটি স্পষ্টভাবে সরঞ্জামটি সম্ভাব্যভাবে সংযোজন করে যা কখনও এপিআই কলের ফলাফল সম্পর্কে অবহিত করে একটি স্বীকৃতি বার্তা গ্রহণ করে না।
এ ip
ছাড়া, এটি জিএনইউ এবং নেট -৩ ifconfig
এস এর চেয়ে "আরও বহুমুখী" বলা অসত্য, কারণ এটি নেট লিঙ্ক ব্যবহার করে । এটি আরও বহুমুখী কারণ এটি আরও বেশি কাজ করে, একটি বড় প্রোগ্রামে এমন কাজ করে যা একটি ব্যতীত অন্য পৃথক প্রোগ্রামের সাথে করে ifconfig
। এটি সেই অতিরিক্ত কাজগুলি সম্পাদনের জন্য অভ্যন্তরীণভাবে ব্যবহার করে এমন এপিআইয়ের ছাপ দিয়ে কেবল এটি বহুমুখী নয়। এপিআইয়ের অন্তর্নিহিত কিছুই নেই। এক একটি সব কিছু এক সরঞ্জাম যা FreeBSD 'র ব্যবহৃত লিখতে পারে ioctl()
এপিআই, উদাহরণস্বরূপ রাষ্ট্র, এবং সমানভাবে ভাল যে এটা "আরো বহুমুখী" চেয়ে পৃথক ifconfig
, route
, arp
, এবং ndp
কমান্ড।
এক লিখতে পারে route
, arp
এবং ndp
লিনাক্সের জন্য যে কমান্ড Netlink এপিআই, খুব ব্যবহার করা হয়েছে।
আরও পড়া
ip
আরও বহুমুখী করে তোলে , কারণ সমস্ত ধরণের শীতল বৈশিষ্ট্যগুলি লিনাক্সে আইওএসটিএল ব্যবহার করা কেবল অসম্ভব (কারণ আইওসিটিএলগুলি নেই এবং সম্ভবত কখনও হয় না)।