【整理】Virtualbox中的网络类型(NAT,桥接等),网卡,IP地址等方面的设置
之前是把相关的内容,放到:
【已解决】实现VirtualBox中的(Guest OS)Mac和主机(Host OS)Win7之间的文件和文件夹共享
中的,现在把关于网络配置方面内容,单独提取出来,专门解释一下。
虚拟机,不论是Virtualbox还是VMware等,关于网络设置方面,一般都支持NAT,桥接网卡等配置。
下面就有Virtualbox中的网络连接方式,来解释解释其具体含义。
此处,主要内容,还是来自翻译自VirtualBox官网关于网络的解释:
目的不在于翻译的多么完整,但是要致力于把问题描述清楚,包括含义和如何配置。
VirtualBox中的网络设置
VirtualBox中每个虚拟机,支持多达8个PCI网卡;
对于每个网卡,又可以设置:
- 选择哪个(虚拟化出来的,某个型号的)网卡
- 该网卡的虚拟化模式
配置网卡的两种方式
可以通过图形界面和命令行配置网卡:
图形界面
界面中,选择虚拟机->设置->网卡
图形界面中配置网卡,最多可选的只有6种网卡:
AMD PCNet PCI II (Am79C970A);
AMD PCNet FAST III (Am79C973, the default);
Intel PRO/1000 MT Desktop (82540EM);
Intel PRO/1000 T Server (82543GC);
Intel PRO/1000 MT Server (82545EM);
Paravirtualized network adapter (virtio-net)
对应着“控制芯片”列表中的6项:
命令行
有个命令行工具,叫做VBoxManage modifyvm,可以用来配置网卡。
命令行模式中,可选网卡类型,多达8个;
关于命令行下,如何配置,此处不多解释,需要的自己去看:VBoxManage modifyvm
默认的网卡选择
因为PCNet FAST III兼容性最好,几乎所有的系统都支持,甚至是GNU GRUB boot manager都支持,所以一般默认都选的是PCNet FAST III。
不过如果发现有些系统,比如Windows Vista,中没有PCNet FAST III的驱动,那么取而代之的是Intel PRO/1000系列的网卡。
关于Paravirtualized network adapter (virtio-net)
如果你选择了Paravirtualized network adapter (virtio-net),那么则需要自己保证,有对应的,特殊的软件接口,去实现对应的网络处理的。
目前已有很多系统支持virtio了:
- Linux 2.6.25+:自己启用相关配置即可;
- Windows 2000/XP/Vista:需要自己从WindowsGuestDrivers下载并安装;
Virtualbox中5种网络类型
未指定 – Not attached
含义:
类似于,虚拟机中有网卡,但是没有插网线;
目的:
用于“告诉”虚拟机,网络断开了 -> 导致虚拟机内的网络方面的,重新配置
网络地址转换NAT – Network Address Translation (NAT)
目的:
如果你只是需要用虚拟机去上上网,下载个东西,查看邮件之类的,那么用这个,默认的,配置,就足够了。
缺点:
在文件共享方面会有些限制,详情可参考the section called “NAT limitations”;
效果:
虚拟机中,没有自己独立的IP的。
虚拟机是虚的,不存在与真实的网络中的。
虚拟机可以访问主机而已,但是主机无法访问到虚拟机。
提示:
Virtualbox中,默认使用此NAT配置。
桥接网卡 – Bridged networking
作用和效果:
虚拟机有独立的IP,就像同处一个局域网中的其他的计算机一样。
因此,可以在虚拟机中,找到类似于主机(XP,Win7)中看到的 网上邻居一样的效果,
可以看到其他各个同局域网内的计算机,当然也包括此台Host主机所对应的计算机。
所以,只要本身主机共享出来了文件夹了,那么此时在虚拟机中肯定也是可以访问到该共享文件夹的。
提示:
Virtualbox,会使用主机中单独的一个驱动,来处理网络数据。从网络数据中,过滤出,你的虚拟机的数据。
所以该驱动,也叫做网络过滤器(net filter)。
内部网络 – Internal networking
作用和效果:
和桥接网卡类似;
但是,当前虚拟机,只能被,属于同一主机Host中的,其他虚拟机所访问。
仅主机(Host-Only)适配器 – Host-only networking
目的:
用于在无需主机的物理网卡的情况下,创建一个网络,该网络中,只有本主机Host和其下的一些虚拟机Virtual Machine;
机制:
内部会创建一个,类似于loopback的,虚拟网络接口;
作用和效果:
可以理解为,桥接网卡 和 内部网络 混合的效果。
不同虚拟机之间和主机之间,就像中间连接了一个物理上的网卡交换机Switch一样,是可以互相通讯的。
不过呢,实际上当然是,物理上的网络接口是不存在的,所以,虚拟机和外部网络,又是没法对话和通讯的。
提示:
Virtualbox 2.2版本之后新加的此功能。
通用驱动 – Generic networking
作用和效果:
运行用于选择网卡驱动。
该驱动,是virtualbox内部自带的,或者是通过extension pack添加进来的。
提示:
1. 此模式实际上很少用到。
2.关于extension pack,不了解的可参考:
【整理】VirtualBox中的Guest Additions(客户端增强包)和Extension Pack(扩展增强包)的含义和区别
【整理】Virtualbox中的网络类型(NAT,桥接等),网卡,IP地址等方面的设置的更多相关文章
- vmware中虚拟机与主机ping不通,桥接模式,IP地址在同一网段,无法互ping!
现象描述:网卡选用的桥接模式,IP地址在同一个网段,虚拟机内部可以正常上网,但是Guest OS和Host OS无法互ping! 原因:虚拟机里的防火墙没有关闭,导致禁用ping功能. 解决方法:关闭 ...
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...
- 如果重新设计网络,有没有可能合并IP地址跟MAC地址?
前阵子看网络基础相关的书籍,冒过一个疑问,为什么要有MAC地址跟IP地址?两者可否合二为一? 现在的逻辑是这样子:在数据传输过程中,路由器查看这个数据包的IP地址,跟路由表中记录的“IP集合:下一 ...
- 在shell中如何判断字符串是否为有效的IP地址【转】
转自 在shell中如何判断字符串是否为有效的IP地址_echoisecho_新浪博客http://blog.sina.com.cn/s/blog_53a844e50100xxus.html 近来需要 ...
- 在 VirtualBox 中 CentOS 网络设置
转自:本文发表于水景一页.永久链接:<http://cnzhx.net/blog/minimal-centos-in-virtualbox/>.转载请保留此信息及相应链接. 4. 设置¶ ...
- VirtualBox中centos网络配置
VirtualBox图形界面下有四种网络接入方式,它们分别是: 1.NAT 网络地址转换模式(NAT,Network Address Translation) 2.Bridged Adapter 桥接 ...
- [转]VirtualBox中的网络连接方式详解
如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3.虚拟机可以ping通主机(此时p ...
- 【Linux网络基础】网络子网划分基础知识(IP地址,子网)
一. IP地址分类与子网划分基础 1. 什么是IP地址? 常见的ip地址版本为ipv4, ipv6 32位 4 * 8=32位. 32位二进制数字序列组成的数字序列 点分十进制 采用点将32位数字 ...
- 网络协议学习(2)---IP地址
一.IPv4地址 IPv4地址为32bit地址,分为5类(ABCDE,这里不讨论特殊用途的D和E类). 通常我们八位一看,写成4个部分,例如:00000000 00000000 00000000 00 ...
随机推荐
- System类及其getProterties( )和getProperty( )
System这个类来源: public final class System extends Object System类包含若干个有用的类字段和方法,而且不能被实例化.System类提供的工具包括标 ...
- 关于pthread_cond_wait使用while循环判断的理解
在Stevens的<Unix 环境高级编程>中第11章线程关于pthread_cond_wait的介绍中有一个生产者-消费者的例子P311,在进入pthread_cond_wait前使用w ...
- GridView截取某一列字符串的长度
Gridview中,如果你的某一列字符串的长度过长,不做处理的话.那么将显示的奇丑无比, 可以采取设置样式,将其显示为定长,可以在点击查看的时候,在另一个页面对其进行显示 首先在前台设置样式 < ...
- sparkr基本操作1
由于装的sparkr是1.4版本的,老版本的很多函数已经不再适用了. 在2台服务器的组成的集群中测试了一版数据,熟悉下这个api的基本操作. libpath <- .libPaths() li ...
- C++ STL 教程
C++ STL 教程在前面的章节中,我们已经学习了 C++ 模板的概念.C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的 ...
- C++编程 - tuple、any容器
C++编程 - tuple.any容器 flyfish 2014-10-29 一 tuple tuple是固定大小的容器,每一个元素类型能够不同 作用1 替换struct struct t1 { in ...
- 解决ERROR_INVALID_USER_BUFFER
我用CSocket编写了一个HTTP下载程序,接收数据大概如下: //...... //use CSocket class //send request... //...... ); ) { Zero ...
- 刚刚完成了在vs2013中通过 ef连接mysql数据库的工作。感觉没有想象中的简单。试了n次终于成功。故记录成功的方法,希望可以帮到大家
分两种情况,如果你是用entity framework 5.0的时候 mysql-connector-net的版本不是很重要. MySQL For VisualStudio的版本也不重要 (这个不装就 ...
- Hibernate学习(2):添加demo
- ojdbc14.jar 放在kettle那个目录下面
\libext\edtftpj-1.4.5.jar \libext\firebirdsql-full.jar \libext\firebirdsql.jar \libext\gis-shape.jar ...