Code: Select all
sudo apt install virtualbox virtualbox-ext-pack
sudo systemctl status vboxdrv
sudo usermod -aG vboxusers $USER
Code: Select all
mkdir /data/vms
vboxmanage createvm --ostype Ubuntu_64 --basefolder /data/vms --register --name testvm
vboxmanage modifyvm testvm --memory 8192 --cpus 4
#ถ้าจะใช้ nat network ไม่ต้องใช้คำสั่งนี้
vboxmanage modifyvm testvm --nic1 bridged --nictype1 82545EM --bridgeadapter1 enp0s0
#enp0s0 คือ host interface ที่จะ bridged กับ testvm
vboxmanage modifyvm testvm --vrde on --vrdeport 33890
vboxmanage createhd --filename /data/vms/testvm/testvm_disk1.vdi --format VDI --size 819200
#size เป็น MB
vboxmanage storagectl testvm --name "SATA" --add sata
vboxmanage storageattach testvm --storagectl SATA --port 0 --type hdd --medium /data/vms/testvm/testvm_disk1.vdi
vboxmanage storageattach testvm --storagectl SATA --port 15 --type dvddrive --medium /data/temp/ubuntu-20.04-server.iso
#วิธี detach storage
vboxmanage storageattach testvm --storagectl SATA --port 0 --medium emptydrive
#หาก run host ผ่าน firewall ให้ enable vrdeport
iptables -A INPUT -p tcp --dport 33890 -j ACCEPT
#list vms
vboxmanage list vms
#list running vms
vboxmanage list runningvms
#start vm
vboxmanage startvm testvm --type headless
#in case of vm being locked on startvm, run this command to reset "locked" status.
vboxmanage startvm testvm --type emergencystop
#power off vm
vboxmanage controlvm testvm poweroff
#delete vm
vboxmanage unregistervm testvm --delete
#list hdds
vboxmanage list hdds
#assign new uuid to hdd
vboxmanage internalcommands sethduuid <file.vdi>
#remove hdd
vboxmanage closemedium disk <uuid> --delete
#remove bridge interface
brctl delbr enp0s0
#enp0s0 คือ host interface ที่ bridged กับ testvm
บน Guest install Guest Additions
Code: Select all
sudo apt update
sudo apt install virtualbox-guest-dkms
วิธีทำ port forwarding จาก host ไปยัง vm
ในตัวอย่าง ทำ port forwarding จาก host port 30022 ไปยัง guest port 22
Code: Select all
vboxmanage modifyvm testvm --natpf1 "guestssh,tcp,,30022,,22"
Code: Select all
vboxmanage showvminfo testvm