6

我正在使用Packer创建一个 VirtualBox 图像。

之后我启动虚拟机,我想使用 ssh 连接到它。我知道如何使用 GUI启用端口转发,但我更喜欢自动化,所以我正在寻找一种方法让 Packer 为我做这件事。

我使用 NAT 作为将我的虚拟机连接到网络的方式。

我如何告诉 Packer 将一些端口转发到 VM?

4

2 回答 2

8

在查看了如何使用 VirtualBox 的命令行工具VBoxManage启用端口转发之后,我在我的packerConfig.json

"type": "virtualbox-iso",
"vboxmanage": [
   [ "modifyvm", "{{.Name}}", "--memory", "1024" ],
   [ "modifyvm", "{{.Name}}", "--cpus", "1" ],
   [ "modifyvm", "{{.Name}}", "--natpf1", "guest_ssh,tcp,,3022,,22" ]
 ]
...

最后一部分使 VirtualBox 将流量从主机的 3022 转发到来宾的 22。

这意味着我可以ssh -p 3022 me@127.0.0.1连接到虚拟机。

于 2015-01-06T11:47:45.773 回答
1

要使用 Packer 在 VirtualBox 中创建端口转发,请使用以下命令:

     [
         "modifyvm", "{{.Name}}", "--natpf1", "name,tcp,ipHost,portHost,IpGuest,PortGuest"
     ]
于 2017-09-21T15:07:53.217 回答