Bagaimana saya bisa mendapatkan alamat IP Bridged dari VirtualBox VM berjalan dalam mode tanpa kepala?

26

Saya sudah mengatur VirtualBox di server. Itu ditetapkan sebagai Bridged VM, dan memiliki alamat IP. Sekarang berjalan dalam mode tanpa kepala, dimulai dengan "VBoxHeadless -s PuppetMaster".

Bagaimana saya bisa mengetahui IP apa yang VM gunakan menggunakan VBoxManage?

Jon Haddad
sumber

Jawaban:

20

Saya dapat menemukan VB Tanpa Kepala saya dengan kombinasi perintah berikut:

# 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

Tetapi lebih mudah: di linux, Anda dapat terhubung ke VB:

# Default VirtualBox Listening Port: 3389
rdesktop -N hostingserver:3389

Perintah ini akan membuka jendela shell, dan Anda akan memiliki akses langsung ke VB Headless, di mana Anda dapat mengambil IP VB Headless Anda: ip addr

Alberto
sumber
6

Instal tambahan tamu dan (dengan asumsi linux adalah tamu) Anda dapat menjalankan yang berikut:

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a
Simone Scarduzio
sumber
1
Format berubah sedikit sekarang, Anda perluVBoxManage --nologo guestcontrol yourVirtualMachineName --username yourUser --password yourPassword run -- /sbin/ifconfig -a
mike.dld
4
VBoxManage guestproperty enumerate {`VBoxManage list runningvms | awk -F"{" '{print $2}'` | grep IP | awk -F"," '{print $2}' | awk '{print $2}'
brendan
sumber
Perintah berfungsi untuk satu VM. - Dengan beberapa filter VM berdasarkan nama VM, misalnya:VBoxManage list runningvms | grep vmname | awk ...
mschuett
Atau kita dapat menanyakan tentang VM tertentu. egVBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish
3

Tidak yakin apakah VBoxManage dapat memberi Anda informasi itu secara langsung. Yang dapat Anda lakukan adalah menjalankan perintah berikut untuk melihat konfigurasi kartu jaringan.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

Itu akan jika tidak ada lagi yang akan memberi Anda alamat MAC, memungkinkan Anda untuk mengetahui alamat ip yang sebenarnya dengan cara lain.

andol
sumber
2
Ada ide tentang cara mendapatkan IP menggunakan alamat MAC dari baris perintah?
Jon Haddad
2

Anda bisa mendapatkannya langsung menggunakan perintah ini:

VBoxManage list bridgedifs
ShawnMilo
sumber
1

Dari forum virtualbox.org -

VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "

Mohnish
sumber