vmware三种网络模式介绍及nat模式下使用同一局域网的非宿主机ssh连接虚拟机

1、vmware虚拟机三种网络模式

打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。在“网络连接”中我们可以看到这两块虚拟网卡,

(1)桥接

桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。

简单来说就是把VMnet0虚拟网卡与主机的网卡连接在一起,虚拟网卡同时也会转发主机网卡的广播和组播信息,以及目标是虚拟网段下的单播信息,所以虚拟机的ip要和主机在同一个网段。

桥接模式是共享主机网段的,如果宿主机所在局域网的ip资源紧缺,就不适用这种模式,可以考虑nat模式。

(2)NAT

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。也就是说VMnet8相当于宿主机内的路由器,把宿主机ip地址虚拟化出新的网段,这种情况下,只要主机能够访问外网,虚拟机就也可以访问外网,且不会与宿主机的ip网段冲突。

但是在此模式下,外部主机不能够ssh连接到我们的虚拟机,因为我们的VMnet8只是转发来自虚拟机的消息,外部网络的包段无法到达该宿主机内部的路由上,不能够转发给虚拟机。试了挺长时间,能够实现外部主机ssh连接宿主机的虚拟机,下面会详细介绍。

(3)仅主机模式

顾名思义,Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。该模式下使不能连接外网的,但是可以设置一个共享家庭网络,来实现虚拟机访问外网。

vmware三种网络模式介绍及nat模式下使用同一局域网的非宿主机ssh连接虚拟机_第1张图片

2、NAT模式下外网ssh连接改虚拟机,或访问虚拟机的应用

首先设置好静态ip,重启网卡,这里不再赘述,放上centos7以下系统修改文件的路径和启动网卡方式:

(1. 打开虚拟网络编辑器,移除VMnet8,从新创建一个VMnet8,查看NAT设置中的网关地址;

(2. 初始化设置的NAT模式,应用桥接模式,重新应用NAT模式;ifconfig

(3. 进入/etc/sysconfig/network-scripts目录打开ifcfg-eth0

(4. 配置网络:

                  修改模式BOOTPROTO:DHCP自动获取ip

                  static:静态ip

                  添加ip地址:IPADDR=VMnet8中的网段

                  添加子网掩码:NETMASK=

                  添加网关:GATEWAY=和查看的网关对应

                  添加DNS:DNS1=免费8.8.8.8

           (5. 重启网络服务:

                  /etc/init.d/network restart

然后重新设置vmware的网络配置,配置端口映射,设置主机端口到虚拟机端口的映射,这里主要是为了实现外网能够访问到虚拟机。

注:如果是ssh连接就设置22端口,如果是其他服务就设置虚拟机上服务的端口。

vmware三种网络模式介绍及nat模式下使用同一局域网的非宿主机ssh连接虚拟机_第2张图片

按道理此时应该能够实现连接了,但是发现其他主机还不能够连接成功,我尝试重启了很多次,还是不行,后来怀疑是win系统的防火墙将其他主机的访问连接给墙了,就配置宿主机对应端口的防火墙权限。如下:

配置路径:控制面板/网络设置=>win防火墙设置=>高级设置

vmware三种网络模式介绍及nat模式下使用同一局域网的非宿主机ssh连接虚拟机_第3张图片

选中入站规则,然后选端口,设置指定端口,和允许那种网络连接。注意:不要随便开放系统的端口,可能存在不安全因素。

到此,你虚拟机中的服务或者需要外网ssh连接的,都可以通过:宿主机ip:端口号 进行连接 

你可能感兴趣的:(vmware三种网络模式介绍及nat模式下使用同一局域网的非宿主机ssh连接虚拟机)