ฉันมี VirtualBox ตั้งค่าบนเซิร์ฟเวอร์ มันถูกตั้งค่าเป็น Bridged VM และมีที่อยู่ IP ตอนนี้มันทำงานในโหมดหัวขาดเริ่มต้นด้วย "VBoxHeadless -s PuppetMaster"
ฉันจะรู้ได้อย่างไรว่า IP ใดที่ VM ใช้ VBoxManage
ฉันมี VirtualBox ตั้งค่าบนเซิร์ฟเวอร์ มันถูกตั้งค่าเป็น Bridged VM และมีที่อยู่ IP ตอนนี้มันทำงานในโหมดหัวขาดเริ่มต้นด้วย "VBoxHeadless -s PuppetMaster"
ฉันจะรู้ได้อย่างไรว่า IP ใดที่ VM ใช้ VBoxManage
คำตอบ:
ฉันสามารถหา VB Headless ของฉันโดยใช้คำสั่งต่อไปนี้
# Update arp table
for i in {1..254}; do ping -c 1 192.168.178.$i & done
# Find vm name
VBoxManage list runningvms
# Find MAC: subsitute vmname with your vm's name
VBoxManage showvminfo vmname
# Find IP: substitute vname-mac-addr with your vm's mac address in ':' notation
arp -a | grep vmname-mac-addr
แต่ง่ายยิ่งขึ้น: ใน linux คุณสามารถเชื่อมต่อกับ VB:
# Default VirtualBox Listening Port: 3389
rdesktop -N hostingserver:3389
คำสั่งนี้จะเปิดหน้าต่างเชลล์และคุณจะสามารถเข้าถึง Headless VB ได้โดยตรงซึ่งคุณสามารถดึง Headless VB IP ของคุณได้: ip addr
ติดตั้งข้อมูลเพิ่มเติมของแขกและ (สมมติว่า linux เป็นแขก) คุณสามารถเรียกใช้สิ่งต่อไปนี้:
VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig" --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a
VBoxManage guestproperty enumerate {`VBoxManage list runningvms | awk -F"{" '{print $2}'` | grep IP | awk -F"," '{print $2}' | awk '{print $2}'
VBoxManage list runningvms | grep vmname | awk ...
VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
ไม่แน่ใจว่า VBoxManage สามารถให้ข้อมูลนั้นกับคุณโดยตรง สิ่งที่คุณสามารถทำได้คือเรียกใช้คำสั่งต่อไปนี้เพื่อดูการกำหนดค่าการ์ดเครือข่าย
VBoxManage showvminfo PuppetMaster | egrep ^NIC
หากไม่มีสิ่งอื่นใดจะช่วยให้คุณมีที่อยู่ MAC ช่วยให้คุณค้นหาที่อยู่ IP จริงด้วยวิธีการอื่น
คุณสามารถรับมันโดยตรงโดยใช้คำสั่งนี้:
VBoxManage list bridgedifs
จากฟอรัมvirtualbox.org -
VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
VBoxManage --nologo guestcontrol yourVirtualMachineName --username yourUser --password yourPassword run -- /sbin/ifconfig -a