一、虚拟机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.59.0/24。 3、找到宿主机的”控制面板”->”网络和 Internet”->”网络连接”,双击”VMware Network Adapter VMnet8”,进行宿主内网IP设置。 4、进入虚拟机系统,配置虚拟机的IP及相关参数,按如下指令所示进行修改: [root@localhost 桌面]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.59.1 #注意虚拟机的IP与宿主机的内网IP不能相同 NETMASK=255.255.255.0 GATEWAY=192.168.59.2 DNS1=222.246.129.80 DNS2=114.114.114.114 [root@localhost 桌面]# ifconfig eth0 on #启动eth0网卡 [root@localhost 桌面]# service network restart #重启启动网络服务,使得刚才的配置生效 至此NAT模式下实现虚拟机对外部网络访问功能已经配置完成。 四、NAT模式下实现外部网络对虚拟机(ssh)访问功能 1、在VMware系统菜单下选择“编辑:,进入虚拟网络编辑器,选择“NAT设置”。 进入“NAT设置”后,在“端口转发”下选择“添加”按钮,添加一条NAT映射规则。其中主机端口即宿主物理网卡的端口,可以任意填写端口号,因为我们这里要实现ssh远程登录功能,这里填写“22”。虚拟机IP地址即192.168.59.1,虚拟机端口必须是22(因为外部设备最终是要通过22端口来访问虚拟机的ssh服务的)。 2、使用Xshell来访问虚拟机时,可以输入:ssh 宿主机的IP 主机端口号,如下图所示。 至此,NAT模式下实现外部网络对虚拟机(ssh)访问功能已实现。 五、参考资料 【1】https://www./blog/vmware-bridged-nat-hostonly.html 文章来源:Slyar Home ———————————————— 版权声明:本文为CSDN博主「bombTree」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/jiuduan2009/article/details/51737004 |
|