我正在使用Packer创建VirtualBox图像。
之后我启动了VM,我想使用ssh连接它。 我知道如何启用端口转发using the GUI但我更喜欢自动化,所以我正在寻找一种方法让Packer为我做这件事。
我正在使用NAT作为将VM连接到网络的方式。
如何告诉Packer将某些端口转发到VM?
答案 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"
]