VMwareNAT模式下设置⽹络
⼀、虚拟机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 可以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虚拟机了!
需要注意的是,如果在虚拟机开机的时候提⽰
"⽆法将 Ethernet0 连接到虚拟⽹络“VMnet8”。有关更多信息,请参见 vmware.log ⽂件。未能连接虚拟设备 Ethernet0。"
此时虚拟机完成开机时⽆法ping同宿主机的,同时也⽆法访问外⽹,宿主机也⽆法ping通虚拟机
解决⽅法是:打开虚拟⽹络编辑器进⾏恢复默认设置
稍等⽚刻后,恢复完成,再按照上⾯的步骤去设置⽹络即可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论