কীভাবে ভাইবারব0-এনিক তৈরি হয়?


11

আমি কীভাবে ভার্চুয়াল নেটওয়ার্ক ইন্টারফেস তৈরি করতে পারি virbr0-nic? আমি এনআইসির মতো তৈরির উপায় অনুসন্ধান করার চেষ্টা করছি virbr0-nicতবে ইন্টারনেটে যা কিছু খুঁজে পাচ্ছি তা হ'ল কীভাবে শারীরিক ইন্টারফেসের সাথে যুক্ত একটি ইন্টারফেস তৈরি করা যায় eth0:0। আমি যখন লিখি

# brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.525400e0af01   yes virbr0-nic
virbr1      8000.525400e8a6b1   yes virbr1-nic
                            vnet1

তাই virbr0ব্রিজ যা virbr0-nicসংযুক্ত। সুতরাং কিভাবে virbr0-nicএবং vnet1তৈরি হয়?


সাধারণত এটি কিছুটা সফ্টওয়্যার নির্দিষ্ট করে ব্রিজের মতো জিনিসের সাথে সম্পর্কিত। আপনি আসলেই কি করার চেষ্টা করছেন?
যাত্রামন গীক

আমি কেভিএম ইনস্টল করেছি এবং লক্ষ্য করেছি যে এটি নতুন এনআইসি ভার্ভি00-এনিক তৈরি করেছে। আমি কেবল ভাবছি যে আমি কীভাবে এটির মতো নিজস্ব এনআইসি তৈরি করতে পারি?
কোসিমো

উত্তর:


10

এগুলি হ'ল ডামি ডিভাইস। আপনি চালাতে পারেন

modprobe dummy

বলা একটি নেটওয়ার্ক ইন্টারফেস তৈরি করতে dummy0

আপনি যদি একাধিক ডিভাইস চান তবে আপনি 5 দিয়ে যান তৈরি করতে পারেন

modprobe dummy numdummies=5

এরপরে আপনি অন্য কোনও নেটওয়ার্ক ডিভাইসের মতো এই ডিভাইসগুলিও নিয়ন্ত্রণ করতে পারেন।

এটি দিয়ে একটি ম্যাক ঠিকানা দিন

ip link set dummy0 address aa:aa:aa:bb:bb:bb

এটির সাথে একটি আইপি ঠিকানা দিন

ip addr add 10.0.0.1/24 dev dummy0

এটি আপনার বিদ্যমান সেতুর সাথে যুক্ত করুন

brctl addif virbr0 dummy0

এটি সেট আপ করুন, সেট আপ করুন, NAT এটি বন্ধ করুন এবং আরও অনেক কিছু।


1
এই উত্তরগুলি বিকল্পের চেয়ে আরও সঠিক বলে মনে হচ্ছে তবে এটি কেবলমাত্র একটি ইন্টারফেস তৈরি করার বিশদটির অভাব নেই যা কেভিএম সেটআপগুলি ডিফল্টরূপে (ভার্বার0-এনিক) সমতুল্য।
গোলমরিচ_চিকো

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

6

Libvirt এই উদ্দেশ্যে TUN ডিভাইস ব্যবহার করছে। কমান্ডটি অনুসরণ করে আপনি নিজেই এই ডিভাইসটি তৈরি করতে পারেন:

# /usr/bin/tunctl -t virbr0-nic

3

virbr0-nic ভার্চুয়াল ব্রিজ এন.আই.সি.

এটি মূলত আপনার শারীরিক নেটওয়ার্ক কার্ড এবং আপনার ভার্চুয়াল মেশিনের ভার্চুয়াল নেটওয়ার্ক কার্ডের মধ্যে একটি সেতু

ব্রিজড ইন্টারফেস পরিচালনা করতে আপনি brctlকমান্ডটি ব্যবহার করতে পারেন । আপনি আপনার সমস্ত ব্রিজযুক্ত ইন্টারফেসের সাথে তালিকাভুক্ত করতে পারেন

brctl show 

এবং আপনার প্রয়োজন অনুসারে সেতুগুলি যুক্ত বা সংশোধন করুন। একটি নতুন সেতু ব্যবহার তৈরি করতে

brctl addbr <name>

<name>আপনার নতুন সেতুর নাম কোথায় থাকবে (ভার্জির0-এনিক হিসাবে) .তখন আপনি সেতুর সাথে ইন্টারফেস যুক্ত করতে পারেন

brctl addif <brname> <ifname>

অতিরিক্ত তথ্যের জন্য আপনি ম্যান পৃষ্ঠাটি পড়তে পারেন ।


1
এটি আসলে একটি নতুন "ভার্ভিআর 1-এনিক" তৈরি করার কথা বলে না, কেবলমাত্র একটি নতুন "ভারব্র1 1" যার ইন্টারফেসটি সেট করতে হবে ("ভাইবার 1-এনিক") এর আগে বিদ্যমান বলে বোঝানো হয়েছে।
গোলমরিচ_চিকো

আমি এটি শারীরিক এবং ভার্চুয়াল মধ্যে একটি সেতু মনে করি না। প্যাকেটগুলিকে রাউটেড করার জন্য আমাকে ভার্ভির00 এবং শারীরিকের মধ্যে মাস্ক্রেডিং করতে হবে।
পিট অ্যাশডাউন

2

কোন ধরণের ডিভাইস virbr0-nicএবং vnet1আপনার সেটআপে রয়েছে তা সঠিক নয়। কয়েকটি ধরণের ভার্চুয়াল ডিভাইস রয়েছে যা সেতুতে অন্তর্ভুক্ত করার জন্য দরকারী হতে পারে, যার কয়েকটি ipকমান্ড ব্যবহার করে তৈরি করা যেতে পারে ।

এক ধরণের ভার্চুয়াল ডিভাইস vethযা সংযুক্ত ভার্চুয়াল ইথারনেট ইন্টারফেসগুলির জোড়া তৈরি করে।

ip link add veth0 type veth peer name veth1

এই উদাহরণে veth0এবং veth1স্বতন্ত্র ইন্টারফেসের নামগুলি যা আমি উদাহরণ হিসাবে নিয়ে এসেছি। এই পদ্ধতিটি উদাহরণস্বরূপ কার্যকর হতে পারে যদি আপনি দুটি ইন্টারফেসের মধ্যে একটিকে অন্য কোনও নেটওয়ার্কিং নেমস্পেসে নিয়ে যেতে চান।

অন্য ধরণের ভার্চুয়াল ইন্টারফেস হ'ল vlanযেখানে আপনি একটি শারীরিক ইন্টারফেসে একটি নির্দিষ্ট 802.1q ট্যাগের সাথে সংযুক্ত একক ভার্চুয়াল ইথারনেট ইন্টারফেস তৈরি করেন:

ip link add link eth0 name eth0.10 type vlan id 10

আরও অনেক ধরণের ভার্চুয়াল ইন্টারফেস সম্পর্কে তথ্য সহ একটি ম্যান পেজ রয়েছে যা ipকমান্ডের সাহায্যে তৈরি করা যেতে পারে । ম্যান পৃষ্ঠার নাম নির্ভর করে আপনি কোন সংস্করণ ইনস্টল করেছেন, আমি এটির নামকরণ করেছি ip-linkবা ঠিক দেখেছি ip

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


1

তবে আমার কাছে এই / usr / bin / tunctl -t virbr0-nic জিনিস নেই যা ককপিট থেকে ইনস্টল করা আছে এবং আমি কোনও অপসারণের বিকল্পটি খুঁজে পাচ্ছি না যখন আমি একটি ভার্চুয়াল মেশিন ব্যবহার করব এটি উপস্থিত থাকলে ঠিক আছে তবে নেটওয়ার্কিংয়ের জন্য সিস্টেমেড-নেটওয়ার্কড দিয়ে আমার এতে অনেক সমস্যা আছে। ককপিট এটি থেকে নেটওয়ার্ক-ম্যানেজার এবং কনফিগারেশন ফাইলগুলি ব্যবহার করবে। ইনস্টলেশনের পরে আমার নেটওয়ার্ক সমস্ত ডিভাইস নেমে যাচ্ছে এবং অ্যাপ্লিকেশনগুলি অনেক ব্যর্থতার সাথে চলে।

আপনি যদি RHEL / CentOS 6,7 সিস্টেমটি নতুন করে ইনস্টল করার পরে 'ifconfig -a' পরীক্ষা করে থাকেন, তবে ইন্টারফেসগুলি ভাইবার -0 নামটি পেয়ে যাবেন। তাজা ইনস্টলড সেন্টোস 7 সিস্টেমের উদাহরণ এখানে।

ifconfig -a

....

virbr0: flags=4099[UP,BROADCAST,MULTICAST]  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (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

virbr0-nic: flags=4098[BROADCAST,MULTICAST]  mtu 1500
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (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

ভাইব্রি0 ইন্টারফেসটি কী হয় ভাইব্র00 ব্রিজ ইন্টারফেসটি libvirtd- র ডিফল্ট নেটওয়ার্ক কনফিগারেশন দ্বারা তৈরি করা হয়। libvirtd হল পরিষেবাটি যা হোস্টকে হাইপারভাইজার হিসাবে কাজ করার জন্য একটি ভিত্তি সরবরাহ করে। সুতরাং আপনি যদি জেন ​​ভার্চুয়ালাইজেশন ব্যবহার না করছেন, আপনি হয় libvirtd- র ডিফল্ট নেটওয়ার্কটিকে বুটে সক্রিয় হওয়া থেকে বাঁচাতে পারেন, অথবা আপনি libvirtd নিজেই বুটে সক্রিয় হওয়া থেকে বিরত রাখতে পারেন। প্রাক্তন libvirtd এর ডিফল্ট নেটওয়ার্কের সাথে সংযুক্ত যে কোনও ভিএম গেস্টকে নেটওয়ার্ক সংযোগ স্থাপন থেকে বিরত রাখবে এবং পরবর্তীটি ভিএমগুলিকে একেবারে চলতে বাধা দেবে। আপনি এটি ব্যবহার না করে থাকলে যা ঠিক আছে। Libvirtd ডিফল্ট নেটওয়ার্কটি অক্ষম করুন

  1. আপনি virh কমান্ডটি ব্যবহার করে অস্থায়ীভাবে libvirtd- র ডিফল্ট নেটওয়ার্কটি অক্ষম করতে পারেন। এটি পুনরায় বুট ধরে চলবে না।

    বর্ষ নেট-ডিফল্ট

  2. স্থায়ীভাবে libvirtd ডিফল্ট নেটওয়ার্কটি বুটে তৈরি হওয়া থেকে অক্ষম করতে:

    virsh নেট-অটোস্টার্ট ডিফল্ট - অক্ষম

Libvirtd ডিফল্ট নেটওয়ার্ক সরান স্থায়ীভাবে libvirtd ডিফল্ট নেটওয়ার্ক অপসারণ করতে:

virsh net-undefine default

RHEL5 এবং RHEL6 এ বুট শুরু করা থেকে libvirtd পরিষেবা স্থায়ীভাবে অক্ষম করতে:

chkconfig libvirtd off

RHEL7-এ বুট করা শুরু করা থেকে libvirtd পরিষেবা স্থায়ীভাবে অক্ষম করতে:

systemctl disable libvirtd.service
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.