使用Packer进行VirtualBox端口转发

6
我正在使用Packer创建一个VirtualBox映像。
然后,我启动VM并希望使用ssh连接到它。我知道如何使用GUI启用端口转发(链接),但我更喜欢自动化,所以我正在寻找一种让Packer为我完成这项任务的方法。
我使用NAT作为将VM连接到网络的方式。
我该如何告诉Packer将某些端口转发到VM?
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来连接虚拟机。

1
使用Packer在VirtualBox中创建端口转发,可按如下操作:
     [
         "modifyvm", "{{.Name}}", "--natpf1", "name,tcp,ipHost,portHost,IpGuest,PortGuest"
     ]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接