VirtualBox 虚拟机,固定IP+内外连通+外网访问原创
金蝶云社区-花开花落花开
花开花落花开
1人赞赏了该文章 6,449次浏览 未经作者许可,禁止转载编辑于2022年10月20日 11:10:06
summary-icon摘要由AI智能服务提供

本文介绍了在VirtualBox中使用NAT模式为虚拟机配置固定IP,并实现内外连通及外网访问的方法。虚拟机默认分配固定IP(如10.0.2.15),可与宿主机通信,但宿主机需端口转换才能访问虚拟机。若需多虚拟机互通,需使用NATservice模式。虚拟机网关固定为10.0.2.2,DNS可设为公共DNS。

如果:仅使用(启动)一个虚拟机,这个虚拟机只启用1块网卡,网络选择默认的NAT模式,宿主机可以上外网,

那么:这个虚拟机天然符合“固定IP+内外连通+外网访问”的要求,

原因:VirtualBox给这个虚拟机分配的IP是“固定的”:10.0.2.15  (Hyper-V是随机的,几乎每次启动都会变)

虚拟机可以ping通宿主机10.0.2.2

宿主机ping虚拟机10.0.2.15 不通。如果需要由外向内连通,需要端口转换。

虚拟机DNS=宿主机DNS

以下内容就不要浪费时间看了,如果想了解更多,下面的内容很有帮助。


学习场景:

    学习苍穹,用到苍穹虚拟机。

知识背景:

    你得知道 VBox 是什么,以及 VBox的基础用法。

    本文涉及的宿主机是windows10/11专业版,虚拟器是VBox(Oracle公司的产品)

必要提示:

    1,VBox虚拟机有多种网络连接方式,每种方式的连接情况参考下图:

VBox Networking Modes.png

    2,VBox的多种连接方式的优缺点,自行学习,在此不赘述。

    3,Bridged(桥接)模式也是常用的模式,看似功能完备,但受到宿主机网络环境的影响,IP地址会变。

    4,NAT模式,是虚拟机系统默认的方式,也是最好的方式。

    5,NATservice模式(软件界面下的名字是“NAT网络”),与NAT模式原理相同,更可以实现虚拟机之间互通。

    6,本篇不展开太多,主要实现目标“VirtualBox 虚拟机,固定IP+内外连通+外网访问”。

实现方式:

    方式一,原理上可以参照 Hyper-V 的模式(下方有链接)同理配置,但我没尝试,有兴趣可以去试试。

    方式二,就用默认的NAT模式就好了。

        默认的NAT模式下,VBox内置NAT Engine主导网络连接,分配给第一个虚拟机的NET参数如下:

        IP地址:10.0.2.15  子网掩码255.255.255.0  广播地址10.0.2.255 网关10.0.2.2  DNS=宿主机的DNS。

        我们实现“VirtualBox 虚拟机,固定IP+内外连通+外网访问”目标的方法就是:

        在默认的NAT模式下:

        设置虚拟机固定IP地址为:10.0.2.15  子网掩码255.255.255.0  广播地址10.0.2.255 网关10.0.2.2  DNS=223.5.5.5

        关键点:

        虚拟机的网关是10.0.2.2,DNS是公共DNS223.5.5.5(避免受到外部宿主机的网络环境的影响)

    方式三,如果希望多个虚拟机互通,就必须得用NATservice模式(软件界面下的名字是“NAT网络”)。


知识延展:

VBox网络连接NAT模式:

    10.0.2.15这个初始分配的IP会不会变?不会变,VBox软件帮助里说的很清楚。

    10.0.2.2这个网关地址会不会变?不会变,VBox软件帮助里说的很清楚

    怎么互ping?

        1,虚拟机ping10.0.2.2,这个地址就是宿主机地址,比如宿主机上有数据库,直接拿这个地址连接。

        2,宿主机ping10.0.2.15,是ping不通的,需要通过“端口映射”来“按需使用”。(不详细解释了,自己去学习)

        3,有没有方案可以实现“内外直接互ping”(像Hyper-V那样)?在我的知识范围内,没有。

    如果多个虚拟机都用默认的NAT模式,VBox是怎么处理的?(来自VBox软件帮助)

        第一个虚拟机的第一个网卡:

            IP地址10.0.2.15  子网掩码255.255.255.0  广播地址10.0.2.255  网关10.0.2.2  DNS=宿主机的DNS

        第一个虚拟机的第二个网卡:

            IP地址10.0.3.15  子网掩码255.255.255.0  广播地址10.0.3.255  网关10.0.3.2  DNS=宿主机的DNS

        第一个虚拟机的第三个网卡:

            IP地址10.0.4.15  子网掩码255.255.255.0  广播地址10.0.4.255  网关10.0.4.2  DNS=宿主机的DNS

        ...

        第二个虚拟机的第一个网卡:

            IP地址10.0.2.15  子网掩码255.255.255.0  广播地址10.0.2.255  网关10.0.2.2  DNS=宿主机的DNS

        ...

    上面的规律看懂了吗?


VBox网络连接NAT模式和“NAT网络”模式的区别:

        这两者本质一样。

        区别是:

            默认的NAT模式,每个虚拟机都是“独立交换”,所以每个虚拟机的第一个网卡都是一样的IP。

            “NAT网络”模式下,每个虚拟机的每个网卡都可以选择同一个“NAT网络”,大家就基于“同一个路由器”组成一个“虚拟局域网”了,所以可以在默认的NAT模式的基础上实现“虚拟机之间互通”。

(本文的核心内容就是上面标注颜色的几句话,其他都是知识延展)

(本文还涉及一些必备知识,比如VBox怎么使用,怎么选择网络连接方式,Linux系统怎么设置固定IP......等)

(以上内容均来自VBox软件帮助文件,且经过使用验证。)

(文中内容如有不妥,请回帖留言,我适时回帖。)



姊妹篇:Hyper-V 虚拟机,固定IP+内外连通+外网访问 (kingdee.com)




图标赞 1
1人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!