使用Packer转发VirtualBox端口

时间:2015-01-06 11:47:46

标签: virtualbox packer

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

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

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

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

2 个答案:

答案 0 :(得分:6)

在了解了如何使用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连接到VM。

答案 1 :(得分:0)

要使用Packer在VirtualBox中创建一个前向端口,请使用:

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