Networking Qemu中的VirtualBox设置等效于什么?
我正在尝试创建一个打包器模板,它同时具有一个VirtualBox和一个Qemu构建器。VirtualBox one运行良好,但使用Qemu,我很难弄清楚如何正确设置网络 更具体地说,在VirtualBox部分,我有Networking Qemu中的VirtualBox设置等效于什么?,networking,qemu,packer,Networking,Qemu,Packer,我正在尝试创建一个打包器模板,它同时具有一个VirtualBox和一个Qemu构建器。VirtualBox one运行良好,但使用Qemu,我很难弄清楚如何正确设置网络 更具体地说,在VirtualBox部分,我有 "vboxmanage": [ ... ["modifyvm", "{{.Name}}", "--nic2", "nat"], ["modifyvm", "{{.Name}}", "--cableconnected2", "on"], ["modi
"vboxmanage": [
...
["modifyvm", "{{.Name}}", "--nic2", "nat"],
["modifyvm", "{{.Name}}", "--cableconnected2", "on"],
["modifyvm", "{{.Name}}", "--nic3", "null"],
["modifyvm", "{{.Name}}", "--cableconnected3", "off"]
],
"vboxmanage_post": [
["modifyvm", "{{.Name}}", "--nic1", "hostonly"],
["modifyvm", "{{.Name}}", "--hostonlyadapter1", "VirtualBox Host-Only Ethernet Adapter"],
["modifyvm", "{{.Name}}", "--cableconnected1", "on"]
],
我试图在开始时至少配置第二个NIC
"qemuargs": [
[ "-netdev", "user,id=mynet0,net=192.168.56.101/24,host=192.168.56.2,dns=192.168.56.2,dhcpstart=192.168.56.2"],
["-m", "128M"]
]
但是Packer说,使用该命令调用Qemu时出错。我做错了什么?还有,当我以后运行创建的映像时,如何创建一个只支持主机的适配器?好的,我设法解决了最初的问题 问题是,-netdev和-device都是必需的,而且(真正让我绊倒的是)它们的顺序很重要:“-netdev”第一,“-device”第二 此外,Packer似乎覆盖了它自己的第一个接口,这反过来又需要它的显式重新定义。明确的重新定义需要两个主机端口。我猜Packer使用其中一个作为其源端口。因此:
"ssh_host_port_min": 3213,
"ssh_host_port_max": 3214,
"qemuargs": [
["-netdev", "user,id=user.0,hostfwd=tcp::3213-:22,hostfwd=tcp::3214-:22,net=10.0.2.0/24"],
["-device", "virtio-net,netdev=user.0"],
["-netdev", "user,id=user.1"],
["-device", "virtio-net,netdev=user.1"],
["-netdev", "user,id=user.2"],
["-device", "virtio-net,netdev=user.2"],
["-m", "128M"]
],
这与上面的VirtualBox设置不同,但至少足以让Packer成功创建映像。实际上,之后正确运行映像是另一个问题