ヘッドレスモードで実行されているVirtualBox VMのブリッジIPアドレスを取得するにはどうすればよいですか?


26

VirtualBoxをサーバーにセットアップしています。Bridged VMとしてセットアップされ、IPアドレスがあります。現在、「VBoxHeadless -s PuppetMaster」で開始されたヘッドレスモードで実行されています。

VMがVBoxManageを使用しているIPを確認するにはどうすればよいですか?

回答:


20

次のコマンドを組み合わせて、ヘッドレス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

しかし、さらに簡単です。Linuxでは、VBに接続できます。

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

このコマンドはシェルウィンドウを開き、Headless VBに直接アクセスできます。HeadlessVBでIPを取得できます:ip addr


6

ゲストの追加をインストールし、(Linuxがゲストであると仮定して)次を実行できます。

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で機能します。-複数のVMがVM名でフィルター処理されている場合:VBoxManage list runningvms | grep vmname | awk ...
mschuett

または、特定の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を取得する方法についてのアイデアはありますか?
ジョンハダッド


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.