一、桥接

桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台实现网络中的交换机,所以两个网卡的IP地址也要设置为同一网段。

所以当我们要在局域网中使用虚拟机,对局域网中其他pc提供服务,例如ftp ssh http等的时候,就选择桥接模式。

如果虚拟机需要上外网,那么嗨需要配置虚拟机的路由地址,就是192.168.1.1,但是上网我们一般是通过域名去访问外网的,所以我们还需要为虚拟机设置一个dns服务器,把dns服务器地址配置为google的dns服务器:8.8.8.8就可以了。

二、NAT

NAT模式中,就是让虚拟机接祖NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。

NAT模式中,虚拟的网卡和物理网卡的网络,不再同一个网络,虚拟机的网卡,是在vmware提供的一个虚拟网络。

NAT与桥接的比较:

1)NAT模式和桥接模式都可以上外网

2)由于NAT的网络在vmware提供的一个虚拟网络里,所以局域网其他主机是无法访问虚拟机的,而宿主机可以访问虚拟机,虚拟机可以访问局域网的所有主机,因为真实的局域网相对于NAT的虚拟网络,就是NAT的虚拟网络的外网。

3)桥接模式下,多个虚拟机可以相互访问,NAT模式下,多个虚拟机之间也可以相互访问。

如果建一个虚拟机是只给自己用,不需要给局域网其他人用,那么可以选择NAT,毕竟NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,只要虚拟机的网络配置是DHCP那么久不要任何其他的配置,只需要宿主机器能访问互联网即可。

例如我们要建多个虚拟机集群,作为测试使用,而宿主机可能是一个笔记本,ip不固定,这种应用场景,我们需要采用nat模式了,但是虚拟机之间是需要相互访问的,默认采用dhcp,虚拟机的ip每次重启,ip都是不固定的,所以我们需要手工设置虚拟机的ip地址。

通过Edit->Virtual Network Editor查看nat的网络信息,注意VMnet8相当于是本机的一个路由,虚拟机设置NAT后就通过这个路由进行上网的,可以查看其网络地址,路由地址、子网掩码。

三、Host-Only

在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟机不能连接到Internet。主机和逊尼基之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

Host-Only的宗旨就是建立一个与外网隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没多大意义,但大型服务商会常常利用这个功能。如果要为VMnet1网段提供路由功能,那么需要使用RRAS,而不能使用XP或2000的ICS。因为ICS会把内网的IP地址改为192.168.0.1单虚拟机不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。

【linux系列】安装虚拟机时候的3中网络模式的更多相关文章

  1. 学习Linux系列--安装Ubuntu

    最近学习Linux,使用虚拟机太不方便,于是购买了阿里云最便宜的云主机作为学习设备. 本系列文章记录了个人学习过程的点点滴滴. 学习Linux系列--安装Ubuntu 学习Linux系列--安装软件环 ...

  2. 学习Linux系列--安装软件环境

    本系列文章记录了个人学习过程的点点滴滴. 回到目录 10.安装Lamp套件. 最简单的方式,如下 sudo tasksel install lamp-server Apache 菜鸟教程 Ubuntu ...

  3. linux下安装虚拟机qemu kqemu

    一,为什么要装虚拟机,为什么选择qemu 我的系统里面有3个linux系统,这些系统都是独立的,有的时候,我想一台电脑,能更真实的模拟二台,这个时候我们就可以装个虚拟机.其实如果真的很有钱的话,可能考 ...

  4. Linux之安装虚拟机/虚拟操作系统[VisualBox]

    使用VisualBox安装虚拟机步骤: BIOS开启 Visual Technology(或者 visualization) 安装Visual Box 打开Visual Box > 新建虚拟电脑 ...

  5. docker-compose 安装redis sentinel,共享主机网络模式

    采坑记录: docker sentinel模式安装完后因为是使用bridge模式,所以只有docker中运行的程序才能访问.刚开始尝试使用端口映射,返现sentinel返回的地址依然是docker的内 ...

  6. Linux系列——安装双系统Ubuntu

    作为一个穷人,电脑破得不行却没钱换,怎么办呢,不如换个Ubuntu吧,没有Windows那么多后台应用,在我这台古董上稍微流畅一点. Linux有很多发行版,比较流行和适合入门的就是Ubuntu和De ...

  7. Linux系列-安装经常使用软件

    安装JDK: 理论篇: 一.下载JDK 二.安装 ①复制到/usr/java/路径下 [plain] view plaincopy #mkdir /usr/java/ #cp jdk-7u25-lin ...

  8. linux下安装rabbitmq以及在spring中进行集成

    ### 一.安装erlang 1. yum install ncurses-devel 2. ./configure --prefix=/usr/local/erlang20 --without-ja ...

  9. Linux VmWare安装虚拟机(centos6.9)

    开启虚拟机 ---------------------------------------------------------------------------------------------- ...

随机推荐

  1. ExtJs TreePanel 全选与反选

    selectAll: function() { this.getRootNode().eachChild(function (child) { child.set('checked', true); ...

  2. Fiddler2 java代码拦截设置

    jre -DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888 Or: jre -DproxySet=true -Dproxy ...

  3. hdu2896 病毒侵袭 AC自动机入门题 N(N <= 500)个长度不大于200的模式串(保证所有的模式串都不相同), M(M <= 1000)个长度不大于10000的待匹配串,问待匹配串中有哪几个模式串,

    /** 题目:hdu2896 病毒侵袭 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896 题意:N(N <= 500)个长度不大于200的模式串 ...

  4. js学习笔记33----DOM操作

    前面有讲过一些DOM的基本概念. 今天来说一下DOM 的一些基本操作,主要有创建节点,追加节点,删除节点. 1.创建DOM元素: createElement(标签名) —— 创建一个节点 append ...

  5. [oracle] 两种权限:系统权限VS对象权限

    系统权限表示对表和表空间等   有无操作权  的权限.一般是SYS用户这种DBA来授权.比如: grant create session to lisi grant create table to l ...

  6. Vector & ArrayList Hashtable & HashMap ArrayList & LinkedList

    1. Vector & ArrayList 1)  Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的 ...

  7. e1086. if/else语句

    The if statement encloses some code which is executed only if a condition is true. The general synta ...

  8. C# winform 获取当前路径

    // 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory// 获取模块的完整路径.System.Diagnostics.Process.Get ...

  9. MySQL无法远程连接解决方案

    1.查看/etc/mysql/my.cnf配置文件是否只允许本地连接 注释配置:#bind-address = 127.0.0.1,重启MySQL Server 2.防火墙(我用的是iptables) ...

  10. hoj Counting the algorithms

    贪心加树状数组 给出的数据可能出现两种情况,包括与不包括,但我们从右向左删就能避免这个问题. #include<stdio.h> #include<string.h> #inc ...