VirtualBox网络之仅主机(Host-Only)网络

        当创建好仅主机(Host-Only)网络后,在同一台宿主机中,联接其上的不同虚拟机可以互通,虚拟机主宿主机之间也可以互通,当在宿主机中设置了Internet连接共享,也可以访问外网。

1.创建仅主机(HOST-ONLY)网络。

        VirtualBox默认自带名为"VirtualBox Host-Only Ethernet Adapter"的仅主机网络,为了演示的完整性,创建自己的仅主机网络。

        打开VirtualBox后,点击菜单栏上的管理按键,然后选择主机网络管理器,弹出如下图1所示的对话框,可以看到VirtualBox默认自带的仅主机网络。


                                                                  图1

        然后点击图1中对话框的创建按键,弹出如下图2所示的对话框。


                                                              图2

        选中手动配置网卡,按自己的规划填入值,这里采用默认配置。点击DHCP服务器选项卡,弹出如下图3所示的对话框。


                                                                 图3

        勾选启用服务器,按规划填入值,同样这里采用默认配置,同时在图3中红框的位置打勾,现在一个带DHCP功能的仅主机网络已建创建完成。打开宿主机“控制面板\网络和 Internet\网络连接",如下图4红框所示,可以看到新创建出来的网络虚拟设备。



                                                                           图4

        打开宿主机的命令行窗口,运行ipconfig /all命令,能看到如下图5所示的输出,证明虚拟设备的IP地址已经被正确分配,IP地址是192.168.187.1,就是在图2中设备的值。


                                                                 图5

2.设置Internet连接共享(非必需)

        完成以上步骤后,创建出来的仅主机网络还不能连接外网,如果想连通外网的话,需要设置连接共享,操作如下。在宿主机中打开"控制面板\网络和 Internet\网络连接",右键点击处于连接状态的网络,本例中是"无线网络连接"。选择属性,然后选择共享选项卡,在Internet连接共享中将第一个复选项选中,在"请选一个专用网络连接"选择前刚才创建的仅主机网络,如下图6所示,点击确定。


                                                                                       图6

        点击确定后,会弹出如下图7所示的提示框。windows会强制将在图2中设置好的IP,换成下图中的IP,也就是将"192.168.187.1"换成下图7中的"192.168.137.1",而不是主动适配已经设置好的IP。接下来,再改回已经设置好的那个IP。


            按打开图2的步骤再次打开,如下图8所示,将其中的"192.168.137.1"改成原来的"192.168.187.1",按应用键生效,就会恢复已经规划好的配置。


                                                             图8

        目前创建的仅主机网络,具备DHCP功能,也能连接外部网络。

3.将虚拟机接入创建好的仅主机网络。

        如下图9。启用网卡1的网络连接,连接方式选择"仅主机(Host-Only)网络,界面名称选择刚才创建的网络名称,然后点OK。这样的话虚拟机ubuntu-02的网卡1就连接进入刚才创建的仅主机网络。因为网卡1是虚拟机的主网卡,它会自动以DHCP的方式取得IP地址。启动虚拟机,确认一下它的网络情况。在此之前,先关闭宿主机的防火墙,否则PING不通宿主机。


                                                                  图9

        因为网卡1是虚拟机的主网卡,它会自动以DHCP的方式取得IP地址。启动虚拟机,确认一下它的网络情况。在此之前,先关闭宿主机的防火墙,否则PING不通宿主机。如下图10.


                                                                             图10

        由上图可知道,网卡1就是enp0s3已分配到IP地址192.168.187.3,能PING通本网段的其它网址。从route命令的输出与resolv.conf内容可以看出,虚拟机现在还不能连接外网(因为没有默认路由),也不能正确解析域名(因为没有域名服务器地址)。可见,仅主机(Host-Only)网络,并没有为连接其上的虚拟机自动配置路由及域名解析服务器。

        运行命令route add defalut gw 192.168.187.1添加默认路由,其中192.168.187.1就是位于宿主机中虚拟设备的IP地址。修改/etc/resolv.conf文件,增加一条可用的域名服务器,如nameserver 8.8.8.8。再确认一下连接外网的能力,如下图11,证明已能连接外网,也能解析域名。


                                                                                图11

<think>好的,我现在需要帮助用户解决VirtualBox Host-Only网络没有分配IP的问题。首先,我得理解用户的问题。用户在使用VirtualBoxHost-Only网络时,虚拟机没有分配到IP地址,导致网络连接可能有问题。我需要根据用户提供的引用资料和常见解决方法,给出一个结构清晰的解决方案。 根据用户提供的引用内容,特别是引用[1]和[2],Host-Only适配器使用vboxnet0或类似的虚拟网卡,主机作为路由器分配IP地址,通常是192.168.56.1。如果虚拟机没有获得IP,可能的因包括Host-Only网络配置错误、VirtualBox网络服务未运行、虚拟机设置问题或DHCP服务器未启用等。 首先,我需要检查用户是否已经确认Host-Only网络的配置是否正确。比如,在VirtualBox全局设置中,Host-Only网络是否存在,并且DHCP服务器是否启用。引用[3]提到在设置中找到对应的网络适配器,这可能涉及到检查网络适配器的状态和配置。 接下来,检查主机的虚拟网卡是否启用,是否有防火墙或安全软件阻止了通信。有时候,防火墙设置可能会阻止VirtualBox网络服务正常工作,导致IP无法分配。 另外,虚拟机的网络设置是否正确也是关键。用户需要确认虚拟机配置中选择了正确的Host-Only适配器,如引用[3]中提到的选择正确的网络适配器。 如果这些步骤都正确,可能需要重启VirtualBox的相关服务,或者重新安装Host-Only网络驱动。引用[4]虽然主要讲镜像转换,但有时重新安装虚拟网卡驱动也能解决问题。 最后,如果问题依旧存在,查看日志文件或使用命令行工具手动分配IP可能会有帮助。用户还可以尝试手动设置静态IP,确保在同一个子网内,比如192.168.56.x。 需要确保每一步都详细说明,避免技术术语过多,同时结构清晰,分步骤进行。同时,生成相关问题时要覆盖常见可能的问题,比如检查DHCP、防火墙、服务状态等。</think>### 解决VirtualBox Host-Only网络未分配IP的步骤 #### 1. **检查Host-Only网络配置** - 打开VirtualBox主界面 ➔ 菜单栏选择 **全局工具** ➔ **主机网络管理器**。 - 确认`vboxnet0`(或类似名称的虚拟网卡)已启用,且DHCP服务器处于**运行状态**[^1][^2]。 - 若未启用DHCP,手动勾选 **启用DHCP服务器**,并设置IP地址范围(例如`192.168.56.100-200`)。 #### 2. **验证主机虚拟网卡状态** - **Windows系统**:打开网络连接面板,检查 **VirtualBox Host-Only Ethernet Adapter** 是否启用,且IP为`192.168.56.1`[^2]。 - **Linux系统**:通过终端执行 `ip addr show vboxnet0`,确认网卡状态为`UP`且IP配置正确。 #### 3. **检查虚拟机网络设置** - 在虚拟机设置中,选择 **网络** ➔ 适配器类型选 **Host-Only网络**,并关联到正确的虚拟网卡(如`vboxnet0`)[^3]。 - 若使用多台虚拟机,确保所有虚拟机均绑定到同一Host-Only网络。 #### 4. **重启VirtualBox相关服务** - **Windows**:以管理员身份运行命令提示符: ```bash net stop VBoxSDS net start VBoxSDS ``` - **Linux**:执行 `sudo systemctl restart vboxdrv`。 #### 5. **排查防火墙/安全软件干扰** - 临时关闭主机防火墙或安全软件,测试是否恢复IP分配。 - 确保VirtualBox进程(如`VBoxSDS.exe`)被允许通过防火墙。 #### 6. **手动分配静态IP(备用方案)** - 在虚拟机操作系统中,手动设置IP地址(如`192.168.56.10`)、子网掩码(`255.255.255.0`)和网关(`192.168.56.1`)。 #### 7. **重新安装Host-Only网络驱动** -VirtualBox安装目录下运行: ```bash VBoxManage hostonlyif remove vboxnet0 # 删除现有网卡 VBoxManage hostonlyif create # 重新创建网卡 ``` --- ### 关键配置示例 ```plaintext Host-Only网络典型配置: - 主机IP: 192.168.56.1 - 虚拟机IP池: 192.168.56.100~200(通过DHCP分配) - 子网掩码: 255.255.255.0 ``` ---
评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值