Virtualbox 本身自带了一个NAT网络地址转换的连接方式,不用配置可以直接使用。
既然有现成的直接可以选,为什么还要配置 NAT网络呢?
原因在于默认的NAT网络,网段是预置好的** 10.0.2.0/24**,本来也没什么问题。
只是最近连接 项目VPN时,VPN的网段也是 10.0.2.0/24。
虽然能成功连接VPN,但是虚拟机上的多个服务之间的经常会出现无法连接的情况,
在虚拟机中用SSH也连不上VPN中的服务器,折腾了好长时间才发现可能是网段冲突导致的。
于是,才想到自己去配置一个NAT网络。
配置NAT网络
配置很简单,在菜单【管理】中选择【全局设定】,也可以用 快捷键【Ctrl+G】
为了避免和VPN冲突,这里我设置的网段是 10.0.3.0/24。(可以根据自己的实际情况调整)
配置之后,配置自己的虚拟机网络,使用这个刚配置的网络。
这里的mynat就是上面配置的NAT网络名字。
映射端口
NAT网络配置之后,可以再配置端口映射,将虚拟机中的服务映射出来,可以在局域网中测试,使用。
主机IP不用填写,默认就是主机的IP,子系统IP是虚拟机的IP(10.0.3.4)。
因为这个NAT网络用于多个虚拟机,所以这里必须要填写子系统IP,这样才能确定映射到主机上的端口对应了哪个虚拟机的服务。
总结
调整之后,果然,VPN中的服务器可以用SSH连接了,虚拟机上的多个服务之间的经常会出现无法连接的情况也没有了。
对于Virtualbox虚拟机,如果用来作为开发服务器,我建议使用NAT网络的方式,把虚拟机的服务都通过端口映射的方式暴露出去。
不建议使用桥接网络的方式,桥接方式虽然配置简单,也不需要端口映射。
但是,桥接方式中每个虚拟机都有自己独立IP,当局域网是多人一起使用的时候,一是容易IP冲突,二是多出来的IP都需要管理,增加了协作的复杂度。