当您手动执行第一次安装时,您必须:
groupadd vagrant
useradd vagrant -g vagrant -G wheel
echo "vagrant" | passwd --stdin vagrant
# Install vagrant keys (vagrant will change this key at first boot)
mkdir -p /home/vagrant/.ssh
cat <<EOM >/home/vagrant/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8Y\
Vr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdO\
KLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7Pt\
ixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmC\
P3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcW\
yLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
EOM
chown -R vagrant:vagrant /home/vagrant/.ssh
chmod -R u=rwX,go= /home/vagrant/.ssh
您还必须安装 virtualbox 来宾添加,以允许 vagrant 创建共享文件夹
yum install wget kernel-headers kernel-devel perl gcc bzip2 dmks make -y
wget http://download.virtualbox.org/virtualbox/6.1.4/VBoxGuestAdditions_6.1.4.iso
mkdir /media/VBoxGuestAdditions
mount -o loop VBoxGuestAdditions_6.1.4.iso /media/VBoxGuestAdditions
sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
reboot
然后你可以打包你的安装以制作一个盒子:
mkdir boxes
vagrant package --base NAME_OF_YOUR_VM_ON_VIRTUALBOX --output ./boxes/CentOS.box
要使网络和 ssh 在 VirtualBox 适配器上工作,必须按以下顺序:
1) 纳特
2) 仅限主机
3) 桥接
因此,您必须将第一个设置为 nat(如果您使用 vagrant,它将自动执行此操作)然后
config.vm.network :private_network, ip: "192.168.xx.xxx", netmask: "255.255.255.0", :mac =>"08002782xxxx", name:"vboxnet1", :adapter => 2
config.vm.network :public_network, bridge: "wlp59s0", ip: "192.168.xx.xxx", :mac => "08002726xxxx", :adapter => 3
然后您必须确保您的网络接口已启动,因此只需尝试 ping google。
如果网络接口未启动,并且 ping 不起作用,请在 /etc/sysconfig/network-scripts/ifcfg- 中设置这些参数:
IPV6INIT="yes"
DHCP_HOSTNAME="hostname-here"
IPV6_AUTOCONF="yes"
BOOTPROTO="dhcp"
DEVICE="<device_name_here>"
ONBOOT="yes"
UUID="" #can be omitted
然后重启
请记住,如果您有多个 VM,它们必须具有不同的 MAC 地址才能正常工作
我也分享我的 vagrantfile 配置
Vagrant.configure("2") do |config|
config.vm.define "nodo1" do |nodo1|
nodo1.vm.box = "./boxes/CentOS.box"
nodo1.vm.boot_timeout= 3000000
nodo1.vm.hostname="nodo1server"
nodo1.vm.network :private_network, ip: "192.168.xx.xxx", netmask: "255.255.255.0", :mac =>"08002782xxxx", name:"vboxnet1", :adapter => 2
nodo1.vm.network :public_network, bridge: "wlp59s0", ip: "192.168.xx.xxx", :mac => "08002726xxxx", :adapter => 3
nodo1.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.memory = "2048"
vb.name ="nodo1"
vb.customize ["modifyvm", :id, "--ostype", "RedHat_64"]
vb.customize ["modifyvm", :id, "--boot1", "dvd"]
vb.customize ["modifyvm", :id, "--boot2", "disk"]
vb.customize ["modifyvm", :id, "--boot3", "none"]
vb.customize ["modifyvm", :id, "--boot4", "none"]
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
vb.customize ["modifyvm", :id, "--nic1", "nat"]
vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
vb.customize ["modifyvm", :id, "--nictype3", "virtio"]
vb.customize ["modifyvm", :id, "--nictype4", "virtio"]
vb.customize ["modifyvm", :id, "--acpi", "on"]
vb.customize ["modifyvm", :id, "--ioapic", "off"]
vb.customize ["modifyvm", :id, "--chipset", "piix3"]
vb.customize ["modifyvm", :id, "--vram", 256]
vb.customize ["modifyvm", :id, "--rtcuseutc","on"]
vb.customize ["modifyvm", :id, "--hpet","on"]
vb.customize ["modifyvm", :id, "--bioslogofadein","off"]
vb.customize ["modifyvm", :id, "--bioslogofadeout","off"]
vb.customize ["modifyvm", :id, "--bioslogodisplaytime", 0]
vb.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
vb.customize ["modifyvm", :id, "--draganddrop", "bidirectional"]
vb.customize ["modifyvm", :id, "--vrde","on"]
vb.customize ["modifyvm", :id, "--vrdemulticon", "on"]
vb.customize ["modifyvm", :id, "--vrdeport", 3390]
#vb.customize [
# "storageattach", :id,
# "--storagectl", "IDE",
# "--device", 0,
# "--port", 0,
# "--type", "dvddrive",
# "--medium", "${HOME}iso/CentOS-7-ks.iso"
#]
#
#vb.customize [
# "storageattach", :id,
# "--storagectl", "IDE",
# "--device", 0,
# "--port", 1,
## "--type", "dvddrive",
# "--medium", "${HOME}/iso/VBoxGuestAdditions_6.1.4.iso"
#]
end
end
end
希望对你有帮助!