很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmware有三种网络模式,对初学者来说也比较眼花聊乱,今天我就来基于虚拟机3种网络模式,帮大家普及下虚拟机上网的背景知识

虚拟机网络模式

无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式:

1.桥接

2.NAT

3.Host-Only

初学者看到虚拟机有三种网络,估计就慌了,笔者也是。哪一种网络是适合自己的虚拟机呢?

桥接

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

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

例如大学宿舍里有一个路由器,宿舍里四个人连接这个路由器,路由器的wanip就不理会了,这个ip是动态获取的,而lanip默认是192.168.1.1,子网掩码是255.255.255.0。而其他四个人是自动获取ip,假设四个人的ip是:

A:192.168.1.100/255.255.255.0,  B:192.168.1.101/255.255.255.0,  C:192.168.1.102/255.255.255.0,  D:192.168.1.103/255.255.255.0

那么虚拟机的ip可以设置的ip地址是192.168.1.2-192.168.1.99,192.168.1.104-192.168.1.254(网络地址全0和全1的除外,再除去ABCD四个人的ip地址)

那么虚拟机的ip地址可以设置为192.168.1.98/255.255.255.0,设置了这个ip地址,ABCD这四个人就可以通过192.168.1.98访问虚拟机了,如果虚拟机需要上外网,那么还需要配置虚拟机的路由地址,就是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的虚拟网络的外网,不懂的人可以查查NAT的相关知识。

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

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

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

但是我们对虚拟机网卡所在的虚拟网络的信息还一无所知,例如虚拟机网络的路由地址,子网掩码,所以我们需要先查下nat虚拟网络的信息。

使用vmware,在Edit->Virtual Network Editor中配置好虚拟网络信息后看到下图所示,注意VMnet8,VMnet8相当于是本机的一个路由,虚拟机设置NAT后就通过这个路由进行上网的,可以查看其网络地址,路由地址,子网掩码。

选择VMnet8->NAT设置,可以看到子网ip显示为192.168.233.0,子网掩码是255.255.255.0,那路由地址呢,其实就是网关IP了,都是同个东西,这里是192.168.233.2。

接下来就好办了,在对应的虚拟机设置好ip,子网掩码,路由地址就可以上外网了,至于dns可以设置为8.8.8.8.

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虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。

综述

  在VMware的3中网络模式中,NAT模式是最简单的,基本不需要手动配置IP地址等相关参数。至于桥接模式则需要额外的IP地址,但是在本项目就采用桥接模式,因为要搭建小型局域网hadoop集群。

Hadoop集群(第2期)虚拟机网卡的介绍和配置的更多相关文章

  1. 虚拟机部署hadoop集群准备工作之多虚拟机设置网络信息

    安装好了centos6.4(最简版)后   1,静态IP设置 查看虚拟机的网络设置信息来配置

  2. Hadoop集群配置过程中需要注意的问题

    环境:VMwareWorkstation8.0 和 Ubuntu14.04 1. 使用三台虚拟机搭建Hadoop集群 2. 一定要在每台机器上配置ssh免密码登录 3. 由于需要给/etc/hosts ...

  3. 实战CentOS系统部署Hadoop集群服务

    导读 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高 ...

  4. Hadoop集群搭建-01前期准备

    Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...

  5. [转载] 把Nutch爬虫部署到Hadoop集群上

    http://f.dataguru.cn/thread-240156-1-1.html 软件版本:Nutch 1.7, Hadoop 1.2.1, CentOS 6.5, JDK 1.7 前面的3篇文 ...

  6. 把Nutch爬虫部署到Hadoop集群上

    原文地址:http://cn.soulmachine.me/blog/20140204/ 把Nutch爬虫部署到Hadoop集群上 Feb 4th, 2014 | Comments 软件版本:Nutc ...

  7. CAS Client集群环境的Session问题及解决方案介绍,下篇介绍作者本人项目中的解决方案代码

    CAS Client集群环境的Session问题及解决方案  程序猿讲故事  2016-05-20  原文 [原创申明:文章为原创,欢迎非盈利性转载,但转载必须注明来源] 之前写过一篇文章,介绍单点登 ...

  8. Hadoop集群(第1期)_CentOS安装配置

    CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会获得七年的支持(通过安全更新方式 ...

  9. Hadoop集群(第1期)CentOS安装配置

    1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会 ...

随机推荐

  1. Parallel.For

    Parallel.For 你可能忽视的一个非常实用的重载方法    说起Parallel.For大家都不会陌生,很简单,不就是一个提供并行功能的for循环吗? 或许大家平时使用到的差不多就是其中最简单 ...

  2. Hibernate——(3)主键生成方式

    一.Hibernate中常用的主键生成方式有如下几种: 1)identity: 用于自动生成主键方式,除了 Oracle 不支持,其他数据库一般都支持(较常用) 2)sequence: Oracle ...

  3. DDD的.NET开发框架

    基于DDD的.NET开发框架ABP实例,多租户 (Sass)应用程序,采用.NET MVC, Angularjs, EntityFramework-介绍 介绍 基于ABPZERO的多租户 (Sass) ...

  4. Codeforces 385 D Bear and Floodlight

    主题链接~~> 做题情绪:时候最后有点蛋疼了,处理点的坐标处理晕了.so~比赛完清醒了一下就AC了. 解题思路: 状态压缩DP ,仅仅有 20 个点.假设安排灯的时候仅仅有顺序不同的问题.全然能 ...

  5. 今天用pro安装nginx+php+mysql出现故障的解决方法

    今天用pro安装nginx+php+mysql出现故障的解决方法 by 伍雪颖 dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.1h ...

  6. 在efcore 中创建类 通过实现IEntityTypeConfiguration<T>接口 实现实体类的伙伴类 实现FluentApi

    1 创建实体类: public partial class NewsCategory : IAggregationRoot { public NewsCategory() { } public Gui ...

  7. 批处理文件的工具(java+shell为了实现)

    批处理文件的工具(java+shell为了实现) 有一堆语料须要处理一下才干使用,本来应该能够直接用shell脚本直接处理的. 可是对shell脚本不熟,仅仅会简单的一些命令. 因此就利用java+s ...

  8. 2 abp 领域层创建实体

    领域层: LearningMpaAbp.Core项目   基础服务层:EntityFramework对应的项目 1 在领域层新建Tasks文件夹 在文件夹下新建Task类 但是注意 Task类必须要继 ...

  9. Xamarin 弹窗

    包括通知类弹窗和选择类弹窗,以下是安卓手机的显示效果 关键代码 DisplayAlert("Alert", "You have been alerted", & ...

  10. inno setup 打包说明

     [Setup] 这个段包含用于安装程序和卸载程序的全局设置 AppId:在注册表中唯一的项名称,安装完64位系统在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\M ...