VM三种联网方法和原理

(1)Bridged桥接

使用VMnet0虚拟交换机,此时虚拟机相当与网络上的一台独立计算机与主机一样,拥有一个独立的IP地址,所有机器均可互访,可以联网。使用桥接方式,A,A1,A2,B可互访。

在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中。 桥接网络拓扑示意图,如下:

虚拟主机和真实主机一样访问外网,即通过192.168.2.101访问外网

(2)NAT网络地址转换

使用Vmnet8虚拟交换机,此时虚拟机可以通过主机单向网络上的其他工作站,其他工作站不能访问虚拟机。使用NAT方式,A1,A2可以访问B,但B不可以访问A1,A2。但A,A1,A2可以互访。

NAT的作用是把内网的私有地址,转化为共有地址,使得内部网络可以访问外部网络。NAT网络拓扑示意图,如下:

虚拟主机通过真实主机访问外网,即通过192.168.2.100访问外网

(3)Host-only私有网络共享主机

使用Vmnet1虚拟交换机,此时虚拟机只能与虚拟机、主机互访。不能与其他工作站互访,不能联网。使用Host方式,A,A1,A2可以互访,但A1,A2不能访问B,也不能被B访问。Host-only网络拓扑示意图,如下:

虚拟主机不能与外网通信

VM 不插网线可以主机与虚拟机通信

当主机无网卡或有网卡没联网(没插网线)的情况下,可以这样设置:
(1)将虚拟机的网卡连接方式设置为NAT方式;
(2)查看主机中 VMNET8 (也在网络连接内)的状态,找到它的 IP 地址,比如 192.168.128.1   ;
(3)将虚拟机中的 IP 地址设置为与上面 IP 同一个网段,如 192.168.128.100 ,并且要在网关和 DNS 里面填上刚才找到的那个 IP 地址( VMNET8 的 IP 地址)。

经过上面几步设置,无论主机插不插网线,有没有网卡,都可以与主机 PING 通了。

VM 主机中找不到vmnet1和vmnet8

VM安装vmware tools

(1)将安装文件放到光驱
 选择vmware workstation 菜单中vm--->install vmware tools ……

(2)远程连接到虚拟机并使用root登录,之后将光驱挂载到/mnt/cdrom目录下
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

(3)把安装文件解压到/tmp,并进行安装

cd /mnt/cdrom
tar -xzvf vmwareTools-5.0.-.i386.tar.gz -C /tmp ==>把安装文件解压到/tmp
cd /tmp/vmware-tools-distrib
./vmware-install.pl

在这里,安装程序会询问一系列的设置问题,多数情况下,安装按默认配置就可以正常工作。因此,对每一个问题建议按回车选择默认配置,或者输入默认的提示路径按回车就ok了。

(4)验证安装完成
  运行完后,可以进入 /mnt 目录下,应该可以看到多了个文件夹hgfs了。
 ls /mnt

 VM虚拟机与主机共享文件夹

(1)选择vmware workstation菜单中
     VM--->Settings--->Options--->Shared Folders--->Properties
点击对话框右下的“add”按钮,点击“下一步”,在文本框“name”中输入共享目录的名字(这个盘或文件夹就是winds和linux共享的文件了,在两个系统中将会都可以看)

(2)虚拟机linux系统的/mnt/hgfs即为共享目录

cd /mnt/hgfs
ls

VM支持64位操作系统设置

当在虚拟机中第一次打开一个64位的系统时,出现“虚拟机配置为64位客户操作系统,但是64位操作系统不可用”错误。如下图:

(1)检查CPU是否支持VT

可以用CPU-Z查看,看到VT-X,说明CPU是支持虚拟化的

(2)BIOS开启VT

有很多CPU是默认不开启VT的,需要自己手动在BIOS中修改。以我的Y-460为例:

a. 重启主机,按F1进去BIOS

b. 进入Configure-Intel Virtual Technology ,可以看到该选项是disable状态,改成enable。

c. F10保存退出重启

 参考文档:

VMware虚拟机三种联网方式(图文详细解说)

【Linux基础】VM使用的更多相关文章

  1. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  2. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  3. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  4. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  5. Linux基础命令和NAT技术

    yum    yellowdog updater,modified是一种用python写的基于rpm的管理工具 用于解决rpm包的依赖性 要安装编译工具 yum install gcc 库函数:静态库 ...

  6. Linux基础-兄弟连Linux

    Linux基础增强与辅助知识梳理... ------------ Linux学习基础需要学习那些知识 学习Linux对于程序开发的好处 怎样开始学习Linux Linux的学习方法参考 Linux系统 ...

  7. Linux基础命令-Nginx-正则表达式( grep sed awk )-Shell Script--etc

    Linux基础使用 学习内容博客 内存 查看swap分区信息 > swapon -s 添加swap分区 > mkswap /dev/sdb2 > 激活 swapon -a /dev/ ...

  8. OracleOCP认证 之 Linux基础

    Linux 基础 一.SHELL 1: Shell 简介 shell 是用户和Linux 操作系统之间的接口.Linux 中有多种shell, 其中缺省使用的是bash. Linux 系统的shell ...

  9. linux基础命令:

    linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...

  10. 大数据入门第一天——基础部分之Linux基础(环境准备与先导知识)

    一.Linux环境安装 1.VM的安装 参考Linux环境搭建随笔:http://www.cnblogs.com/jiangbei/p/7248054.html 2.CentOS的安装 同参考上述随笔 ...

随机推荐

  1. Asp.Net MVC中Action跳转(转载)

    首先action的跳转大致归类: 1跳转到与当前同一控制器内的action和不同控制器内的action. 2带有参数的action跳转和不带参数的action跳转. 3跳转到指定视图,不经过Contr ...

  2. java_自定义标签运行原理

    一.自定义标签运行原理: 二.文字说明 1.IE->web服务器 2.Web服务器->jsp 3.遇到自定义标签,首先实例化标签所对应的标签处理器类 4.调用setPageContext方 ...

  3. 【Java每日一题】20170207

    20170206问题解析请点击今日问题下方的“[Java每日一题]20170207”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public cla ...

  4. 02-Java中的对象和类

    面向对象: 程序由对象构成,每个对象包含对用户公开的特定功能部分(public)和隐藏实现部分(private). 类: 构造对象的模板 对象: 对象的行为 --- 可以对对象施加的操作(方法) 对象 ...

  5. 深入源码分析SpringMVC底层原理(二)

    原文链接:深入源码分析SpringMVC底层原理(二) 文章目录 深入分析SpringMVC请求处理过程 1. DispatcherServlet处理请求 1.1 寻找Handler 1.2 没有找到 ...

  6. js对象工厂函数与构造函数

    转自:http://www.cnblogs.com/Jener/p/5920963.html ★概述:         使用对象字面量,或者向空对象中动态地添加新成员,是最简单易用的对象创建方法.然而 ...

  7. 如何在Promise链中共享变量?

    译者按: 使用Promise写过异步代码的话,会发现在Promise链中共享变量是一个非常头疼的问题,这也是Async/Await胜过Promise的一点,我们在Async/Await替代Promis ...

  8. jquery网页日历显示控件calendar3.1使用详解

    关于日历插件,我做了好多次尝试,一直致力于开发一款简单易用的日历控件.我的想法是争取在引用这个控件后,用一行js代码就能做出一个日历,若在加点参数,就能自定义外观和功能丰富多彩的日历.Calendar ...

  9. jquery对象和DOM对象的相互转换详解

    jquery对象和DOM对象的相互转换 在讨论jquery对象和DOM对象的相互转换之前,先约定好定义变量的风格如果获取的是jquery对象,那么在变量前面加上$,例如 var $varible = ...

  10. JS中的反柯里化( uncurrying)

    反柯里化 相反,反柯里化的作用在与扩大函数的适用性,使本来作为特定对象所拥有的功能的函数可以被任意对象所用.即把如下给定的函数签名, obj.func(arg1, arg2) 转化成一个函数形式,签名 ...