헤드리스 모드로 실행되는 VirtualBox VM의 브리지 된 IP 주소를 어떻게 얻을 수 있습니까?


26

서버에 VirtualBox가 설정되어 있습니다. 브리지 된 VM으로 설정되었으며 IP 주소가 있습니다. 이제 "VBoxHeadless -s PuppetMaster"로 시작하여 헤드리스 모드로 실행 중입니다.

VM이 VBoxManage를 사용하는 IP를 어떻게 알 수 있습니까?

답변:


20

다음 명령을 조합하여 Headless VB를 찾을 수 있습니다.

# 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

그러나 훨씬 쉽습니다 : 리눅스에서는 VB에 연결할 수 있습니다 :

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

이 명령은 셸 창을 열고 Headless VB IP에 직접 액세스 할 수있는 Headless VB IP에 직접 액세스 할 수 있습니다. ip addr


6

게스트 추가를 설치하고 (리눅스가 게스트라고 가정) 다음을 실행할 수 있습니다.

VBoxManage --nologo guestcontrol yourVirtualMachineName execute --image "/sbin/ifconfig"  --username yourUser --password yourPassword --wait-exit --wait-stdout -- -a

1
형식이 조금 변경되었으므로 이제 필요합니다VBoxManage --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}'

명령은 단일 VM에서 작동합니다. VBoxManage list runningvms | grep vmname | awk ...
-VM

또는 특정 VM에 대해 문의 할 수 있습니다. 예VBoxManage guestproperty get <vm-name> "/VirtualBox/GuestInfo/Net/0/V4/IP" | cut -f2 -d " "
Mohnish

3

VBoxManage가 해당 정보를 직접 제공 할 수 있는지 확실하지 않습니다. 네트워크 카드 구성을 보려면 다음 명령을 실행하십시오.

VBoxManage showvminfo PuppetMaster | egrep ^NIC

다른 방법으로 MAC 주소를 제공하지 않으면 다른 방법으로 실제 IP 주소를 찾을 수 있습니다.


2
커맨드 라인에서 MAC 주소를 사용하여 IP를 얻는 방법에 대한 아이디어가 있습니까?
Jon Haddad

2

이 명령을 사용하여 직접 얻을 수 있습니다.

VBoxManage list bridgedifs

1

에서 virtualbox.org 포럼 -

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.