VMware NAT模式下设置网络
一、虚拟机NAT模式原理
NAT模式在VMware下又称VMnet8。在这种模式下,宿主机有两块网卡,一块是真实的物理网卡(即NAT device),连接Network;一块是 VMware Network Adapter VMnet8,通过虚拟交换机(VMnet8)与虚拟机网卡进行通信。
由于NAT device有网络地址转换功能,虚拟机网卡的数据通过 VMware Network Adapter VMnet8转发,进行地址转换后,由真实的物理网卡再转发到NetWork。此外,在NAT模式下,宿主计算机相当于一台开启了DHCP功能的路由器,而虚拟机则是内网中的一台真实主机,通过路由器(宿主计算机)DHCP动态获得网络参数。因此在NAT模式下,虚拟机可以访问外部网络,反之则不行[1](注:如果我们在VMware下做了NAT设置,则可以实现从外部网络访问虚拟机,下文将会讲述)。
虚拟机NAT模式原理如下图所示:

【名词解释】
VMnet8:VMware用于虚拟NAT网络下的虚拟交换机;
VMware Network Adapter VMnet8:这是宿主机用于与NAT虚拟网络进行通信的宿主机使用的虚拟网卡;
二、软件版本
虚拟机:VMware® Workstation 12 Pro
Linux:CentOS 6.5
终端模拟软件:Xshell 5
三、NAT模式下实现虚拟机对外部网络访问功能
1、在系统菜单下选择”虚拟机”->”设置”,网络适配器选择”自定义”:VMnet8(NAT模式)。

2、在系统菜单下选择”编辑”->”虚拟网络编辑器”,按下图进行配置。注意:我们这里不启动DHCP服务,因此接下来还要手动对虚拟机进行配静态IP配置。如果勾选了“使用本地DHCP服务将IP地址分配给虚拟机”后,则意味着启动DHCP服务,那么我们则无需对虚拟机进行静态IP配置,只要使其动态获取IP就好了。
这里虚拟机IP所在子网段为:192.168.81.0/24。

同时点击“NAT设置”,查看虚拟机网关地址:

3、找到宿主机的”控制面板”->”网络和 Internet”->”网络连接”,双击”VMware Network Adapter VMnet8”,进行宿主内网IP设置。



这一步的主要作用是将主机与虚拟机置于同一网段内,所以IP地址,设为虚拟机网段内的任意IP,但需要注意的是防止IP地址冲突,同时网关设置为VMWare NAT网络射中提供的IP地址。由于我的电脑中VMWare中是81网段,且192.168.81.2(虚拟机网关IP)192.168.81.0(子网IP)已被占用,所有我将我的主机改成192.168.81.1,也就是说,在192.168.81这个网段内,192.168.81.1就是我的主机(宿主机),那么我在虚拟机内安装操作系统的时候,就可以将他们的IP地址,设为: 192.168.81.3 ....... 192.168.1.255
配置Linux系统网络:
进入虚拟机操作系统:

编辑linux的网络配置文件


将红色方框内的ONBOOT的值由no改为yes 表示启用网络:将BOOTPROTO的值由dhcp改为static 表示使用静态IP
绿色方框内的值为自己添加的:第一个绿色箭头表示,当前操作系统的ip(此ip设置,前面已经由红色文字标记,不要冲突即可),第二个绿色箭头表示,网络网段,使用VMWare提供的NAT网关即可,前面也已经标注.
使用命令重启网络(重启网络不成的话,可能需要重启网卡,根据系统版本内核不同而不同,一般不需要这一步)

这个时候,你的主机和虚拟机就已经在同一网段内(我这里是81网段)了。这个时候可以ping www.baidu.com 可以ping通说明,虚拟机连上网了当然前提是宿主机可以上网,如果宿主机不联网,则可以ping 宿主机的ip(注意是是虚拟机网段的ip,我这里是81网段)
四、NAT模式下实现外部网络对虚拟机(ssh)访问功能
主机与虚拟机置于同一网段内,主机也不能直接ssh连接虚拟机,还需要做一步端口映射
1、在VMware系统菜单下选择“编辑:,进入虚拟网络编辑器,选择“NAT设置”。

进入“NAT设置”后,在“端口转发”下选择“添加”按钮,添加一条NAT映射规则。其中主机端口即宿主物理网卡的端口,可以任意填写端口号,因为我们这里要实现ssh远程登录功能,这里填写“22”。虚拟机IP地址即192.168.81.3(我刚安装的linux,设置的ip是192.168.81.3),虚拟机端口必须是22(因为外部设备最终是要通过22端口来访问虚拟机的ssh服务的)。

添加完成后,端口转发里面就会增加一条记录:

如果,你在vmware中建立了多个虚拟机,有几个需要在主机ssh连接,那么就需要配几条端口转发。
配置号之后就可以使用ssh连接虚拟机了,但有几条需要注意的是,1.虚拟机是否安装了openssh,2。查看虚拟机的防火墙是否开启。
如果没有上述两种情况就可以ssh虚拟机了!

VMware NAT模式下设置网络的更多相关文章
- Linux系统NAT模式下设置网络网关
1.配置Vm网络编辑器 2.配置固定IP地址 命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33 #下面内容直接复制进去,如果有重复的可以去除 TYPE= ...
- VM虚拟机上在NAT模式下设置静态IP的做法
1.问题:由于业务需要,个人笔记本电脑上用Vmware安装了3台Ubuntu虚拟机,现要求pc机连入局域网后,四台机器(3台ubuntu虚拟机+1台宿主机)能上网,并且,虚拟机要使用某一网段的固定IP ...
- NAT模式下设置 虚拟机linux(Centos7) 联网
第一步 设置虚拟机网络为NAT模式 第二步 设置虚拟机网络配置 首先执行 cd /etc/sysconfig/network-scripts 之后VI 编辑 ifcfg-ens33(根据实际情况来 基 ...
- VMware 虚拟机NAT模式如何设置网络连接,从头到尾全过程~!!
一.首先查看自己的虚拟机服务有没有开启,选择电脑里面的服务查看: 1.计算机点击右键选择管理 2.进入管理选择VM开头的服务如果没有开启的话就右键开启 二.虚拟机服务开启后就查看本地网络虚拟机的网 ...
- VMware NAT模式下,公司代理下上网 续
这是在非公司环境下,VMware NAT 静态IP模式下上网 由于公司的限制,可能需要通过proxy上网. 下面是我在公司的配置(参考其他) 1. 修改 /etc/environment http_p ...
- 虚拟机 - NAT模式下设置静态 IP 地址
背景 如果不给虚拟机设置静态 IP 地址的话,每次重启机器都会自动分配一个新的 IP 如果有多台虚拟机的话,也会动态获取 IP 动态IP的话,每次 设置静态 IP 的步骤 查看本机 IP 和网关 cm ...
- centos7下NAT模式下设置静态ip
1.在虚拟网络编辑器下查看子网IP.子网掩码以及网关 2.在Linux系统中进入 /etc/sysconfig/network-scripts目录下,编辑ifcfg-ens33文件,改成下面的内容: ...
- nat模式下更改网络环境, 虚拟机中Linux无法上网的问题
出现的问题: 1.ifconfig -a 命令下会出现eth0信息中无ip地址等等信息: 2.无法ping通baidu,也就是无法上网: 3.ping 8.8.8.8 提示 connect:netwo ...
- Centos7 下vmware NAT模式配置网络连接与DNS
NAT模式配置网络 1.首先查看NAT模式下的网络 从这边可以知道我的vmware下的nat模式的网络是192.168.109.*网段 上图这个网段也可以修改为别的网段 2.NAT模式下的网关 3.配 ...
随机推荐
- Python3.5+SQL+Prometheus+Grafana报表/监控
参考资料: pymysql 单独获取表的栏位名称 pymysql返回数据为字典形式(key:value--列:值) 行列结合,作为prometheus_client的输出. 话不多说,直接上脚本. ...
- 栈(stack),C++模板实现
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- C++ error C2440: “类型转换” : 无法从“std::vector::iterator”转换为“
原文地址:http://blog.csdn.net/onlyou930/article/details/5602654 圆环套圆环之迭代器 话说这一日是风平浪静,万里乌云,俺的心情好的没得说,收到命令 ...
- CentOs下mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz压缩包的安装
之前写过一篇mysql在windows下的安装(猛击这儿),linux下用的比较少,最近切换到linux服务器了,发行mysql安装和windows下有所不同,只记录压缩包方式安装,rpm包类似 1. ...
- 炸掉你的城堡!(pygame獾兔大战)
代码修改bug,添加注释等,獾的速度加快之后很难-- git地址: https://github.com/Jailman/blowupyrcastle.git 游戏资源使用了文章中附带的下载,原版文章 ...
- vue 登录验证引擎
1.router配置: 路由元信息 const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, children: ...
- Spring学习(二)--IOC
一.什么是IOC? 孤傲苍狼总结的理解: https://www.cnblogs.com/xdp-gacl/p/4249939.html 我的理解(不知道对不对哈,不对的话请各位大神指出): IOC往 ...
- 手机连不上eclipse
在进行android开发时,有时候会很奇怪,手机连不上eclipse了,打开eclipse的ddms也没有,重启adb也不行,这时候我们应该怎么办呢. 首先打开资源管理器,找到 adb.exe 结束掉 ...
- shell 脚本实战笔记(8)--ssh免密码输入执行命令
前言: ssh命令, 没有指定密码的参数. 以至于在脚本中使用ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本的自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓 ...
- Navicat Premium连接PostgreSQL
连接PostgreSQL时,报错 大致意思:你当前的IP没有连接权限,在文件pg_hba中缺少当前IP的配置 解决:找你的PostgreSQL安装路径,这是我的:C:\Program Files\Po ...