কোনও নেটওয়ার্ক ইন্টারফেসটি ট্যাপ, টুন, ব্রিজ বা শারীরিক কিনা তা কীভাবে জানবেন?


19

যতদূর আমি জানি, লিনাক্সে 4 টি জাতীয় ধরণের নেটওয়ার্ক ইন্টারফেস রয়েছে: টিউন, ট্যাপ, সেতু এবং শারীরিক।

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

ইন্টারফেসটি কোনও সুর, ট্যাপ, সেতু বা শারীরিক কিনা তা আমি কীভাবে জানতে পারি?

দ্রষ্টব্য: আমি দাবি করি না যে লিনাক্সে অন্য কোনও ধরণের নেটওয়ার্ক ইন্টারফেস নেই, তবে আমি কেবল এই 4 টি জানি।

উত্তর:


18

আমি মনে করি না যে তাদের পার্থক্য করার একটি সহজ উপায় আছে। চারপাশে হাঁসফাঁস করার সময় /sys/class/netআমি নিম্নলিখিত পার্থক্যগুলি পেয়েছি:

  • শারীরিক ডিভাইসগুলির একটি /sys/class/net/eth0/deviceসিমিলিংক রয়েছে
  • সেতুর একটি /sys/class/net/br0/bridgeডিরেক্টরি রয়েছে
  • TUN এবং TAP ডিভাইসগুলির একটি /sys/class/net/tap0/tun_flagsফাইল রয়েছে
  • ব্রিজ এবং লুপব্যাক ইন্টারফেস 00:00:00:00:00:00রয়েছে/sys/class/net/lo/address


ভার্চুয়াল ডিভাইসগুলিতেও এ জাতীয় একটি deviceসিমিলিংক থাকতে পারে : ওপেনআরটি (এম্বেডড লিনাক্স) চালিত একটি রাউটারে ls -l /sys/class/net/lan1/deviceদেখায় /sys/class/net/lan1/device -> ../../../dsa.0। আমি দেখতে পেলাম যে শারীরিক ইন্টারফেসগুলির আউটপুটটিতে একটি বাধা প্রবেশ রয়েছে ifconfig। এটি আশ্চর্যের বিষয় যে কোনও ইন্টারফেস সম্পর্কে এমন সাধারণ প্রশ্নের উত্তর দেওয়া খুব কঠিন বলে মনে হয়। তদন্ত অব্যাহত রয়েছে ...
লুমি

পিপিপি ভার্চুয়াল ডিভাইস সম্পর্কে কীভাবে?
মাট ফ্রেমম্যান

23

TUN এবং TAP ডিভাইস সম্পর্কিত: উপরের চেকটি করা যথেষ্ট নয়।

কারণটি হ'ল যখন আমরা একটি টিউএন ডিভাইস তৈরি করি এবং (ত্রুটি করে) এটিকে ট্যাপ 10 বলে থাকি তখন কেসগুলি হতে পারে; বা একটি ট্যাপ ডিভাইস তৈরি করুন এবং এটি টিউন 10 নাম দিন। সুতরাং, আমি কীভাবে এটি জানতে পারি যে এটি কোনও টিউন ডিভাইস বা কোনও ট্যাপ ডিভাইস, যেহেতু দু'জনেরই "টিউন_ফ্ল্যাজ" এন্ট্রি থাকবে?

উত্তর চালানো হয় ethtool -i tunOrTapDeviceName

  • কোনও ট্যাপ ডিভাইসের ক্ষেত্রে আমরা পাবেন: "বাস-তথ্য: আলতো চাপুন"।
  • একটি টিউন ডিভাইসের ক্ষেত্রে আমরা পাবেন: "বাস-ইনফো: টিউন"।

উদাহরণ

$ ethtool -i tapfffb93e9-6a
driver: tun
version: 1.6
firmware-version:
bus-info: tap
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

কোনও ইন্টারফেস এটি শারীরিক বা সেতুর কিনা তা খুঁজে পাওয়ার জন্য কোনও ইথল কমান্ড নেই?
ম্যাডকোড

এই উত্তরটি আরও সংক্ষিপ্ত এবং সাধারণ-উদ্দেশ্য সমাধান।
জোশুয়া মিলার

@ এমডকোড সাধারণ ক্ষেত্রে আপনি driverক্ষেত্রটি চান । ব্রিজগুলি দেখাবে driver: bridge। দুর্ভাগ্যক্রমে driver: tunপ্যাটার্নটি ভেঙে দু'টিই দেখান / ট্যাপ করুন ।
সোর্সজেডি

হ্যাঁ এই উত্তর। অন্যটি কেবল আপনাকে জানায় যদি ইন্টিফটি ভার্চুয়াল না হয়! আপনি এমন কোনও নামের সাথে একটি ট্যাপ ইন্টারফেসের নাম রাখতে পারেন যা ইন্টারফেসের প্রকৃতির কোনও ইঙ্গিত দেয় না
MiniMe

9

আপনি আরও-বা-কম অপ্রকাশিত -dবিকল্পটি ব্যবহার করতে পারেন ip(8), যা আপনাকে সুর, আলতো চাপুন এবং ভ্যাথ সহ নির্দিষ্ট ডিভাইসের ধরণের কথা বলে:

যেমন

$ ip -d a
[regular devices]
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 52:54:00:c8:12:ec brd ff:ff:ff:ff:ff:ff promiscuity 0 
tun

... tunশেষ লাইনে নোট ।

আপনি -dসাথে ব্যবহার করতে পারেন ip l


iproute2 যেমন একটি দুর্দান্ত সরঞ্জাম। খুব খারাপ তাই অনেকগুলি বৈশিষ্ট্য আবিষ্কার করা শক্ত।
ছোট

4

এই আদেশটি কাজটি করবে:

আইপি টুনটাপ

ফলাফল উদাহরণ:

vnet0: tap

বা বিশদ সহ:

আইপি-বিবরণ টুনটাপ

ফলাফল উদাহরণ:

vnet0: tap
    Attached to processes: qemu-system-x86(2225)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.