vbox虚拟机环境快速配置,通过命令行调用vbox.虚拟机网络设置.Vboxmanage命令的使用

设置双网卡

为了便于调试,无界面访问,一个对外访问,一个私网访问.

Vbox网络配置:
-w743

Dhcp配置:
-w737

虚拟机配置:

  • 外网接口:
    -w712
  • 内网口
    -w712

绑定静态IP:

网口1:'ifcfg-enp0s3'
网口2:'ifcfg-enp0s8'
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=9f072511-f3bb-37c7-8e1e-79181d93d050
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.56.101
NETMASK=255.255.255.0
GATEWAY=192.168.56.1

重启网卡:
service network restart

测试可以访问:

ssh root@192.168.56.101

修改hostname
hostnamectl set-hostname serv-101

配置免登录

生成sshKey复制到对应的服务器上.

ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.56.101

共享盘

更新系统安装依赖

yum update kernel -y
yum install kernel-headers kernel-devel gcc make -y
init 6

挂载光盘

mkdir /mnt/cdrom
sudo mount -t auto /dev/cdrom /mnt/cdrom/
cd /mnt/cdrom
sudo ./VBoxLinuxAdditions.run

挂载共享盘:

先选择路径,
-w713

mount -t vboxsf data /data

-w526

宿主机配置快捷访问

.bashrc 或者 .zshrc

# 开机
alias vbox-start='vbox() { Vboxmanage startvm "$1" --type headless; };vbox'
# 关机
alias vbox-stop='vbox() { Vboxmanage controlvm "$1" savestate; };vbox'
//savestate 保持状态;poweroff 关机
# 关掉所有
alias vbox-all-stop="vbox() { VBoxManage list runningvms | awk '{print \$1}' | xargs -I '%' Vboxmanage controlvm '%' savestate; };vbox"

# 删除虚机机
alias vbox-stop='vbox() { VBoxManage unregistervm --delete "$1" };vbox'

# 远程运行命令
alias vbox-exec='exec() {VBoxManage --nologo guestcontrol "$1" --username root --password 123456 run --wait-stdout -- /bin/bash -c "$2"};exec'

# 初始化主机
alias vbox-init='fun() {vbox-exec "serv-$1" "/init.sh $1"};fun'

# 克隆新主机
alias vbox-clone='clone() { VBoxManage clonevm "centos7-base" --name="serv-$1" --register && vbox-start "serv-$1" && sleep 10 && vbox-exec "serv-$1" "/init.sh $1"};clone'

远程执行命令

有时IP地址冲突,我们无法ssh进入到虚拟机时,可以用vbox远程管理命令进行修改

vbox-exec是上面的别名: VBoxManage --nologo guestcontrol "$1" --username root --password 123456 run --wait-stdout -- /bin/bash -c "$2"

# 修改IP地址
vbox-exec serv-102 "sed -ri 's/(IPADDR=).*/\1\"192.168.56.102\"/' /etc/sysconfig/network-scripts/ifcfg-enp0s8"
vbox-exec serv-102 "service network restart"  
# 设置hostname
vbox-exec serv-102 "hostnamectl set-hostname serv-102"
# 查看IP地址
vbox-exec serv-102 "ip address"

原作者:阿金
本文地址:https://hi-arkin.com/archives/vbox-dev.html

标签: vbox Vboxmanage

(本篇完)

评论