vmware之NAT模式配置
题外话之前的题外话,本文迁移自别的社区,三年前大学实习时写下本文,过了几年再回过头来看,虽然讲得浅显,作为入门笔记也勉强合格。
———————————————————————————————————————
先说点题外话
在做一个web项目迁移到linux,需要配置apache和Oracle,但是没网络会相当麻烦,所以我就凭借在学校学的基础上路弄虚拟机。
首先来看一幅鬼斧神工的图吧:
这是我理解的本地上网,大致示意图,我们可以把"上网"参照电流的形式,(实际上网线里传输的也是类似的玩意儿吧,光纤就另说了,好吧扯远了) ,本机通过连接路由器获得访问网络的权力(具体有线或无线方式没有影响),而虚拟机软件系统vmware可以看成是一个需要联网的软件(类比qq等)。
进入文章之前首先你要大致认识几个我配置的ip,(暂时可以不用理解,你可以中途回来查它是谁的ip就够了)
-
192.168.81.1 虚拟机子网网关,(不需要配置成独立的一台虚拟机,只需要在vmware软件的设置里填上就好了)
-
192.168.81.130 windows主机在vmware虚拟网段下的ip,vmnet8网卡配置的ip
-
192.168.81.132 这是我设置的虚拟机IP地址(如果不设置为静态的话估计每次重新开机都会被分发一个不一样的ip,重要)
- DHCP:vmware给虚拟机自动分发IP,每次登陆ip可能都不同
- Manual:虚拟机手动设置ip,这样每次重新登陆ip都是一样的了。
-
192.168.1.100 我的windows主机通过路由器自动获取的ip,实际上我电脑上所有软件和外网交流就是通过这个ip和路由器连接的,然后我的路由器是由我在联通那边注册的宽带ip和外面连接的了。。。。。
-
8.8.8.8 我为整个虚拟机子网下所有的虚拟机配置的DNS服务器(PS*来自百度:8.8.8.8是一个IP地址,是Google提供的免费DNS服务器的IP地址,Google提供的另外一个免费DNS服务器的IP地址是:8.8.4.4 。用户可以使用Google提供的DNS服务器上网。)
一、配置vmware的网络服务
由于我们在vmware下面安装了一系列的虚拟机,所以就需要管理它们,下面是虚拟机软件配置的一个子网(NAT方式):
- 子网网段:192.168.81.* (由于我的路由器是192.168.1.**,所以虚拟机子网网段不能设置为192.168.1.*)
- 网关:192.168.81.1
- 子网IP范围:192.168.81.100----192.168.81.254(范围只是我自己的习惯,但是绝对不能从0开始,1也不建议,因为1一般设置为网关,避免不必要的冲突)
二、配置CentOS虚拟机的IP:
下图表示配置为静态IP(不是通过DHCP自动获取);
-
IP:192.168.81.132
-
网关:192.168.81.1(第一步配置的)
-
DNS: 8.8.8.8
到这里我们还没配置vmnet8,但是重启vmware网络相关服务后,已经可以访问互联网了:
三、配置windows用于连接虚拟机的网卡:vmnet8
-
Ip:192.168.81.130
-
网关:192.168.81.1
-
DNS: 8.8.8.8,我估计dns可以忽略掉,反正是同一子网,不过填上也没啥坏处
前面提过这个网卡用于windows主机在VMware虚拟子网网段下和虚拟机沟通,事实也是这样,我在windows下使用secureCRT连接虚拟机,登陆时的提示可以证明
下图中的192.168.81.130就是我在windows本机连接,vmware虚拟子网下的,ip为192.168.81.132的虚拟机spark07,
下图中显示的IP是192.168.81.130(windows主机从vmware虚拟子网获取),而不是windows主机从路由器子网获取的IP:192.168.1.100这足以说明网卡vmnet8的作用
下图提示可以理解成:从windows(192.168.81.130)通过SecureCRT连接名为spark07的虚拟机成功
PS * 来自百度:SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是远程登录服务器主机的软件。
实际上,当我把VMnet8这块网卡禁用了之后,在虚拟机里面直接ping我windows通过路由器获取的ip:192.168.1.100同样是成功的,而且虚拟机还是能访问外网的
下图中的192.168.1.100是我从路由器分配到的ip地址,从linux里面直接ping它显示成功了,192.168.81.130是被禁用的vmnet8网卡,ping失败,而且vmnet8禁用之后SecureCRT也提示连接断开,综上所述,虚拟机通过vmware软件的配置(设置的网关,DHCP设置等等)实现上网,而vmnet8则是实现虚拟机与windows的同一子网交互,其实不同子网也可以交互的,比如下图中我使用ip为192.168.81.132的虚拟机ping通了我的路由器子网下ip为192.168.1.100的windows主机
当禁用vmnet8之后,filezila显示如下:
此时使用SecureCRT连接虚拟机spark07(IP:192.168.81.132)显示如下:
综上为vmware配置虚拟机网络介绍
四、问题检查
如果还存在问题,你可以检查以下几个方面:
- 任务管理器(或者右键-->我的电脑-->管理--->服务),查看vmware相关的服务是不是都开起来了:
- 还有一个地方可以注意一下: 如果同时开虚拟机和apache可能会造成443端口冲突,图中的443是我的apache占用的,453是我修改后的vmware-hostd.exe占用端口
- cmd-->回车进入命令行 -->输入: netstat -ano [过滤:netstat -ano | findstr "443"] 展示所有相关进程
通过末尾的PID:4208(端口443)和14244(端口453)在任务管理器可以查到:
默认是443,修改成了453,并不了解vmware-hostd.exe有什么作用,但也不能随便就把它停了,所以就改端口喽
修改vmware-hostd.exe 端口:编辑-->首选项
- 到虚拟机下确认ip是否修改好了:
我就出现过一次明明编辑好虚拟机ip了但就是ping不通,然后用ifconfig看了一下就明了了,ip还没修改成功呢,让后把第一步中的那三个服务都重启了一下,就好了(你也可以试试重启虚拟机)
- 如果你在公司内部,通过代理上网,那么一定记得给你的linux配置代理,yum、wget、浏览器等等东西都要配置代理,否则你按照我的做了也是不能上网的。