1.桥接

桥接方便做实验,配置ip方便。可以和局域网中的其他机器进行通信,也可以和公网进行通信。缺点是会占用主机所在局域网的一个ip。

2. NAT

NAT模式下虚拟机可以和主机进行通信,可以上网,而且不占用局域网的IP,但是不能和其他机器进行通信。(使用虚拟网卡8)

配置虚拟机NAT模式上网

2.1 虚拟机NAT模式上网的原理

当我们安装了VMware Workstation软件后就会为主机提供一块虚拟网卡VMware Network Adapter VMnet8,这块虚拟网卡是为了在NAT模式下主机连通虚拟机使用的。同时Vmware为主机提供DHCP服务和NAT服务,即虚拟的DHCP服务器和NAT服务器各一台,DHCP服务器为各虚拟机分配ip地址,NAT服务器将虚拟机对外网的访问转换成主机对外网的访问。

【注意】

⑴宿主主机的虚拟网卡VMnet8与其物理网卡是相互独立的,通过IP可以看出二者并不在同一网段, VMnet8仅用作主机连通虚拟机,虚拟机连接主机依然是通过虚拟NAT服务器完成的,而非Vmnet8。将虚拟网卡VMnet8禁用后不影响虚拟机访问外网和宿主主机,但是主机却不能连通虚拟机。

⑵虚拟NAT服务器相当于一个路由器的作用,将各虚拟机对外网的请求转换为主机对外网的请求,NAT服务器的ip地址就是各虚拟机的网关。一般来讲网关就是一台机器所连路由器的ip地址。

2.2 虚拟机配置NAT模式上网的步骤

step1  打开vmware,点击“编辑”下的“虚拟网络编辑器”,进行NAT和DHCP设置。由于主机和虚拟机是靠VMnet8通信的,因此虚拟机和VMnet8应该属于同一个子网,即子网ip相同。由主机下的ipconfig命令可得知VMnet8的子网ip

以上图为例,可得知VMnet8的子网ip为192.168.128.0。据此进行NAT设置

最后点击确定即完成了NAT设置。

step2  在虚拟机的设置里面为虚拟机添加“网络适配器”,并选择NAT模式上网

step3  修改网卡配置文件,命令为:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

以下是虚拟网卡VMnet8的子网IP为192.168.128.0时的一个配置示例:

DEVICE=eth0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.128.10
NETMASK=255.255.255.0
GATEWAY=192.168.128.2
DNS1=114.114.114.114

【注意】

⑴BOOTPROTO可设置为static或dhcp,当为static时表明该虚拟机采用IPADDR所指定的静态IP,永远不会改变(推荐)。若BOOTPROTO设置为dhcp即动态获取IP, 此时IPADDR也是可以设置的,只不过仅能设置为DHCP所规定的的地址段。

⑵设置IP地址时需注意,IP地址都是有网络地址(网段)和主机号两部分共同组成的,任意一网段下的主机号不能全为0或全为1,主机号全0表示网络地址,全1是广播地址。由NETMASK可知该网络为C类IP段,即IP最后一段表示主机号,所以最后一段不能为0或255。

编辑完成后:wq命令保存退出,如下命令重启网络服务:service network restart

用ping命令检查主机是否可以连通虚拟机,以及虚拟机是否可以ping通外网。

3.Host-only

当设置为Host-only上网时,虚拟机只能和主机进行通信,不可以上网。也不可以和其他机器进行通信。(即主机使用VMnet1与虚拟机通信)

【OS_Linux】Linux中虚拟机的三种上网方式——桥接、NAT、Host-only的更多相关文章

  1. Linux 双线策略路由的三种实现方式总结+端口映射

    Linux 双线策略路由的三种实现方式总结+端口映射 Linux 双线策略路由的三种实现方式总结+端口映射 网络环境 服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.168. ...

  2. linux中vim编辑器三种模式及常用命令的使用

    Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...

  3. Linux下SVN的三种备份方式

    原文链接:http://blog.csdn.net/windone0109/article/details/4040772 (本文例子基于FreeBSD/Linux实现,windows环境请自己做出相 ...

  4. iOS中正则表达式的三种使用方式

    1.利用NSPredicate(谓词)匹配 例如匹配有效邮箱: NSString *email = @“nijino_saki@163.com”: NSString *regex = @"[ ...

  5. java中线程的三种实现方式

    一下记录下线程的3中实现方式:Thread,Runnable,Callable 不需要返回值时,建议使用Runnable:有返回值时建议使用Callable 代码如下所示: package com.f ...

  6. Golang中map的三种声明方式和简单实现增删改查

    package main import ( "fmt" ) func main() { test3 := map[string]string{ "one": & ...

  7. VMware三种连接方式bridge, nat, host-only

    大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和 VMnet8,其他的未安装(当然也可以手动安装其他的).其中VMnet1是host网卡,用于host方式连接网络的.VMnet8是NAT网 ...

  8. linux中文件的三种time(atime,mtime,ctime)

    linux下文件有3个时间的,分别是atime,mtime,ctime.有些博友对这3个时间还是比较迷茫和困惑的,我整理了下,写下来希望对博友们有所帮助. 1 这三个time的含义 简名 全名 中文名 ...

  9. SpringMVC中HandlerMapping的三种配置方式

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-/ ...

随机推荐

  1. pycharm 中切换虚拟环境

    在pycharm上创建虚拟环境,网上的资料非常多. 如果pycharm上有多个项目,如何切换每个项目的虚拟环境? cmd 命令进入虚拟环境所在的文件夹(Pycharm在每创建一个新项目时就会创建一个虚 ...

  2. 管理现有数据库-web系统

    1 需求 现有的业务数据需要经常被展示,所以选择django作为展示工具.只需要使用django自带的admin app,然后对现有数据库进行建模就可以搞定. 2 代码 settings: DATAB ...

  3. 自己写的Grid组件,第二版

    大体没什么变化,主要是添加了一个方法,getSelectedItems(),返回当前选中的数据项. (function ($) { $.fn.GridView = function (setting) ...

  4. oracle GROUP BY rollup

    1.ROW_NUMBER() OVER函数的基本用法用法 http://www.cnblogs.com/fxgachiever/archive/2010/09/15/1826792.html 2.De ...

  5. JavaScript 获取浏览器版本

    //获取IE版本function GetIEVersions(){ var iejson={ isIE:false,safariVersion:0 }; var ua = navigator.user ...

  6. 前端页面,使用 dom 鼠标拖拽画一个矩形和监听键盘

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. localStorage 和 sessionStorage的区别

    存储对象: 在主流浏览器中,添加了html5  Web Storage API 的接口,storage是一个存储对象,它包括会话存储(session storage)或本地存储(local stora ...

  8. Log4j日志框架小记

    人啊,总是在学习中发现不足,不足中学习,学习中成长. 今天来系统记录一下对于常用日志组件的理解.配置.使用. 仅供参考, 错误之处请各路好汉不吝笔墨批评指正. 转载请注明出处 Log4j日志框架是Ap ...

  9. Java编程基础-反射

    一.java反射 1.反射:动态获取类的信息,以及动态调用对象的方法的功能.可以理解为动态看透类的能力. 2.主要功能:在运行时判断任意一个对象所属的类:在运行时构造任意一个类的对象:在运行时判断任意 ...

  10. vue-cli脚手架(框架)

    一.创建vue项目 npm install vue-cli -g #-g全局 (sudo)npm install vue-cli -g #mac笔记本 vue-init webpack myvue # ...