linux虚拟机网络服务问题

  这里说一下我遇到的一个网络问题,前天修改了虚拟机的主机名,重启虚拟机之后,使用新的主机名和IP都可以访问虚拟机,但昨天开启虚拟机之后,宿主机使用主机名和IP都不能访问虚拟机,于是,我通过ifconfig命令去查看网卡的运行情况,发现eth0没有显示IP地址。然后我修改interfaces文件使用静态IP、网关、将主机名改回原来的名字等等,ip倒是显示出来了,但网络并没有ping通。今天我重新启动虚拟机,竟然网络可以ping了,之后查询了网络连接的三种模式及看到以下文章时,才恍然大悟,应该是以下服务没有正常启动,导致DHCP服务器没有给eth0正常分配动态IP或net服务关闭。解决这个问题,走了很多弯路,同时,我也学到很多东西。也切身明白了一个道理“解决问题的过程才是你学习和成长的过程”,通过这个过程,你会直接的了解和熟悉整个网络的一个架构。

 

 下文转自万能的网友野火:https://www.cnblogs.com/hell8088/p/vmware.html

当我们安装VMware Workstation后,在宿主机(物理电脑)上会多出两个网卡,VMNet1、VMNet8,在虚拟机设置里会多出一个配置 VMNet0。

如下图:

接下来我们分别说明下:

 

  • VMNet1

    使用的是host-only的链接模式,即虚拟机只能与主机构成内部通信,无法对外网进行访问。

 

  • VMNet0

    模式:

      使用桥接模式,安装VM后,在VM里建立虚拟机 默认 就是该模式。

    场景:

      如果你只是需要一台虚拟机可以和宿主互通,并可以访问外网,此模式即可。

    描述:

      安装虚拟机系统后不需要调整网络,物理网络中的 “路由” 所包含的DHCP服务器会自动识别该虚拟机并为其分配IP地址;

      如果没有路由,可以自己手动在系统分配,原则是和宿主机在同一网段并指向相同的网关即可通信。

 

  • VMNet8

    模式:

      NAT网络模式

    场景:

        在宿主机安装多台虚拟机,和宿主组成一个小局域网,宿主机,虚拟机之间都可以互相通信,虚拟机也可访问外网,例如 搭建 hadoop 集群,分布式服务

    设置步骤:

    step1

      查看VMNet 8 的IP 网段,见Step1的第二张图

      网段    192.168.204.0

      子网掩码    255.255.255.0

      网关    192.168.204.2

      第三张图是宿主机上的 VMNet 8 网卡的地址

      IP地址   192.168.204.1

 Step2

      记住上面的网络信息,开始配置虚拟机,首先调整虚拟机的网络模式为NAT模式

 Step3

      配置后启动虚拟机,我使用的是Cent OS 6.4系统(Linux),使用配置文件配置网络,下面两张图是静态IP和网关的配法。(windows请自行配置网络)

      如果不需要锁定静态IP(比如hadoop不锁定IP很麻烦),那跳过Step3。

      因为NAT模式下,VM Net8 虚拟交换机 所带的虚拟DHCP服务器会自动分配网络地址,如果需要查看或设置可在Step1查看网络信息时进行设置。

 

 Step4

      配置网络后,检测下虚拟机的网络状况

 

 到此,我们的虚拟网络环境就配置好了 。

  

  接下来我们简单介绍下VM Net 8原理,VMWare安装后,会给宿主机安装VM Net8网卡,同时虚拟出一套VM Net 8 使用的虚拟路由(包含交换机 和 虚拟DHCP服务器)

  主机和虚拟机实际上都是通过虚拟路由通信,虚拟路由通过宿主使得其他虚拟机也可以访问外网

  如下图:

 注:

    1. 如果是真的使用虚拟机做服务器,用VM Server搭建系统,那就要是用VM Net0,直接连在物理网络,并配置静态IP锁定虚拟机服务器的IP地址

    2. VM Net 8 适合在本机或者服务器上搭建多台虚拟机,组件局域网使用。    

    3. 设置VMNet 8 后,虚拟机和主机、外网以及其他虚拟机可以互相通信了,但主机无法ping通网关,没有在进一步研究 VM 通信原理,到此已经完全可以满足使用。

posted @ 2018-04-17 11:50  轻轻的吻  阅读(241)  评论(0编辑  收藏  举报