用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法
前言
决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表示十分感谢。虽然到今天中午的时候经过帮助能上外网了,但是自己感觉还是没有彻底弄懂,对三种模式下的网络结构还是一知半解,上网查了很多资料,但是发现网上很多文章有许多误导。于是自己又从VMWare的三种模式出发,查资料,最后终于算是捋顺了。
写下这篇文章,一是让自己的逻辑得到锻炼,二是希望能帮到部分同学。如果是网络结构方面的大神该文可以略过。
主要内容
VMWare搭建虚拟机有三种模式:桥接模式、NAT模式和仅主机模式。在三种模式下,都有对应的上外网的解决办法(并且能够与本地主机通信)。
打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。
同时,在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”,可重新将虚拟网卡还原。
1、NAT模式
刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中,我们可以加以验证。
1)打开VMWare,“编辑”-->“虚拟网络编辑器”,设置NAT参数和DHCP参数。



更改网络连接模式为NAT,这里若虚拟机已经启动,直接更改,不需重启。

进入系统后,设置自己的IP、掩码、网关、DNS。
若系统开启了交互界面:

若系统没有开启交互界面,可以编辑网卡配置文件:


命令行模式下重启网卡:/etc/init.d/network restart
ping外网,可以通信。

为了验证上外网不需要VMnet8这个网卡,在物理主机系统下将该网卡禁用

再次测试,发现依然能上外网。

那VMnet8虚拟网卡是用来干什么用的呢?VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。
在VMnet8网卡禁用状态下,物理主机不能与虚拟机进行通信

当启用后,可以:

注意:在设置NAT的网关IP时,不能与v8的网卡ip相同,否则不能通信。

2、仅主机模式
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:

打开虚拟网络编辑器,设置DHCP


将虚拟机的网络模式设置为仅主机模式,进入linux系统,设置ip、掩码、网关、DNS(若linux没有配置交互模式,可以用命令行,同理NAT)


将物理主机的网卡共享给虚拟网卡V1


测试,虚拟机能与外网通信:

3、桥接模式
桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。
这种模式下,虚拟机的ip必须与物理主机的网卡的ip在一个网段里,且子网掩码、网关、DNS须与主机保持一致。所以该模式下,虚拟机不能自己定义网段。桥接模式下网络结构图如下所示。

下面讲解具体步骤:
查看自己物理主机的IP信息

将虚拟机模式设置为桥接模式。

3)进入虚拟机系统,将ip,子网掩码,默认网关,DNS改成与物理主机一致。


ping外网,发现可以通信。但经测试,发现这种方法可能会影响自己物理主机上网的稳定性(自己的见解)。

说明:文章理论部分摘自https://www.linuxidc.com/Linux/2016-09/135521.htm,特此说明,同时在此表示感谢。
用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法的更多相关文章
- linux中搭建solr集群出现org.apache.catalina.LifecycleException: Failed to initialize component ,解决办法
07-Jan-2018 20:19:21.489 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to i ...
- nginx+tomcat+memcached搭建服务器集群及负载均衡
在实际项目中,由于用户的访问量很大的原因,往往需要同时开启多个服务器才能满足实际需求.但是同时开启多个服务又该怎么管理他们呢?怎样实现session共享呢?下面就来讲一讲如何使用tomcat+ngin ...
- 手把手教你搭建FastDFS集群(上)
手把手教你搭建FastDFS集群(上) 本文链接:https://blog.csdn.net/u012453843/article/details/68957209 FastDFS是一个 ...
- 10分钟学会windows中iis搭建服务器集群实现负载均衡和nginx代理转发
前言 我们之前聊过 10分钟搭建服务器集群--Windows7系统中nginx与IIS服务器搭建集群实现负载均衡:https://www.cnblogs.com/xiongze520/p/103087 ...
- 全网最详细的Hadoop HA集群启动后,两个namenode都是active的解决办法(图文详解)
不多说,直接上干货! 这个问题,跟 全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解) 是大同小异. 欢迎大家,加入我的微信公众号:大数据躺过的坑 ...
- VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
VMware虚拟机上网络连接(network type)的三种模式--bridged.host-only.NAT VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换 ...
- 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑心中会激动一番(或许这是判断是否是一个标准阿猿的标准吧)! 首先自己从宏观把控一下,通过上网科普自 ...
- 搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡
转载:https://www.cnblogs.com/xiongze520/p/10308720.html 分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟 ...
- 简单操作:10分钟实现在kubernetes(k8s)里面部署服务器集群并访问项目(docker三)
前言 经过docker安装.k8s开启并登录,我们终于到 "部署k8s服务器集群并访问项目" 这一步了,实现的过程中有太多坑,好在都填平了,普天同庆. 在进行当前课题之前,我们需要 ...
随机推荐
- [转载]hive中order by,sort by, distribute by, cluster by作用以及用法
1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的 ...
- 01_NIO基本概念
[NIO的几个概念] Buffer(缓冲区) Channel(通道,管道) Selector(选择器,多路复用器) [Buffer] Buffer是一个对象,它包括一些要写入或者要读取的数据.在NIO ...
- VS2015开发环境的搭建
下面我教大家如何搭建VS2015 [环境]我的环境WIN8.1专业版(Ghost) [过程] [1]打开我们的附件vs2015.ent_chs.iso然后我们会进入到这个ISO文件中(windows版 ...
- spfa 的算法实现之一
问题描述:给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从1号点到其他点的最短路(顶点从1到n编号). 输入格式:第一行两个整数n, m.接下来的m行,每行有三个整 ...
- 使用 Azure CLI 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型
以下步骤演示如何使用 Azure 命令行接口 (CLI) 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型. 本文中的操作需要 Az ...
- 在 IDEA 中 配置 Maven
1.从 Maven官网下载 最新版的 Maven 2.设置Java相关环境变量 JAVA_HOME AVA_HOME=C:\jdk1.5.0_06 PATH ...
- js 浅拷贝有大用
如题 像浅拷贝.深拷贝这类的知识点我们应该都明白是怎么回事,大部分都是在面试的时候会被问到.大多让你实现一个深拷贝.现实中我们都用比较暴力直接的手段 JSON stringify. 一句话就搞定,管他 ...
- shell逻辑运算符 1
逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用!侦测『档案』是否存在 eg: if [ -f filename ] -d 常用!侦测『目录』是否存在 -b 侦测是否为一个『 bl ...
- 对std::map进行排序
1.对Key排序. std::map的第三个参数即为对key进行排序的比较函数.默认为less,表示升序.如果要降序,可以改为greater. 2.对Value排序 不支持,因为map不是一个序列的容 ...
- CSV 文件读写
转自:http://www.cnblogs.com/Clin/archive/2013/03/14/2959022.html public class CSVFileHelper { /// < ...