শারীরিক অ্যাডাপ্টার ছাড়াই আমি কীভাবে কোনও মেশিনে ভার্চুয়াল ইথারনেট ইন্টারফেস তৈরি করতে পারি?


68

আমার কাছে একটি ডেল এক্সপিএস ১৩ টি আল্ট্রাবুক রয়েছে যার ওয়াইফাই নিক রয়েছে তবে কোনও শারীরিক ইথারনেট নিক (ডাব্লান ০, তবে কোনও এথ0) নেই। এনএফএসের সাথে ভ্যাগ্র্যান্ট ব্যবহারের জন্য আমার একটি ভার্চুয়াল অ্যাডাপ্টার তৈরি করতে হবে তবে আমি খুঁজে পাচ্ছি যে আদর্শটি ifup eth0:1...ব্যর্থ হয় ignoring unknown interface eth0:1=eth0:1। আমি এর বিরুদ্ধে ভার্চুয়াল ইন্টারফেস তৈরির চেষ্টাও করেছি wlan0, তবে একই ফলাফল পেয়েছি।

কোনও শারীরিক ইন্টারফেস ছাড়াই আমি কীভাবে এই মেশিনে ভার্চুয়াল ইন্টারফেস তৈরি করতে পারি?


প্রথমে নিশ্চিত হয়ে নিন যে আপনার ড্রাইভারটি যে wlan0 দ্বারা ব্যবহৃত হচ্ছে আলিয়াসিং সমর্থন করে। ভার্চুয়াল ইন্টারফেসের সাথে এটি অন্য নাম। আমার A এর মাধ্যমে এই প্রশ্নটিতে কীভাবে দেখুন: unix.stackexchange.com/questions/108396/… । বিটিডাব্লু আপনি যদি শারীরিক ডিভাইসটি না রাখেন তবে আপনি এথ0 এর বিপরীতে কোনও উপনাম তৈরি করতে পারবেন না।
slm

এছাড়াও আপনি ব্যবহার অতিরিক্ত আইপিগুলি যোগ করতে পারেন ipখুব কমান্ড প্রয়োগ করুন: xmodulo.com/2013/02/...
SLM

উত্তর:


103

একটি ডামি ইন্টারফেস সেট আপ করা হচ্ছে

আপনি যদি নেটওয়ার্ক ইন্টারফেস তৈরি করতে চান তবে এর ব্যাক করার জন্য কোনও শারীরিক এনআইসির অভাব রয়েছে, আপনি ডামি লিঙ্কের ধরণটি ব্যবহার করতে পারেন। আপনি তাদের সম্পর্কে এখানে আরও পড়তে পারেন: iproute2 উইকিপিডিয়া পৃষ্ঠা

Eth10 তৈরি করা হচ্ছে

এই ইন্টারফেসটি তৈরি করার জন্য আপনাকে প্রথমে নিশ্চিত করতে হবে যে আপনার কাছে ডামি কার্নেল মডিউলটি লোড হয়েছে। আপনি এটি এর মতো করতে পারেন:

$ sudo lsmod | grep dummy
$ sudo modprobe dummy
$ sudo lsmod | grep dummy
dummy                  12960  0 

ড্রাইভারের বোঝা এখন আপনি নিজের পছন্দ মতো ডামি নেটওয়ার্ক ইন্টারফেস তৈরি করতে পারবেন:

$ sudo ip link set name eth10 dev dummy0

এবং এটি নিশ্চিত করুন:

$ ip link show eth10
6: eth10: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default 
    link/ether c6:ad:af:42:80:45 brd ff:ff:ff:ff:ff:ff

ম্যাক পরিবর্তন করা হচ্ছে

আপনি যদি চান তবে আপনি ম্যাকের ঠিকানাটি পরিবর্তন করতে পারেন:

$ sudo ifconfig eth10 hw ether 00:22:22:ff:ff:ff
$ ip link show eth10
6: eth10: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default 
    link/ether 00:22:22:ff:ff:ff brd ff:ff:ff:ff:ff:ff

একটি উপনাম তৈরি করা হচ্ছে

এরপরে আপনি এথ 10 এর শীর্ষে এলিয়াস তৈরি করতে পারেন।

$ sudo ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0

এবং তাদের মত নিশ্চিত করুন:

$ ifconfig -a eth10
eth10: flags=130<BROADCAST,NOARP>  mtu 1500
        ether 00:22:22:ff:ff:ff  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

$ ifconfig -a eth10:0
eth10:0: flags=130<BROADCAST,NOARP>  mtu 1500
        inet 192.168.100.199  netmask 255.255.255.0  broadcast 192.168.100.255
        ether 00:22:22:ff:ff:ff  txqueuelen 0  (Ethernet)

বা ব্যবহার ip:

$ ip a | grep -w inet
    inet 127.0.0.1/8 scope host lo
    inet 192.168.1.20/24 brd 192.168.1.255 scope global wlp3s0
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
    inet 192.168.100.199/24 brd 192.168.100.255 scope global eth10:0

এই সব মুছে ফেলা হচ্ছে?

আপনি যদি এই সমস্তটি আনওয়াইন্ড করতে চান তবে আপনি এই আদেশগুলি চালাতে পারেন:

$ sudo ip addr del 192.168.100.199/24 brd + dev eth10 label eth10:0
$ sudo ip link delete eth10 type dummy
$ sudo rmmod dummy

তথ্যসূত্র


4
এই কমান্ডের আমার জন্য কাজ নি: sudo ip link set name eth10 dev dummy0। আমি ip link add dummy0 type dummyনিম্নলিখিত কমান্ডগুলিতে ডামি0 ইন্টারফেস ব্যবহার করেছি এবং ব্যবহার করেছি । অন্যান্য কমান্ড ভাল কাজ করে। ধন্যবাদ!
ইকরাম

1
দুর্দান্ত, আমি পুরানো এলএমজিআরডির জন্য ঠিক এটির দরকার ছিল যা নতুন আরএইচইএল 7 ডিভাইসের নাম (এথএক্সের পরিবর্তে এমএএমএক্স) থেকে ম্যাক ঠিকানা পড়তে সক্ষম হয় নি
থেসন

26

আপনি iproute2 টুলকিট ব্যবহার করে ভার্চুয়াল ইন্টারফেস তৈরি করতে পারেন ।

ip link add veth0 type veth peer name veth1

এটি 2 ইন্টারফেস তৈরি করবে, veth0এবং veth1। এগুলিকে একটি পাইপের 2 প্রান্ত হিসাবে ভাবেন। যে কোনও ট্র্যাফিক প্রেরণ করা veth0হবে তা veth1বিপরীতে আসবে ।

আপনি যদি ট্র্যাফিক রুট করা চান তবে আপনি এটি করতে পারেন:

sysctl -w net.ipv4.conf.veth0.forwarding=1

এটি কার্নেলকে আগত ট্রাফিকের আগাম ফরোয়ার্ডকে বলবে veth0(সুতরাং veth1ব্যবহৃত শেষ পয়েন্টের জন্য ব্যবহার করুন)।

আরেকটি বিকল্প হ'ল একটি ব্রিজ veth0এবং অন্য একটি ইন্টারফেস স্থাপন করা । তারপরে ভার্চুয়াল ইন্টারফেসের মাধ্যমে আসা যেকোন ট্র্যাফিক নেটওয়ার্কের দিকে বেরিয়ে আসবে যেন আপনার মেশিনটি কেবল একটি স্যুইচ হিসাবে কাজ করছে।

আপনি এই ট্র্যাফিকের সাথে আরও অনেকগুলি কাজ করতে পারেন (এটি মাস্ক্রেড করুন, এটি পুনর্নির্দেশ করুন, এটি ডিএনএটি, ইত্যাদি), তবে এটি আপনি কী অর্জন করার চেষ্টা করছেন তার উপর নির্ভর করে।

এটি ছিন্ন করতে:

ip link del veth0

দুর্দান্ত জিনিস, তবে এই ক্ষেত্রে আমার যা প্রয়োজন ঠিক তা নয় (আমার সত্যিই একটি ভার্চুয়াল ইন্টারফেসের প্রয়োজন ছিল যাতে কোনও ভিএম ভিবিক্স ফাইল শেয়ারের চেয়ে এনএফএস শেয়ারটি মাউন্ট করতে পারে)
STW

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