这里写目录标题
3.5 虚拟机通过NAT访问物理网络3.5.1 公网地址3.5.2 私网地址3.5.3 网络地址转换(NAT)技术3.5.4 配置虚拟机使用NAT访问物理网络3.5.5 通过NAT让VMnet8 访问物理网络3.5.6 将其他 VMnet设置为NAT类型3.5.7 端口映射3.5.8 配置VMware NAT Service 端口映射参考目录3.5 虚拟机通过NAT访问物理网络
如果你是学校的老师,使用自己的计算机为学生在虚拟机中搭建了一个学习环境,要求该虚拟机能够访问物理网络,然后把这个虚拟机拷贝到机房的所有计算机,让学生上课使用虚拟机做练习,拷贝的虚拟机计算机名称和IP地址和原来的一样,虚拟机的网卡连接到哪个VMnet中呢?你可能会想到将虚拟机网卡连接到VMnet0桥接到物理网络,如图3-71所示,但这样做会带来什么问题呢?物理机1中的VM1虚拟机和物理机2中的VM2虚拟机开机后会报地址冲突,更改计算机IP地址后还会报计算机名重名。
有没有办法让物理机1和物理机2中的虚拟机既能访问物理网络,又不地址冲突呢?有,这就需要将VMnet网络模式设置成NAT。
什么是NAT呢?NAT即Network Address Translation
(网络地址转换),是实现虚拟机上网的第二种方法。在讲NAT之前,我们先来了解一下什么是公网地址和私网地址。
3.5.1 公网地址
整个Internet 中,计算机和服务器的IP地址要同一规划,全球唯一,这些地址就是公网地址。所有的IP地址都由国际组织 NIC(Network Information Center
)负责同一分配,目前全世界共有3个这样的网络信息中心:InterNIC,负责美国及其他地区;ENIC,负责欧洲地区;APNIC,负责亚太地区。我国申请IP地址要通过APNIC,APNIC 的总部设在日本东京大学。申请时要考虑申请哪一类的IP地址,然后向国内的代理机构提出。
网通、电信、移动等ISP(Internet 服务提供商)给用户提供Internet 接入服务,由于全球公网IP地址是统一规划的,因此知道了对方的IP地址也就能够知道对方大概在什么位置。在百度上输入一个IP地址就能告诉你这个地址是网通还是电信或者别的信息。如图3-72和图3-73所示。
若想知道某个网站的位置,可以先Ping 该网站域名,解析到IP地址。比如想要查询我的视频教学网站在什么位置,则可以在命令提示符下Ping我的网站域名 ,如图3-74所示,即可查看到网站的IP地址。再在百度中查询地址,可以看到是辽宁省沈阳市电信,如图3-75所示。
3.5.2 私网地址
除了公网IP地址,还保留了一些私网地址,这些私网地址在Internet中没有被使用,企业、学校或政府的内网可以使用,不需要向国际组织注册。如图3-76所示,Internet 上没有私网地址,因此Internet 上的路由器也没有必要知道这些网段如何转发数据包。大家可以看到任何单位或企业的网络都使用这些私网地址,因为他们不需要相互访问网络,所以IP地址网段重合也没有关系。
注释:对于IP地址的分类,可以学习计算机网络原理的课程,在这里不详细介绍。
3.5.3 网络地址转换(NAT)技术
前面介绍了公网地址和私网地址,那么企业使用私网地址的计算机如何访问Internet呢?如图3-77所示,学校1中的计算机A1访问Internet的网站WebA,数据包目标地址78.5.6.4,源地址10.0.0.2。这个数据包能够发送到WebA,WebA给A1发送返回的数据包目标地址就成了10.0.0.2,源地址78.5.6.4。Internet 上的路由器R2、R3和R4没有到私网的路由表,也就是不知道这些网段如何转发,因此返回去的数据包由R4丢弃。
可是我们现在都在使用私网地址访问Internet,说明数据包有去有回,怎么实现的呢?这就要用到网络地址转换技术,如图3-78所示,在路由器R1上配置NAT,R1是公司路由器,外网卡连接Internet,有公网IP地址,内网卡连接企业内网,内网是私有地址。
图3-78所示是使用了NAT技术后数据包的转发情况,A1计算机访问WebA资源,发送的数据包的目标地址是WebA,源地址即A1的地址,经由路由器R1,数据包的源地址被R1的公网地址替换,这样数据包的目标地址和源地址就是公网地址了,WebA发送返回的数据包的目标地址是R1的地址,能够发送到R1路由器,R1路由器收到数据包,再把数据包的目标地址替换成A1计算机的发送到内网,这就是网络地址转换。
NAT技术的优点:
节省公网IP地址:NAT技术让使用私网地址的内网计算机能够访问Internet,这样能够大大节省公网IP地址,比如我们软件学院,师生共有1800台计算机,但只申请了4个公网IP地址。
内网安全:使用私网地址的内网可以访问Internet,但是Internet中的计算机不能主动访问内网计算机。
缺点:由于R1路由器在内网和公网之间转发数据包时修改数据包的源地址或目标地址,因此会稍微影响速度。
3.5.4 配置虚拟机使用NAT访问物理网络
知道了NAT技术是怎么回事,下面就可以把某个VMnet所处的网络当做内网,把物理机所处的网络当做公网,并把物理机当做NAT路由器,让内网的虚拟机使用物理机的IP地址访问物理网络,这些虚拟机都使用私网地址,这样一来即使和其他物理机中虚拟机的IP地址相同也没有关系。
如图3-79所示,企业物理网络使用的是私有网段 10.7.10.0,255,255,255,0,在企业路由器上配置NAT,使企业内网的计算机访问Internet时数据包源地址使用公网地址23.2.3.89替换。现在要把VMnet8所处的网络当做内网,物理机所处的网络当做公网,VMnet8网络中的计算机访问物理网络,源地址使用物理机的IP替换。如何实现这个地址转换功能呢?
在物理机上安装 VMware Workstation 时会安装VMware NAT Service
服务,这个服务相当于在你的计算机上虚拟出一个路由器,虚拟接口 E0 连接VMnet8作为该网络计算机的网关,计算机的物理网卡作为该路由器的外网接口,如图3-79所示。该服务实现VMnet8到物理网络的地址转换。
在你的计算机上运行 services.msc 打开服务管理器。如图3-80所示,单击“开始” -->“运行”命令,输入 services.msc,单击“确定”按钮。
在其中可以看到VMware NAT Service
,确保该服务启动类型为“自动”,状态为“已启动”,如图3-81所示。
配置好VMnet8到物理网络的地址转换后,物理机1中的VM1访问Internet中的网站WebA,A处的数据包地址、B处的数据包地址、C处的数据包地址如图3-82所示,经过两次地址转换数据包发送给Internet中的WebA。
3.5.5 通过NAT让VMnet8 访问物理网络
默认情况下安装了VMware Workstation,虚拟交换机VMnet8的网络类型就是NAT,也就是说默认情况下VMware NAT Service
服务为VMnet8实现网络地址转换。
下面就来演示将虚拟机 Windows 7 连接到 VMnet8网络,使用VMware NAT Service
访问 Internet。
注释:为了保证虚拟机在NAT模式下能上网,首先查看NAT模式是否已启用,这个在网络编辑器处可以设置;其次查看虚拟机的网关与NAT设置的网关是否相同、DNS的设置是否正确,大家有必要记住几个Internet上的DNS服务器,如8.8.8.8和 222.222.222.222,都很好记;最后查看虚拟机的网络设置是不是指定到VMnet8,以及物理机中的VMware NAT
Service 这个服务是否已开启。
3.5.6 将其他 VMnet设置为NAT类型
默认VMware NAT Service 服务为VMnet8 提供地址转换,也可以让VMware NAT Service
服务为其他的VMnet 实现网络地址转换。VMware NAT Service
服务只能为一个VMware 提供网络地址转换服务。
下面就来演示将VMnet4的网络类型设置为NAT,然后将虚拟机 Windows 7 连接到 VMnet4通过NAT 访问 Internet。
注释:由于VMware NAT Service 服务同时只能为一个VMnet提供网络地址转换服务,因此必须先将VMnet8的网络类型更改为“仅主机”,才允许你把VMnet4的网络类型设置为NAT。
注意:NAT设置指定的网关不要和物理机的VMware Network Adapter VMnet4 地址一样,一定要检查。
至此,在正常情况下虚拟机能通过NAT上网了。
3.5.7 端口映射
Internet 中的计算机使用公网地址不能直接访问企业内部网络中使用私网地址的计算机,但可以访问企业路由器的外网地址(必须有公网地址)。如何让Internet 上的计算机能够访问企业内网中的计算机呢?这就需要用到端口映射技术。
如图3-94所示,如果你下班回家,学校的计算机A1出现问题,你需要远程配置一下,你家的计算机C1拨号上网访问Internet,能够访问学校路由器R1的公网地址:45.3.1.2,想要访问到学校内网的计算机,需要在R1路由器上配置端口映射,比如你想让C1访问A1计算机的远程桌面,就可以将公网地址TCP协议的4000端口映射到A1计算机的3389端口,你想让C1访问内网Web计算机,可以将公网地址TCP协议的80端口映射到内网Web计算机的80端口。大家可以看到映射时公网端口和内网端口可以不一样。
注释:服务器对外提供服务通常使用TCP或UDP协议侦听客户端的请求,客户端使用该端口访问对应的服务。在这计算机网络课程中会详细讲解,在这里大家只需记住即可。
远程桌面协议(RDP)默认使用TCP的3389端口。
Web服务使用的Http协议默认使用TCP的80端口。
3.5.8 配置VMware NAT Service 端口映射
可以在Cisco 路由器、华为路由器上设置端口映射,甚至非常便宜的拨号上网的家庭路由器都支持端口映射。如图3-95所示,将TCP的3389端口映射到内网IP为192.168.0.40的主机的3389端口,将TCP的80端口映射到内网IP为192.168.0.50的主机的80端口。
VMware NAT Service
也支持端口映射,配置了端口映射,物理网络中的计算机通过访问物理机IP地址从而访问VMware 网络中的虚拟机。
下面就来演示配置VMware NAT Service
端口映射,网络环境如图3-96所示,配置物理机的VMware NAT Service
服务端口映射,允许物理网络中的计算机C1能够通过访问物理机1的TCP的4000端口访问到VMnet8网络中的虚拟机WIndows 7的远程桌面(远程桌面使用TCP的3389端口)。
注释:如图3-108所示,如果你的Windows 7 没有远程桌面功能,那么就是你安装的Windows7版本的问题,家庭版通常没有这个功能,企业版和专业版都有远程桌面功能。
参考目录
绝大多数内容来自于:玩转虚拟机基于VMware Windows 主编: 韩立刚( 3.5虚拟机通过NAT访问物理网络)
如果觉得《VMware Workstation 虚拟机中的 虚拟机通过NAT访问物理网络(NAT模式)》对你有帮助,请点赞、收藏,并留下你的观点哦!