• virtualBox虚拟机之间网络互通设置


    环境

    主机:Win10
    虚拟机:Ubuntu 20.04
    虚拟机:VirtualBox 6.1

    模式虚拟机→主机主机→虚拟机虚拟机↔虚拟机虚拟机→Net/LANNet/LAN→虚拟机
    NAT端口转发×端口转发
    NATservice端口转发端口转发
    Host-Only××
    Internal××××
    Bridged

    【推荐】桥接网卡(Bridged)

    用于一些高级网络需求,例如网络模拟和用户机中运行的服务器。启用后,Oracle VM VirtualBox
    将连接到主机安装的网卡之一并直接交换网络数据包,从而绕过主机操作系统的网络堆栈。 像是真实存在于主机网路中的一台主机,主机能上网才能上网。
    ip与本机处于同一网段,因为网关和主机一样。

    【默认的网络设置】网络地址转换(NAT)

    是默认模式,装好系统什么都不用改就可以直接联网。 通过构造一个虚拟网卡,连接虚拟机的交换机以及NAT设备等,虚拟机发出和收到的请求经由NAT
    Engine处理实现网络访问。 外部不可见,即外部ping不了虚拟机,其他虚拟机也ping不了。
    ip地址通常为10.0.2.xx,因为默认虚拟网卡连接到10.0.2.0。

    【了解】NAT网络

    一种允许出站连接的内部网络。 好像……不太有用,不多介绍。

    【了解】仅主机(Host-Only)网络

    在主机上虚拟一个专供虚拟机使用的host-only网卡,然后把虚拟主机桥接到上面,通过设置这个host-only网卡实现网络连接。
    可以在Windows网络适配器里看到一个VirtualBox Host-Only Network网卡,利用这个网卡进行通信。
    所有虚拟机都连在这个网卡下,所以相互之间可以访问,当然也属于同一网段。 要访问主机或者上网需要一些额外设置,操作相对复杂一点。
    ip地址通常为192.168.56.x,因为VirtualBox Host-Only
    Network网卡ip为192.168.56.1(网关)。

    【了解】内部(Internal)网络

    用于创建不同类型的基于软件的网络,该网络对选定的虚拟机可见,但对主机上运行的应用程序或外部世界不可见。
    用得也不多,不多介绍。

    【了解】通用驱动(Generic networking)

    共享相同通用网络接口的模式,允许用户选择可包含在 Oracle VM VirtualBox 中或分发到扩展包中的驱动程序。
    官方认证很少使用(rarely used mode)。

    【掌握】桥接方式配置网络

    第一步:设置win10电脑网卡
    第二步:设置virtualbox 网络
    第三步:配置ubuntu20.04的静态ip地址

    • 第一步:设置win10电脑网卡

      • Win+X打开设备管理器;

      • 操作→添加过时硬件;

      • 安装我手动从列表选择的硬件→网络适配器→厂商:Microsoft;型号:KM-TEST环回适配器;

      • 创建完成,打开网络适配器就可以看到;
        在这里插入图片描述

      • 右键打开连接了WIFI的那个网卡WLAN的属性,在共享选项卡里设置允许其他网络用户通过此计算机的Internet来连接,下面选择新建的那个网卡。
        在这里插入图片描述

    • 第二步:设置virtualbox 网络

      • 打开virtualBox对应的系统,设置-> 网络-> 网卡1-> 连接方式:桥接网卡 -> 界面名称:新建的那个网卡
        在这里插入图片描述
    • 第三步:配置ubuntu20.04的静态ip地址

      • 修改网络配置文件:sudo vim /etc/netplan/01-network-manager-all.yaml,内容改为如下

        # Let NetworkManager manage all devices on this system
        network:
            ethernets:
                enp0s3:                                              #网卡名称
                    dhcp4: no
                    addresses: [192.168.137.30/24]                    #静态IP及掩码
                    optional: true
                    gateway4: 192.168.137.1                          #网关
            version: 2                                                                                                                                                                                             
            renderer: NetworkManager
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10

        原文件内容如下【仅备份使用】:

        # Let NetworkManager manage all devices on this system
        network:
          version: 2
          renderer: NetworkManager
        
        • 1
        • 2
        • 3
        • 4
    • 然后重启网络服务:sudo netplan apply

      • 检查静态ip是否生效: ifconfig
        在这里插入图片描述
      • 再在window和其它虚拟机里检查是否可以互通
        在这里插入图片描述
        在这里插入图片描述
        所有配置均成功了,这样你在虚拟机里启动的服务,其它虚拟机也可以正常访问了。比如:在30虚拟机里启动了一个flask server,在20机器里就可以正常访问了
        在这里插入图片描述
  • 相关阅读:
    入门力扣自学笔记72 C++ (题目编号515)
    【413.等差数列划分】
    基于机器学习的 ICU 脑血管疾病死亡风险智能预测系统
    2024年8月7日(mysql主从 )
    JavaScript 数组的函数 map/forEach/reduce/filter
    Fabric.js 拖拽平移画布
    python 第六章
    Blazor前后端框架Known-V1.2.11
    Verilog 代码题练手(1)
    Nginx安装与常见命令
  • 原文地址:https://blog.csdn.net/corner2030/article/details/127926454