VirtualBox 网络设置

news2024/9/20 3:13:02

VirtualBox 是一款非常流行的虚拟化软件,在计算机上创建虚拟环境运行不同操作系统和应用程序。网络设置在 VirtualBox 中至关重要,它决定了虚拟机能否连接到互联网或其他计算机,实现数据传输和共享。

在 VirtualBox 中创建虚拟机时,默认会使用网络地址转换(NAT)模式,这也是 Host-only 模式,为虚拟机创建网络连接。例如,所有新建虚拟机默认都使用 NAT 适配器,NAT 适配器能够实现虚拟机与互联网的连接。默认情况下,虚拟机可以通过这种方式访问互联网,但母机却不一定能够访问虚拟机的网络资源。其默认得到的客户端 IP 一般是 10.0.2.15,网关是 10.0.2.2,域名服务器是 10.0.2.3。

VirtualBox 的网络设置对于虚拟机的正常运行和与外部环境的交互起着关键作用。通过合理的网络设置,可以让虚拟机在不同的网络环境中都能实现高效的数据传输和共享,满足用户在各种场景下的需求。无论是进行软件开发、测试,还是进行网络实验等,正确的网络设置都是必不可少的一步。

二、常见网络设置方式

(一)桥接模式

在桥接模式下,虚拟机可以直接通过主机的网卡连接到网络,就好像虚拟机是一台独立的物理计算机一样。这意味着虚拟机可以获得与主机所在网络同一网段的 IP 地址,并且可以与同一网段内的其他设备进行通信。

要使用桥接模式,首先需要在 VirtualBox 的设置中选择网络连接方式为桥接网卡。然后,启动虚拟机后,可能需要手动配置 IP 地址等信息。如果不清楚主机的 IP 地址等信息,可以在主机上按 win+r 键,输入 cmd,进入命令行模式,输入命令 ipconfig 查看信息。虚拟机的 IP 地址需要与主机在同一个网段,并且网关与 DNS 需要与主机网卡一致。例如,如果主机的 IP 地址是 192.168.1.100,子网掩码是 255.255.255.0,网关是 192.168.1.1,那么虚拟机的 IP 地址可以设置为 192.168.1.101,子网掩码和网关设置与主机相同。

在配置过程中,需要注意选择正确的上网网卡。如果主机有多个网卡,需要选择连接到互联网的那个网卡进行桥接。同时,手动配置 IP 地址时要确保 IP 地址不与其他设备冲突,以免造成网络故障。

(二)HostOnly 模式 + 网络共享

在 HostOnly 模式下,只有主机可以访问虚拟机,虚拟机无法直接连接到外部网络。但是,通过网络共享可以实现虚拟机上网。

首先,在主机的网络连接中,找到 “本地连接” 的属性,在 “共享” 选项卡下设置 “Inertnet 连接共享”,选中 VirtualBox Host-Only Network。此时,VirtualBox Host-Only Network 的 IP 地址会被自动设置,例如为 192.168.0.1,子网掩码为 255.255.255.0。

然后,在虚拟机中设置网络 IP 地址为 192.168.0.xx,子网掩码为 255.255.255.0。同时,为虚拟机设置 DNS 地址,该地址为宿主机上网所使用的真实 DNS 服务器地址。如果不设置 DNS 地址,虚拟机很可能无法访问外网。

(三)双网卡模式(HostOnly 模式 + NAT 转换)

双网卡模式结合了 HostOnly 模式和 NAT 转换,可以实现虚拟机既可以与主机通信,又可以访问外部网络。

首先,在 VirtualBox 中设置两个网络模式。一个设置为 HostOnly 模式,另一个设置为 NAT 转换模式。然后,查看虚拟机的网卡地址。可以通过执行 ifconfig 命令查看网卡配置文件。如果只有一个网卡配置文件,则需要新建一个网卡配置文件,可以先复制现有的网卡配置文件,然后进行配置文件内容的更改。

配置网卡文件时,需要分别为 HostOnly 模式和 NAT 转换模式的网卡配置 IP 地址、子网掩码、网关、DNS 和 MAC 地址。在配置 HostOnly 模式的网卡文件时,需要将 UUID 进行注释,否则重启后可能会出现网络不通的情况。

配置完成后,可以进行网络连通性测试。可以通过 ping 命令测试虚拟机与主机、外部网络的连通性。如果能够成功 ping 通,则说明网络设置成功。

三、高级网络设置

(一)多适配器设置

在 VirtualBox 中,可以设置多个网络适配器以满足不同的网络需求。例如,设置两个适配器,一个为 NAT 模式,用于提供互联网连接;另一个为仅主机模式,并分配静态 IP。这样的设置可以让虚拟机既能够访问外部网络,又能够与主机进行通信。

以 Ubuntu 为例,首先将第一个适配器设置为 NAT 模式,这将为虚拟机提供互联网连接。然后,将第二个适配器设置为仅主机模式。启动虚拟机后,为 Ubuntu 中的第二个适配器分配静态 IP,比如 192.168.56.56。同时,主机 Windows 将使用 192.168.56.1 作为内部网络的 IP(VirtualBox Host-Only Network 是 Windows 中网络连接中的名称)。这样就可以从 Windows 访问 192.168.56.56 来访问 Ubuntu 上的服务,如 apache 服务器。此外,由于第一个适配器设置为 NAT,Ubuntu 将具有互联网访问权限。

(二)虚拟网络适配器类型

VirtualBox 可以虚拟化六种虚拟适配器类型,各有特点:

  1. AMD PCnet-PCI II (Am79C970A):此网络适配器基于 AMD 芯片,可用于多种情况。对于 Windows 来宾,此网络适配器可用于较旧的 Windows 版本(如 Windows 2000),因为较新的 Windows 版本(如 Windows 7、8 和 10)不包含此适配器的内置驱动程序。最初,Am79C970A PCI 器件包含一个单芯片 10 Mbit 控制器,并集成了 DMA 引擎。此网络适配器还支持 AMD 的幻数据包技术,用于远程唤醒。
  1. AMD PCnet-FAST III (Am79C973):几乎所有可以在 VirtualBox 上运行的来宾操作系统都支持此虚拟化网络适配器。GRUB(引导加载程序)可以使用此适配器进行网络引导。与以前的网络适配器类似,这个是基于 AMD 芯片的。
  1. 英特尔 PRO/1000 MT 台式机 (82540EM):此适配器可与 Windows Vista 和较新的 Windows 版本完美配合。大多数 Linux 发行版也支持此适配器。
  1. 英特尔 PRO/1000 T 服务器 (82543GC):Windows XP 无需安装其他驱动程序即可识别此适配器。
  1. 英特尔 PRO/1000 MT 服务器 (82545EM):此适配器模型可用于从其他平台导入 OVF 模板,并且可以简化导入过程。
  1. 半虚拟化网络适配器(virtio-net):来宾操作系统必须为虚拟化环境提供特殊的软件接口,而不是大多数操作系统支持的虚拟化网络硬件。这种方法可以让您避免网络硬件模拟的复杂性,从而提高网络性能。VirtualBox 支持行业标准 virtIO 网络驱动程序。VirtIO 网络驱动程序是 KVM 项目的一部分,并且是开源的。这些驱动程序适用于内核为 2.6.25 或更高版本的 Linux,以及包括旧版本(如 Windows 2000、XP 和 Vista)的 Windows。

(三)巨型帧支持

VirtualBox 提供对巨型帧(可以携带大小超过 1500 字节的数据包的以太网帧)的有限支持。如果需要使用巨型帧,请选择一个 Intel 虚拟化网络适配器,并将该适配器配置为在桥接模式下工作。基于 AMD 的虚拟网络适配器不支持巨型帧。如果尝试为基于 AMD 的虚拟网络适配器启用巨型帧,则输入和输出流量的巨型帧将以静默方式丢弃。默认情况下,巨型帧处于禁用状态。

四、不同系统下的网络设置

(一)Windows 系统

在 Windows 系统中使用 VirtualBox 时,设置桥接网卡相对较为简单。首先,打开 VirtualBox 的设置界面,在网络设置中选择连接方式为桥接网络。此时,Windows 系统会自动检测到新的硬件连接。自动添加新硬件后,需要手动配置 IP 地址、网络掩码、网关及 DNS。可以通过以下步骤进行配置:在 Windows 系统中,打开 “控制面板”,找到 “网络和共享中心”,点击进入后选择 “更改适配器设置”。找到与 VirtualBox 桥接网络对应的网络连接,右键点击选择 “属性”。在弹出的窗口中,选择 “Internet 协议版本 4(TCP/IPv4)”,然后点击 “属性” 按钮。在新弹出的窗口中,可以手动输入 IP 地址、子网掩码、网关和 DNS 服务器地址。需要注意的是,这些参数的设置要与主机所在的网络环境相匹配,以确保虚拟机能够正常连接到网络。例如,如果主机所在网络的 IP 地址范围是 192.168.1.1 - 192.168.1.254,子网掩码为 255.255.255.0,网关为 192.168.1.1,DNS 服务器地址可以设置为常用的公共 DNS 服务器地址,如 8.8.8.8 或 114.114.114.114。同时,要确保设置的 IP 地址不与网络中的其他设备冲突,以免造成网络故障。

(二)CentOS Linux 系统

在 CentOS Linux 系统中,VirtualBox 的网络设置主要通过修改网络配置文件来实现。首先,一般情况下不会自动生成 ifcfg-eth1 文件。如果需要添加新的网络接口,可以手动创建。制作 ifcfg-eth0 文件的副本,并将其命名为 ifcfg-eth1。然后在文本编辑器中打开 ifcfg-eth1,更新 DEVICE 条目,更新(或删除)HWADDR 条目,并删除 UUID 条目(如果有)。进行所需的任何其他更改。或者,也可以安装和使用 System-Config-Network 工具:yum install system-config-network-tui,然后使用该工具进行配置。

对于已有的 ifcfg-eth0 文件,也需要进行适当的修改。例如,要设置静态 IP,可以将 BOOTPROTO 固定改成 static,将 ONBOOT 固定改成 yes,设置 DNS1 为常用的 DNS 服务器地址,如 8.8.8.8 或 114.114.114.114。IPADDR 配置成所需的固定 IP,需要参考宿主机的 IP,但不能使用已被占用的 IP 或预留 IP。NETMASK 和 GATEWAY 都要和宿主机保持一致。

修改完成后,保存退出,然后重新启动网络连接。可以使用命令service network restart或/etc/init.d/network restart来重启网络。如果在克隆服务器之后配置网络,可能会遇到接口配置文件与网卡名称不一致的情况。此时,可以修改/etc/udev/rules.d/70-persistent-net.rules文件中的配置,使得服务器的网卡名称与接口配置文件中的名称一致,然后再将 ifcfg-eth0 中的网卡名也跟着改过来,最后重启网络。这样就可以确保 CentOS Linux 系统在 VirtualBox 中的网络设置正确,实现与外部网络的连接和通信。

五、网络设置总结

VirtualBox 提供了多种网络设置方式,每种方式都有其特定的应用场景和优缺点。在选择网络设置方式时,需要根据实际需求进行综合考虑。

如果需要虚拟机像独立的物理计算机一样与外部网络中的其他设备进行通信,并且能够被外部访问,桥接模式是一个不错的选择。但要注意选择正确的上网网卡,并确保手动配置的 IP 地址不与其他设备冲突。

如果只需要主机与虚拟机进行通信,而不考虑虚拟机访问外网,HostOnly 模式可以满足需求。通过网络共享还可以实现虚拟机上网,但需要正确设置 IP 地址和 DNS 地址。

双网卡模式结合了 HostOnly 模式和 NAT 转换,能够实现虚拟机既与主机通信又访问外部网络,为用户提供了更多的灵活性。

对于需要多个网络适配器的情况,可以根据不同的需求设置不同的网络模式,如一个为 NAT 模式提供互联网连接,另一个为仅主机模式实现与主机的通信。

在选择虚拟网络适配器类型时,需要考虑不同操作系统的兼容性和特定的功能需求。例如,对于较旧的 Windows 版本,可以选择 AMD PCnet-PCI II (Am79C970A);对于大多数 Linux 发行版和较新的 Windows 版本,可以选择英特尔 PRO/1000 系列适配器;如果想要提高网络性能,可以考虑使用半虚拟化网络适配器(virtio-net)。

对于需要使用巨型帧的情况,要选择 Intel 虚拟化网络适配器并配置为桥接模式,同时要注意基于 AMD 的虚拟网络适配器不支持巨型帧。

在不同的操作系统下,网络设置的方法也有所不同。在 Windows 系统中,设置桥接网卡相对简单,需要手动配置 IP 地址、网络掩码、网关及 DNS,并确保与主机所在的网络环境相匹配。在 CentOS Linux 系统中,主要通过修改网络配置文件来实现网络设置,可能需要手动创建新的网络接口文件,并确保接口配置文件与网卡名称一致。

总之,根据不同的需求选择合适的 VirtualBox 网络设置方式,可以实现虚拟机与主机及外网的良好连接,满足各种应用场景的需求。无论是进行软件开发、测试,还是进行网络实验等,正确的网络设置都是确保虚拟机正常运行和高效工作的关键。

六、遇到的问题

配置完 NAT 模式和 HostOnly 后,重启网络服务不生效的问题

在配置 VirtualBox 的网络设置时,有时会遇到配置完 NAT 模式和 HostOnly 后,重启网络服务却不生效的情况。这可能是由多种原因引起的。

首先,可能是配置过程中出现了错误。例如,在配置 NAT 模式时,没有正确设置端口映射规则。根据搜索到的资料,在 NAT 设备上不正确地设置端口映射可能导致端口冲突和安全威胁的发生。如果两个或多个应用试图同时映射相同的端口或者映射了受到限制的端口,则可能导致网络拥塞和数据篡改等问题。此外,一些 NAT 设备可能具有内置的安全功能来阻止某些特定端口的通信以防止恶意活动入侵系统。因此,在配置 NAT 模式时,需要精确设置端口映射规则与应用,为需要映射的所有服务和应用程序分配唯一的端口范围。可以使用端口扫描工具检测当前网络环境中开放的端口是否存在冲突隐患,进而优化端口映射规则。

其次,可能是 ACL(访问控制列表)配置不合适或不准确。ACL 是 NAT 设备的一种机制,可用来管理网络流量和提高安全性。如果 ACL 配置不合适或不准确,可能导致拒绝服务攻击、SQL 注入等安全问题以及内部用户在访问受保护资源时的权限不足。因此,在配置网络时,需要遵循正确的 ACL 配置,使用自动化管理工具,确保所有设备按同一标准配置,提升安全性。

另外,还可能是虚拟网络编辑器中的设置出现了问题。例如,在 “虚拟网络编辑器”—》“Vmnet8” 中,可能没有正确设置子网 IP、网关等参数。根据搜索到的资料,虚拟机的 ip、虚拟网络编辑器的 ip、还有真机编辑的 ip 地址,前三段网段必须一样,最后一段不能冲突!默认网关则是三者都要一样!因此,在配置网络时,需要仔细检查虚拟网络编辑器中的设置,确保参数设置正确。

如果以上方法都无法解决问题,可以尝试重新安装 VirtualBox 或者检查操作系统的网络设置是否正确。同时,也可以参考搜索到的资料中的自动安装方法和离线安装方法,确保安装过程正确无误。

我是通过dhclient -v enp0s3 手动触发解决的问题:

总之,在遇到配置完 NAT 模式和 HostOnly 后,重启网络服务不生效的问题时,需要仔细检查配置过程中的各个环节,找出问题所在,并采取相应的解决措施。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2147714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android15之源码分支qpr、dp、beta、r1含义(二百三十二)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

【算法题】64. 最小路径和-力扣(LeetCode)

【算法题】64. 最小路径和-力扣(LeetCode) 1.题目 下方是力扣官方题目的地址 64. 最小路径和 给定一个包含非负整数的 *m* x *n* 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 **说明:**每次只能向下或者…

提升Windows 7中谷歌浏览器隐私设置的方法

在数字化时代,保护个人隐私变得尤为重要。本文将详细介绍如何通过调整谷歌浏览器的隐私设置来提高您的隐私保护水平。(本文由https://www.liulanqibuluo.com/站点的作者进行编写,转载时请进行标注。)以下是具体的操作步骤&#xf…

有源滤波器UAF42

有源滤波器模块,在电路板上同时实现了低通,高通,带通 滤波器,可选其一进行输出,并可通过改变滑变阻值,轻松调节其滤波器中心频率,Q值,通带增益等, 也可方便实现Butterwo…

GUI编程16:图片按钮、单选框、多选框

视频链接:18、图片按钮、单选框、多选框_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411B75F?p18&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.图片按钮代码示例 package com.yundait.lesson05;import javax.swing.*; import java.awt.*; impo…

硬件检测工具 | CPU-Z v2.11.0 官方中文绿色版

CPU-Z是一款广受欢迎的硬件检测工具,主要用于收集电脑处理器的详细信息。这款软件能够提供关于CPU的详细数据,包括处理器名称、编号、代号、进程和缓存等信息。 此外,CPU-Z还能实时监测每个内核的内部频率和内存频率,以及收集主板…

行人动作行为识别系统源码分享

行人动作行为识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

pytorch入门(2)——TensorBoard的使用

TensorBoard 是Google开发的一个机器学习可视化工具。其主要用于记录机器学习过程,例如: 记录损失变化、准确率变化等记录图片变化、语音变化、文本变化等,例如在做GAN时,可以过一段时间记录一张生成的图片绘制模型 TensorBoard…

【JAVA】数据脱敏技术(对称加密算法、非对称加密算法、哈希算法、消息认证码(MAC)算法、密钥交换算法)使用方法

文章目录 数据脱敏的定义和目的数据脱敏的技术分类对称加密算法非对称加密算法哈希算法消息认证码(MAC)算法密钥交换算法 数据脱敏的技术方案实现字符替换哈希算法(例如:SHA-3 算法)消息认证码(MAC)算法(CM…

【Vmware16安装教程】

📖Vmware16安装教程 ✅1.下载✅2.安装 ✅1.下载 官网地址:https://www.vmware.com/ 百度云盘:Vmware16下载 123云盘:Vmware16下载 ✅2.安装 1.双击安装包VMware-workstation-full-16.1.0-LinuxProbe.Com.exe,点击…

对 JavaScript 原型的理解

笔者看了一些有关 JavaScript 原型的文章有感而发,就将所感所悟画了下来如果有理解错误和不足的地方,欢迎各位大佬指出,笔者感激不尽

Activiti7《第二式:破剑式》——工作流中的以柔克刚

冲冲冲!开干 这篇文章将分为九个篇章,带你逐步掌握工作流的核心知识。这篇文章将带你深入探讨工作流中的 “破剑式”,揭示如何通过 柔与刚 的结合来破解工作流的复杂性。本篇包含了 Activiti7 环境的进一步优化和表结构的深入分析&#xff0…

【ARM】中断的处理

ARM的异常向量表 如果发生异常后并没有exception level切换,并且发生异常之 前使用的栈指针是SP_EL0,那么使用第一组异常向量表。如果发生异常后并没有exception level切换,并且发生异常之 前使用的栈指针是SP_EL1/2/3,那么使用第…

字节推音乐生成神器 Seed-Music 支持多样化输入和精确控制

Seed-Music,字节跳动的最新音乐创作神器,能通过文字、音频等多种方式轻松生成音乐,仿佛拥有魔法般的魔力。它巧妙地融合了自回归语言模型与扩散模型,不仅确保了音乐作品的高品质,还赋予了用户对音乐细节的精准掌控能力…

基于Python flask的淘宝商品数据分析可视化系统,包括大屏和主题分析,还有回归预测

背景介绍 随着电子商务的迅猛发展,平台上积累了大量的用户行为和商品交易数据。这些数据蕴含着极大的商业价值,可以为市场趋势预测、商品优化以及用户行为分析提供重要的参考。淘宝作为全球最大的在线购物平台之一,拥有海量的商品和用户数据…

OJ在线评测系统 思考主流OJ的实现方案 常用概念 自己的思考

OJ判题系统常用概念 OJ系统 在线判题系统 AC all accpeted 测试样例全部通过 题目介绍 题目输入 题目输出 题目输出用例 题目输入用例 不能让用户随便引入包 随便遍历 暴力破解 需要使用正确的算法 提交后不会立刻出结果 而是异步处理 提交后会生成一个提交记录 有运…

好用的ai写作有哪些?5个软件帮助你快速进行ai写作

好用的ai写作有哪些?5个软件帮助你快速进行ai写作 AI写作工具正变得越来越流行,能够帮助用户更快速、高效地完成各种写作任务,包括生成文章、写小说、改进语法等。以下是5个非常好用的AI写作软件,它们可以帮助你快速进行AI写作&a…

秋招八股总结

transformer 损失函数 交叉熵的原理 公式 xi是true_label,yi是神经网络预测为正确的概率 对比学习loss 对比学习损失函数 InfoNEC Loss(bge中也用的这个) SimCSE的主要思想:同一句话通过不同的drop out作为正例&#xff0…

腾讯百度阿里华为常见算法面试题TOP100(6):回溯、二分查找、二叉树

之前总结过字节跳动TOP50算法面试题&#xff1a; 字节跳动常见算法面试题top50整理_沉迷单车的追风少年-CSDN博客_字节算法面试题 回溯 46.全排列 class Solution { private:vector<vector<int> > ans;void dfs(vector<int>& nums, vector<int>&a…

西南民族大学若尔盖国家野外台站王志强研究员团队在树皮生态化学计量学研究中取得新进展!

本文首发于“生态学者”微信公众号&#xff01; 近日&#xff0c;西南民族大学四川若尔盖高寒湿地生态系统国家野外科学观测研究站王志强研究员团队在植物科学顶级期刊New Phytologist和环境科学与生态学TOP期刊Science of the Total Environment分别以“Global patterns and …