পটভূমিতে চলমান ভিএমকে দেওয়া আইপি ঠিকানা কীভাবে পাবেন?


27

আমি আমার উবুন্টু উদাহরণটি নিম্নলিখিত কমান্ডটি ব্যবহার করে ভার্চুয়াল বক্সের বাইরে চলেছি:

VBoxManage startvm ${VM_NAME} --type headless

এটি এবং জিইউআইয়ের মাধ্যমে এটি চালানোর মধ্যে প্রধান পার্থক্যটি হ'ল, আমি যখন জিইউআইতে এটি শুরু হওয়ার পরে থাকি, তখন আমি ifconfigআইপি ঠিকানাটি কী তা দেখতে পরীক্ষা করতে পারি যাতে আমি sshহোস্টের টার্মিনাল থেকে এটিতে প্রবেশ করতে পারি এবং স্পষ্টতই পারি ' পটভূমিতে এটি না।

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

উত্তর:


16

ভার্চুয়ালবক্স.আর্গ.এর ফোরামের পোস্টে দেখানো হয়েছে, আইপি ঠিকানাটি বের করতে আপনি VBoxManage কমান্ডটি ব্যবহার করতে পারেন :

VBoxManage guestproperty enumerate <vmname>

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


7
এই কমান্ডটি আইপি ঠিকানাটি ফেরত
পাঠায়নি

3
এটি কাজ করার জন্য আপনার অতিথির সংযোজনগুলি ইনস্টল করা দরকার।
ভারী ভারী

ঠিক আছে, অতিথি সংযোজনগুলি ইনস্টল না করা অবস্থায় আপনি এটি কীভাবে করবেন ?
কোড_ড্রেড

1
বা: VBoxManage guestproperty get <vmname> "/VirtualBox/GuestInfo/Net/0/V4/IP"
টড ওয়ালটন

9

প্রথমে নিশ্চিত হয়ে নিন যে আপনি ভার্চুয়ালবক্স এক্সটেনশন প্যাকটি ইনস্টল করেছেন বা না থাকলে ইনস্টল করুন।

উদাহরণস্বরূপ (উবুন্টুর জন্য)

> wget http://download.virtualbox.org/virtualbox/4.2.12/Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack
> sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack

বা থেকে

https://www.virtualbox.org/wiki/Downloads

এর পরে আপনি ভিএম এর আইপি পেতে পারেন

VBoxManage guestproperty enumerate <_name_of_VM_> | grep IP | grep -o -w -P -e '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'

3
এখনও আমার জন্য আইপি প্রদর্শন করে না
জোশ নানকিন

@ জোশনানকিন আপনি কি সমাধান করেছেন?
ব্যবহারকারী 393333607

@ জোশনানকিন, ভিবিক্স ম্যানেজ গেস্টপ্রোপার্টি কী গণনা করবে <_name_of_VM_> | গ্রেপ আইপি আপনাকে দেয়?
ওয়েভল

ওএসএক্সের জন্য - ভোবক্সম্যানেজ গেস্টপ্রোপার্টি গণনা 4ab1029f-23ff-4c5c-b4bd-3b6d68aa7cc0 | গ্রেপ আইপি | , grep -oE "\ খ ([0-9] {1,3} \।) {3} [0-9] {1,3} \ B" আইপি আমি Regex নেন stackoverflow.com/questions/11482951/...
ওয়েভল

5

আমি জানি আমি এই পার্টিতে দেরি করেছি তবে এটি ভার্চুয়ালবক্স 5.0.6 এর সাথে কাজ করবে।

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

#!/bin/bash

for f in $(VBoxManage list runningvms | awk -F\" '{print $2}'); do
      echo "$f:"
      VBoxManage guestproperty enumerate "$f" | grep IP
    done

1

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

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


0

অজগরেও আমার একই কাজ ছিল। সম্ভবত এটি সহায়ক হবে।

pip install pyvbox

এবং তারপরে অজগরে:

import virtualbox

vbox = virtualbox.VirtualBox()
vm = vbox.find_machine('running_vb_machine_name')
res = vm.enumerate_guest_properties('/VirtualBox/GuestInfo/Net/0/V4/IP')
ip = res[1][0]
print ip

0

আমি অতিথির সক্রিয় এনিকের প্যাকেট ট্রেস শুরু করতে কন্ট্রোলভিএম বিকল্পটি ব্যবহার করেছি এবং তারেরশার্ক দিয়ে স্থানীয় ফাইলটি খুললাম। অতিথির আইপি ঠিকানা সেখানে থাকবে।

VBoxManage controlvm <vm-name> nictracefile<1-N> /full/path/to/file
VBoxManage controlvm <vm-name> nictrace<1-N> on

wireshark /full/path/file

কাজটি শেষ হয়ে গেলে ট্রেসটি অক্ষম করতে ভুলবেন না।

VBoxManage controlvm <vm-name> nictrace<1-N> off

-4
VMNAME="..."; # save ID of VM  in VMNAME variable
vboxmanage guestproperty enumerate $VM_NAME|grep IP|cut -f2 -d,|cut -f2 -d:

5
আমরা পর্যাপ্ত উত্তর খুঁজছি যা কিছু ব্যাখ্যা এবং প্রসঙ্গ সরবরাহ করে। দয়া করে কেবল দুটি লাইন কোড উত্তর দিবেন না; আপনার উত্তর কেন সঠিক তা ব্যাখ্যা করুন, আদর্শভাবে উদ্ধৃতি দিয়ে। ব্যাখ্যাগুলি অন্তর্ভুক্ত না করে এমন উত্তরগুলি সরানো হতে পারে। তবে এছাড়াও, আপনার উত্তর তুচ্ছ বিন্যাসের পার্থক্য বাদে পূর্ববর্তী উত্তরের সমতুল্য। অবদানের জন্য আপনার কাছে নতুন কিছু না থাকলে দয়া করে কোনও উত্তর পোস্ট করবেন না।
জি-ম্যান

:)। u'r স্বাগত .. একেবারেই নয়
আবদেনুর টুমি

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