分享

通过ssh访问NAT网络模式下的虚拟机Linux

 春和秋荣 2019-10-07

一、虚拟机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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多