带打包器的VirtualBox端口转发

带打包器的VirtualBox端口转发,virtualbox,packer,Virtualbox,Packer,我正在使用创建VirtualBox图像 之后,我启动VM,并希望使用ssh连接到它。 我知道如何启用端口转发,但我更喜欢自动化,所以我正在寻找一种方法,让Packer为我做到这一点 我使用NAT作为将虚拟机连接到网络的方式 如何告诉Packer将一些端口转发到VM?在了解了如何使用VirtualBox命令行工具启用端口转发后,我在我的packerConfig.json中提出了此配置: "type": "virtualbox-iso", "vboxmanage": [ [ "modifyvm

我正在使用创建VirtualBox图像

之后,我启动VM,并希望使用ssh连接到它。 我知道如何启用端口转发,但我更喜欢自动化,所以我正在寻找一种方法,让Packer为我做到这一点

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


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

在了解了如何使用VirtualBox命令行工具启用端口转发后,我在我的
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-p3022me@127.0.0.1
连接到虚拟机。

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

     [
         "modifyvm", "{{.Name}}", "--natpf1", "name,tcp,ipHost,portHost,IpGuest,PortGuest"
     ]