কেভিএম ভার্চুয়াল মেশিনের আইপি ঠিকানাটি কীভাবে খুঁজে পাব, যাতে আমি এতে এসএসএইচ করতে পারি?


30

আমার উবুন্টু ১১.১০ সার্ভারে আমার কেভিএম (ভার্চুয়াল মেশিন সফ্টওয়্যার) সেটআপ করতে আমি এই গাইডটি ( ভার্চুয়ালাইজেশন উইথ কেভিএম অন উবুন্টু ১১.১০ ) অনুসরণ করেছি। তবে, ভিএম তৈরি করার সময় আমি আমার ভিএম এর আইপি অ্যাড্রেস সেটআপ করিনি, পরিবর্তে:

vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=192.168.0.101 --gw=192.168.0.1 --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0

আমি ব্যবহার করেছি: (আমি আদেশটি থেকে "--ip = 192.168.0.101 --gw = 192.168.0.1" মুছে ফেলেছি)

vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0

গাইডের নির্দেশ অনুসারে নেটওয়ার্ক ব্রিজটি স্থাপন করেছি এবং নতুন ভিএম এর ইন্টারফেসটি নেটওয়ার্ক ব্রিজের সাথে সংযুক্ত রয়েছে।

আমি ধরে নিয়েছি কেভিএম আমার ভিএমকে ডিএইচসিপি এর মাধ্যমে বরাদ্দ করবে তবে আমার নতুন ভিএম এর আইপি ঠিকানা সম্পর্কে আমার কাছে তথ্য নেই, আমি নতুন ভিএম-এর ভিএম এর আইপি ঠিকানা এবং এসএসএইচ কোথায় পাব? ধন্যবাদ।

[দ্রষ্টব্য: আমি ভিএম এর আইপি ঠিকানা না জেনে ভিএমটিতে লগইন করতে পেরেছি। " এক্স গ্রাফিক ফরোয়ার্ডিং সহ জিমিং + এসএসএইচ " ব্যবহার করে তবে আমার ভিএম-তে কোনও ডিএইচসিপি আইপি ঠিকানা বরাদ্দ করা হয়নি, উপরের প্রশ্নটি ছাড়াও আমার এখানে আরও একটি প্রশ্ন রয়েছে: যখন আমি লিংগিংয়ের মাধ্যমে লিংমিংয়ের জন্য জিমিং ব্যবহার করি তখন আমার ভিএম-তে কীভাবে ডিসিএইচপি সক্ষম করবেন? গুণ दर्शক "আমি অন্তত আমার আইপি ঠিকানাটি দেখতে পাচ্ছি]]


আমি সমস্যাটি বের করে সমাধান করেছি। / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসে আমি "নেটওয়ার্ক" এবং "সম্প্রচার" তথ্য মুছে ফেলেছি এবং ডিএইচসিপি আমার অতিথির ভিএমগুলিতে কাজ করেছে। এখন আমি আমার অতিথি ভিএম-এ প্রবেশ করতে পারি। আমার "নেটওয়ার্ক XXX.XXX.XXX.XXX" বা "সম্প্রচার XXX.XXX.XXX.XXX" ভুল ধারণা। গাইড এখনও এই ধরণের সেটআপের জন্য ভাল কাজ করছে, আপনার নিজের নেটওয়ার্ক পরিবেশ স্থাপন করার সময় সতর্কতা অবলম্বন করুন। সমস্যাটি সমাধানকৃত!!!
জিয়ানলিন

1
লিবিভার্টের এখন দুটি কমান্ড রয়েছে: ডমিফড্ডার এবং নেট-ডিএইচসিপি-ইজারা
নেহাল জে

দয়া করে এই লিঙ্কটি উল্লেখ করুন, আপনি একটি উত্তর পাবেন:

উত্তর:


20

arp -nআপনার ভার্চুয়াল মেশিনটি কী আইপি তুলছে তা দেখতে আপনি ছুটে যেতে পারেন। এইভাবে, আপনাকে অতিথি ভিএম এবং টাইপ করতে হবে না ifconfig

নীচের ব্লগে আরও বিশদ রয়েছে এবং এতে পার্ল স্ক্রিপ্ট রয়েছে যা ভার্চুয়াল মেশিনের ঠিকানা সন্ধানে স্বয়ংক্রিয়ভাবে চলে।

পরামর্শ: ভার্চুয়াল মেশিনের আইপি ঠিকানাটি সন্ধান করুন


খুবই সোজা. দুর্দান্ত ....
ইন্দিকা কে

1
উত্তরের জন্য xyz ওয়েবপৃষ্ঠায় যান লিঙ্কটি নিচে নেমে গেলে ভাল হয় না, দয়া করে "সম্পূর্ণ উত্তর" পোস্ট করুন
ফ্রিসফটওয়্যার সার্ভারস

31

এটা চেষ্টা কর:

virsh net-list
virsh net-dhcp-leases <net-name>   <--- net-name from above command

আপনি যদি ম্যাকের ঠিকানাটি জানেন তবে আপনি নীচের ফর্মটিও ব্যবহার করতে পারেন:

virsh net-dhcp-leases <net-name> --mac <mac-address>

ম্যাকের ঠিকানাটি ডাম্পএসএমএল কমান্ড থেকে পাওয়া যাবে। দেখুন কেভিএম হোস্টের ভার্চুয়াল মেশিনের সাথে কোন ভার্চুয়াল ইন্টারফেসটি নির্ধারণ করার কোনও উপায় আছে?


5
এটা সঠিক উত্তর. কোনও হ্যাকিং ছাড়াই কাজ করে। অনেক ধন্যবাদ.
chmac

1
"বর্ষ নেট-তালিকা" হওয়া উচিত ... "নেট" এবং "তালিকার" এর মধ্যে কোনও স্থান নেই। অন্যথায়, এটি পুরোপুরি কাজ করে।
ডেভ হেইন

@ ডেভহেইন সংশোধন করার জন্য ধন্যবাদ উত্তর আপডেট করেছেন।
রাহুল

আপনি খালি ফলাফল পাওয়ার হয়, সঙ্গে virsh চলমান চেষ্টাsudo
Freedom_Ben

6

আমি অনুমান করি এটি একটি পুরানো প্রশ্ন, তবে virshআপনি যদি খাঁচা বা ব্রিজযুক্ত ব্যক্তিগত নেটওয়ার্ক ব্যবহার করেন তবে বর্তমান সংস্করণগুলি এটিকে অনেক সহজ করে তোলে। আমার একটি ভার্চুয়াল মেশিন রয়েছে যার নাম steak(রাউটেড) প্রাইভেট নেটওয়ার্কে রয়েছে (একো "NAT")। বিল্ট-ইন মেকানিজম দ্বারা আইপি কী বরাদ্দ করা হয়েছিল তা সন্ধান করার জন্য এটি কেবল দুটি কমান্ড:

$ sudo virsh list
 Id    Name                           State
----------------------------------------------------
 21    steak                          running

$ sudo virsh domifaddr steak
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet0      76:0c:28:ab:0e:ee    ipv4         10.14.1.1/24

আমার আরও একটি ভিএম ( eggs) রয়েছে যা নিয়মিত নেটওয়ার্কে ব্রিজ করা হয় (হাইপারভাইজার হোস্টের একটি ব্রিজ ডিভাইসে সংযুক্ত)। Libvirt এটি কোনও ঠিকানা বরাদ্দ করে না; এটি আমার নেটওয়ার্কের ডিএইচসিপি সার্ভারের একটি ঠিকানা পেয়েছে, যা আমার ক্ষেত্রে গতিশীল ডিএনএস আপডেট করে। যখন domifaddএই ভিএম থেকে কোনও আউটপুট আসবে না তখন এটিই সম্ভবত সম্ভাবনা । সুতরাং, আপনাকে মূলত ঠিকানাটি খুঁজে পেতে হবে যেমন এটি অন্য কোনও মেশিনের মতো - এটি আর্প টেবিলের মধ্যে পাওয়া সম্ভবত সম্ভবত সবচেয়ে সহজ - যার অর্থ ip neighbourএখন হ'ল, হ্রাস arpকরা হয়েছে এবং কিছু বিতরণে আর উপস্থিত নেই। ভাগ্যক্রমে আমাদের মধ্যে যারা অতিরিক্ত বাহু দিয়ে জিনিস বানান করে না, আপনি সংক্ষিপ্ত সংস্করণগুলিও পছন্দ করতে পারেন ip neighএবং ip n(বা ip neighbor) ও ব্যবহার করতে পারেন । ;) নীচে, আমি domiflistম্যাক ঠিকানা খুঁজতে ব্যবহার করি (নোট করুন যে এটির সাথে সংযুক্ত রয়েছে)br0 "উত্স" কলামে) এবং তারপরে এটি আরপ টেবিলটিতে সন্ধান করুন।

$ sudo virsh domifaddr eggs
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------

$ sudo virsh domiflist eggs
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br0        virtio      52:54:00:2c:ac:ee

$ ip neigh | grep -i 52:54:00:2c:ac:ee
192.168.0.226 dev br0 lladdr 52:54:00:2c:ac:ee REACHABLE
$ host eggs
eggs.home.domain.com has address 192.168.0.226

5

ভিএমএসের জন্য তালিকা:

virsh list

নাম থেকে ভিএম ম্যাক পান

virsh domiflist debian8

গ্রেপ দিয়ে আপনার ভিএম সাবনেটের স্ক্যান করুন (ম্যাক অবশ্যই মূলধনী হওয়া উচিত)

nmap -sP 10.0.0.0/24 | grep 52:54:00:FD:1F:92 -B 3 

ফলে

Nmap scan report for 10.0.0.173
Host is up (0.0012s latency).
MAC Address: 52:54:00:FD:1F:92 (QEMU Virtual NIC)

4

আপনার যদি ভিএম ifconfig -aতে কনসোল অ্যাক্সেস থাকে তবে কেবল অতিথির উপর চালান । আপনি সেখানে থাকার সময়, অতিথির নেটওয়ার্ক সংযোগ রয়েছে এবং sshdতা চলছে কিনা তা পরীক্ষা করে দেখুন check

যদি আপনার কাছে কনসোল অ্যাক্সেস না থাকে তবে সম্ভাবনা হ'ল আইপি ঠিকানাটি ডিএইচসিপি দ্বারা নির্ধারিত হয়েছিল। অন্য কোনও মেশিনের সন্ধান করুন যা ডিএইচসিপি অ্যাসাইনমেন্টও পাচ্ছে, সম্ভবত হোস্ট সার্ভার, এবং তারপরে ঠিকানায় 1 যুক্ত করে চেষ্টা করুন। আসলে, পরবর্তী 5 বা 6 ঠিকানা ব্যবহার করে দেখুন। যদি এটি কাজ না করে তবে আপনার হয় একটি বৃহত সক্রিয় নেটওয়ার্ক রয়েছে এবং আপনার সাবনেটে প্রতিটি আইপি ঠিকানা চেষ্টা করে দেখতে হবে, বা একই MAC ঠিকানার সাথে দুটি হোস্ট হোস্ট করার উদ্দেশ্যে নয় এমন একটি নিম্ন স্তরের নেটওয়ার্ক সমস্যা আছে। অথবা সম্ভবত আপনি sshdদৌড়াতে পারেন নি।

কনসোল ব্যবহার করা এই সমস্যাটি সমাধানের সহজতম উপায়।


আমি জিমিং সার্ভার + "গুণ-প্রদর্শক" কমান্ডের মাধ্যমে আমার ভিএম এর সাথে সংযোগ স্থাপন করতে সক্ষম হয়েছি। আমি ভিএম-তে থাকাকালীন অতিথির জন্য কোনও আইপি নির্ধারিত নেই। কীভাবে ডিএইচসিপি কাজ করবে? আমার কোনও এক্সএমএল ফাইল বদলাতে হবে?
জিয়ানলিন

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

3

আপনার ভিএম / এর আইপি ঠিকানাটি দেখতে কেবল চালান:

$ arp -n

যদি আপনার সিস্টেমে আরপ ইনস্টল না হয় তবে কেবল net-toolsপ্যাকেজটি ইনস্টল করুন ।


2

এর সাথে বিল্টিন ভিএনসির মাধ্যমে সংযোগ স্থাপন করা সম্ভব virt-managerএবং আপনি লগইন করুন, আইপি ঠিকানাটি খুঁজে বার করুন ifconfig eth0। সাধারণত এথ 0, যদি না আপনি অন্যথায় নির্দিষ্ট করে থাকেন।


2

sudo nmap -sn 192.168.5.0/24 | awk '/Nmap scan report/{printf $5;printf " ";getline;getline;print $3;}' | fgrep -if <(virsh list --name | grep . | while read n; do virsh domiflist $n; done | grep --only-matching ..:..:..:..:..:..)

সাবনেট স্ক্যান করুন। লাইনের মতো লাইনের জন্য আউটপুটকে পার্স করুন <IP> <MAC>। তারপরে তাদের ভিএমএসের ম্যাকের একটি তালিকা ব্যবহার করে গ্রেপ করুন।

virsh domiflistম্যাকের তালিকাটি সমস্ত ভিএম-এর তালিকাভুক্ত করে (খালি লাইনগুলিও ফালা করে) পরে তার প্রত্যেকটির জন্য করে, এবং তারপরে কোনও ম্যাকের মতো দেখায় এমন প্যাটার্নটির জন্য গ্রেপিংয়ের মাধ্যমে প্রাপ্ত হয়।

সূত্র:

https://serverfault.com/a/669862/284568


0

আপনার যদি কিউইএমইউ (ভিএম এমুলেটর) থাকে তবে "আমি" বোতামে যান এবং "ব্র0" নেটওয়ার্কের সাথে যুক্ত নেটওয়ার্ক কার্ডটি পরীক্ষা করুন। এনআইসির ম্যাক ঠিকানার একটি নোট নিন। এখন আপনার ভিএম -> ওপেন টার্মিনালটিতে লগইন করুন -> টাইপ করুন: টার্মিনালে "ifconfig" কমান্ড -> আপনি আগে উল্লেখ করেছেন এমন ম্যাক ঠিকানার সাথে যুক্ত আইপি ঠিকানার একটি নোট নিন।

আপনি শেষ ধাপে উল্লিখিত আইপি ব্যবহার করে পুটি বা যে কোনও এসএস ক্লায়েন্ট ব্যবহার করে আপনার ভিএমটিতে লগইন করতে পারেন।


0

আমার কাছে আমার কেভিএম অতিথিরা বিআর ইন্টারফেসে রয়েছেন তাই আমি এটিকে কিছুটা আলাদা মনে করি, তবে আমার তৈরি দুটি স্ক্রিপ্ট এখানে।

এআরপি ব্যবহার করার জন্য নোট আপনার প্রথমে আপনার আরপ সারণিতে ম্যাক থাকা দরকার। এর জন্য পুরো নেটওয়ার্কের দ্রুত পিং করতে ফপিং ব্যবহার করা সর্বোত্তম (2 সেকেন্ডের মতো লাগে)। এটি নিশ্চিত করে যে আপনার আরপ ক্যাশে আপ টু ডেট রয়েছে।

apt-get install fping
yum install fping

এর মাধ্যমে একটি একক অতিথি আইপি সন্ধান করুন:

cat << 'EOF' > ~/findip.sh
#!/bin/bash
#FreeSoftwareServers.com

echo "Finding All Active IP's in Network via single Ping"
sleep 2s

fping -a -g 192.168.1.0/24
#nmap -sn 192.168.1.0/24

echo "Please Enter the Exact Name of the VM Guest:"

read guestname

arp -na | awk -v mac=$(virsh domiflist $guestname | awk '$2=="bridge"{print $NF}') '$0 ~ " at " mac {gsub("[()]", "", $2); print $2}'
EOF
chmod +x ~/findip.sh
sudo sh -c 'echo "alias findguestip=~/findip.sh" >> ~/.bashrc'
source ~/.bashrc
findguestip

সমস্ত অতিথি আইপি এর মাধ্যমে সন্ধান করুন:

cat << 'EOF' > ~/findallips.sh
#!/bin/bash
#FreeSoftwareServers.com

echo "Finding All Active IP's in Network via single Ping"
sleep 2s

fping -a -g 192.168.1.0/24
#nmap -sn 192.168.1.0/24

domainlog=/tmp/domain.log

virsh list --all | grep running |  cut -c 8- >> "$domainlog"

sed -i 's/running*//g' "$domainlog"

readarray domain < "$domainlog"

for i in "${domain[@]}"
do
ip="$(arp -na | awk -v mac=$(virsh domiflist $i | awk '$2=="bridge"{print $NF}') '$0 ~ " at " mac {gsub("[()]", "", $2); print $2}')"
echo "Hostname : $i IP : $ip"
done
rm "$domainlog"
EOF
chmod +x ~/findallips.sh
sudo sh -c 'echo "alias findallips=~/findallips.sh" >> ~/.bashrc'
source ~/.bashrc
findallips

আমি আরপ-স্ক্যান দিয়ে শেষ পর্যন্ত এই সমস্যাটি মোকাবিলা করেছি। উদাহরণস্বরূপ: sudo আরপ-স্ক্যান - ইনটারফেস = br0 --localnet - ব্যান্ডউইথ = 8192000 - সংখ্যাযুক্ত --retry = 1 যা যখন আমি সক্রিয়ভাবে অনুসন্ধান করতে চাইছিলাম। আমি ব্যাকগ্রাউন্ডে বসে অ্যাড্রেচ ওয়াচ ব্যবহার করেছি এবং আমার জন্য একটি ম্যাক / আইপি ঠিকানা ম্যাপিং জমা করি।
ডিউক ডুগাল


0
  1. দ্বারা আপনার ডোমেন তালিকা পান virsh list --all

    virsh # list --all
    
    2     webserver_01                   running
    
  2. ডোমেন আইডি বা নাম ব্যবহার করে আপনার ডোমেন ইন্টারফেসের তালিকাটি পান এবং আপনি ডোমেনের ইন্টারফেসের virsh domiflist yourDomainIdম্যাক ঠিকানা দেখতে পাবেন।

    virsh # domiflist 2
    
    bridge     br0        virtio      52:54:00:42:be:96
    
  3. এর মাধ্যমে nmapআপনার ল্যান স্ক্যান করে nmap -sn 192.168.1.0/24|grep -i '52:54:00:42:be:96' -B 2আপনি আইপি অ্যাড্রেস পাবেন।

    [root@kvm-master ~]# nmap -sn 192.168.1.0/24|grep -i '52:54:00:42:be:96' -B2 
    
    Nmap scan report for bogon (192.168.1.210)
    Host is up (0.00013s latency).
    MAC Address: 52:54:00:42:BE:96 (QEMU Virtual NIC)
    

0

একটি দুর্দান্ত সমাধান যা কিউমু-গেস্ট এজেন্ট ব্যবহার করে।

ক) কিউমু-গেস্ট এজেন্ট ব্যবহার করতে আপনার ভিএম কনফিগার করুন হোস্টে: গুণমান-পরিচালক সহ একটি "কিউমু-গেস্ট-এজেন্ট" চ্যানেল যুক্ত করুন সত্যিই সহজ my এই.

 <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-3-debian/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel1'/>
      <address type='virtio-serial' controller='0' bus='0' port='2'/>
    </channel>

খ) গেস্টে কিউমু-গেস্ট-এজেন্ট ইনস্টল করুন এবং নিশ্চিত করা শুরু করুন

apt -y install qemu-guest-agent

systemctl status qemu-guest-agent.service
● qemu-guest-agent.service - LSB: QEMU Guest Agent startup script
   Loaded: loaded (/etc/init.d/qemu-guest-agent; generated; vendor preset: enabled)
   Active: active (running) since Sat 2019-01-26 09:35:57 CET; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1624 ExecStop=/etc/init.d/qemu-guest-agent stop (code=exited, status=0/SUCCESS)
  Process: 1630 ExecStart=/etc/init.d/qemu-guest-agent start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/qemu-guest-agent.service
           └─1638 /usr/sbin/qemu-ga --daemonize -m virtio-serial -p /dev/virtio-ports/org.qemu.guest_agent.0

গ) অবশেষে এই দুর্দান্ত পাইপটি আইপি ফিরিয়ে দেবে, NAMEOFVMNIC এর পরিবর্তে এথ0, এনপি 1 এস 0 ইত্যাদি ..

virsh domifaddr  --domain yourvmname --source agent|grep -w NAMEOFVMNIC|egrep -o '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}'

-1

(যদিও আপনি এই জাতীয় সরল উত্তরের জন্য খুব উন্নত বলে মনে করছেন)

ইচ্ছাশক্তি

$ ifconfig

কাজ করে?


এছাড়াও, সাবধান, আপনার যদি একই মেশিনটির সদৃশ উদাহরণ রয়েছে, যেমন মেশিনটির নকল ম্যাক ঠিকানা ইত্যাদি নিয়ে সমস্যা থাকবে ... ম্যানুয়ালি সম্পাদনা করার উপায় রয়েছে (এবং আমি মনে করি এটির জন্য একটি কমান্ডও চালানো হবে)
ডেভিড

আমার উবুন্টু সার্ভার হোস্টে আমি কেবল একটি ভিএম "ভিএম 1" রেখেছি এবং "ifconfig" কমান্ড আউটপুটে আমার "eth0" নেটওয়ার্ক অ্যাডাপ্টারের জন্য নির্ধারিত কোনও আইপি ঠিকানা দেখায় না।
জিয়ানলিন

হ্যাঁ, আপনার কোনও আইপি নেই ... আপনি কি "dhclient eth0" চেষ্টা করেছেন
ডেভিড

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

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