使用Packer转发VirtualBox端口

Mat*_*aun 5 virtualbox packer

我正在使用Packer创建VirtualBox图像.

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

我正在使用NAT作为将VM连接到网络的方式.

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

Mat*_*aun 7

在看了如何使用VirtualBox的命令行工具VBoxManage启用端口转发之后,我想出了以下配置packerConfig.json:

"type": "virtualbox-iso",
"vboxmanage": [
   [ "modifyvm", "{{.Name}}", "--memory", "1024" ],
   [ "modifyvm", "{{.Name}}", "--cpus", "1" ],
   [ "modifyvm", "{{.Name}}", "--natpf1", "guest_ssh,tcp,,3022,,22" ]
 ]
...
Run Code Online (Sandbox Code Playgroud)

最后一部分使VirtualBox将主机3022的流量转发给访客22.

这意味着我可以ssh -p 3022 me@127.0.0.1连接到VM.