一文详解vmware虚拟机nat、桥接、仅主机模式的区别

https://www.bilibili.com/video/BV11M4y1J7zP/?spm_id_from=333.337.search-card.all.click&vd_source=98f3349ab95218044e2c42b526a191ca

转载自博客:https://blog.csdn.net/hualinger/article/details/131188141

一、vmware虚拟机网络“桥接模式”与“NAT模式”的区别
选中虚拟机》设置》网络适配器,打开虚拟机设置面板

 

 

我们看到网络连接处有多个选项,今天良哥通过试验告诉你“桥接模式”和“NAT模式”的联网原理、区别及两种模式下IP地址配置的详细方法。

桥接模式
①虚拟机操作系统直接连接物理网卡,通过物理网卡与外部网络建立连接关系。
②此模式下,虚拟机与宿主机处于同一网段中,以独立IP的身份参与网络交互。与宿主机处于同一网段中的其他PC可以直接访问虚拟机(可以ping通虚拟机的IP,访问虚拟机上部署的应用)。

NAT模式
①虚拟机与宿主机形成封闭的网络环境,通过共享宿主机的IP连接外部网络。
②此模式下,虚拟机与宿主机物理网段是不同的,与宿主机处于同一物理网段中的其他PC无法直接访问虚拟机(ping不通虚拟机IP,无法访问虚拟机上部署的应用)。

二、桥接模式下IP地址设置

 2、使用 ip addr命令查看查看网卡名和是否有网络,获知网卡名为ens33

 3、输入vi /etc/sysconfig/network-scripts/ifcfg-ens33 ,修改ifcfg-ens33配置文件如下:

 

PS:
①将BOOTPROTO的值由“DHCP”改为“STATIC”;ONBOOT值设置为“yes”;
②虚拟机IP地址为:192.168.0.201,即网段需要与宿主机相同;
③子网掩码和网关需要与宿主机保持一致;
④需要设置DNS,否则虚拟机无法访问互联网。

4、输入systemctl restart network重启网络服务,使修改的配置文件生效
————————————————
版权声明:本文为CSDN博主「行者张良」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hualinger/article/details/131188141

 

4、分别ping一下宿主机IP 和 www.baidu.com

 

均可ping通,说明IP配置已经生效。

5、在同一网段的其他PC机上ping一下虚拟机

 

 

可以ping通,说明同一网段中的其他PC也能访问虚拟机了。

三、NAT模式下IP地址设置

1、设置连接模式为:NAT模式

 

2、查看网络适配器的默认网段

①选择虚拟机》编辑》虚拟网络编辑器

 ②查看NAT网络的默认设置

 

 

 

记住上图中的IP网段为192.168.80.*,子网掩码255.255.255.0 、 网关192.168.80.2

这里有个非常重点的点,为啥默认的网关的地址是192.168.80.2,不是192.168.80.1了,为啥系统是这样默认设置了,这里和nat模式的架构有关系

不清楚的也可以参考博客:https://zhuanlan.zhihu.com/p/664701769

nat模式下,会产生两个东西:一个是在自己按照vmware虚拟机的电脑上面会产生一个虚拟网卡,网卡的名字就就做VMware Network Adapter VMnet8

 在安装vmware虚拟机的实际的电脑上面也会查看这个网卡的信息

 

另外一个就是在vmware虚拟机的网络中,在该软件中会产生一个叫做Vmnet8的虚拟交换机

 这个就是上面的架构图一样

注意点:网卡的名字就就做VMware Network Adapter VMnet8 系统默认的IP地址是1(192.168.175.1),vm8交换机的网关的地址是(192.168.175.2),所以nat模式下

默认192.168.175.1被虚拟网卡使用了、192.168.175.2被vmnet8虚拟交换机使用了,如果使用Dhcp自动分配IP功能所以创建的vm虚拟机地址不能和192.168.175.1和192.168.175.2冲突

192.168.175.1被虚拟网卡如下所示

 vmnet8 虚拟交换机网卡 192.168.175.2地址如下所示

  vmnet8 虚拟交换机默认dhcp地址如下所示

 

所以上面的架构图一定要清楚

(一)虚拟机器访问安装vmware的电脑的原理

接下来讲解下虚拟机和安装vmware的电脑是如何通信的,这里在安装vmware虚拟机的实际的电脑上面也会查看这个网卡的信息就是VMware Network Adapter VMnet8,在安装vmware的电脑上ping 虚拟机的ip:192.168.175.14的时候,因为当前的电脑上面有VMware Network Adapter VMnet8这个网卡(192.168.175.1),然后这个VMware Network Adapter VMnet8网卡连接到vmnet8这个交换机,然后92.168.175.14这台虚拟机的网卡也连接到了vmnet8这个交换机

当在安装vmware的电脑上ping 虚拟机的ip:192.168.175.14的时候,主机的数据包从VMware Network Adapter VMnet8网卡发出----》达到vmnet8这个交换机-----》交换机把数据包转发给---》192.168.175.14这台虚拟机的网卡

在192.168.175.14虚拟机上面ping 192.168.0.101也是类似:

数据包从192.168.175.14虚拟机网卡发出------》然后到vmnet8这个交换机-----》交换机把数据包转发给---》VMware Network Adapter VMnet8网卡--》主机从VMware Network Adapter VMnet8网卡接收数据

不清楚的可以参看视频:

https://www.bilibili.com/video/BV1ER4y1L7Zu/?spm_id_from=333.337.search-card.all.click&vd_source=98f3349ab95218044e2c42b526a191ca

 

(二)虚拟机器访问外部互联网公网的原理(snat、dnat)

https://blog.csdn.net/TTSuzuka/article/details/127654822

转载自博客:https://blog.csdn.net/TTSuzuka/article/details/127654822 SNAT与DNAT

一、SNAT和DNAT简介
SNAT:局域网共享一个公网IP接入lnternel,好处如下

保护内网用户安全,因为公网地址总有一些人恶意扫描,而内网地址在公网没有路由所以无法被扫描,能被扫描的只有防火墙这一台,这样就减少了被攻击的可能。
Ipv4地址匮乏,很多公司只有一个ipv4地址,但是却有几百个用户需要上网,这个时候就需要使用SNAT。
省钱,公网地址付费,使用SNAT只需要一个公网ip就可以满足几百人同时上网。
DNAT:向internel发布内网服务器,在内网中有服务器,如果想让公网用户访问有有两种方法

1. 配置双网卡,一网卡对内,一网卡对外;一般是高访问量的web服务器,为了避免占用网关 的流量才这样做,使用不是很广泛。
2. 内网web服务器,或是ftp服务器,为了用户在公网也可以访问,有不想买公网ip地址,采用 DNAT方案。
二、SNAT原理及应用
1、概述
SNAT典型应用环境:

局域网主机共享单个公网IP地址接入Internet。(私有IP不能在Internet中正常路由)

 

SNAT策略的原理:

源地址转换,Source Network Address Translation
修改数据包的源地址
SNAT原地址转换过程:

数据包从内网发送到公网时,SNAT会把数据包的源地址由私网IP转换成公网IP。
当相应的数据包从公网发送到内网时,会把数据包的目的地址由公网IP转换为私网IP。
当内网有多台主机访问外网时,SNAT在转换时会自动分配端口,不同内网主机会通过端口号进行区分。

 

2、SNAT策略的配置
SNAT转换前提条件

局域网各主机已正确设置IP地址、子网掩码、默认网关地址
Linux网关开启IP路由转发
linux网关开启IP路由转发

1)临时开启:

echo 1 > /proc/sys/net/ipv4/ip_forward

sysctl -w net.ipv4.ip_forward=1
2)永久开启:

vim /etc/sysctl.conf
net.ipv4.ip_forward=1 #将此行写入配置文件

sysctl -p #读取修改后的配置
SNAT转换1:固定的公网IP地址

#配置SNAT策略,实现SNAT功能,将所有192.168.72.0这个网段内的ip的源地址改为12.0.0.2
iptables -t nat -A POSTROUTING -s 192.168.72.0/24 -o ens33 -j SNAT --to 12.0.0.2      

iptables -t nat -A POSTROUTING -s 192.168.72.0/24 -o ens33 -j SNAT --to-source 12.0.0.2-12.0.0.10
 ​
#-A POSTROUTING 指定POSTROUTING链
#-s 192.168.72.0/24 源地址所处的网段(内网IP)
#-o ens33 出站网卡
#-j SNAT
#--to 12.0.0.2   外网IP
#--to-source 12.0.0.2-12.0.0.10   外网地址池
SNAT转换2:非固定的公网IP地址(共享动态IP地址)

iptables -t nat -A POSTROUTING -s 192.168.72.0/24 -o ens33 -j MASQUERADE

三、DNAT原理及应用
1、概述
服务器一般不会暴露在公网中,极易被人攻击。服务器一般使用内网IP,所以访问服务器时需要进行目标地址转换。

DNAT策略的应用环境

在Internet中发布位于企业局域网内的服务器

 

DNAT策略的原理 

目标地址转换,Destination Network Address Translation
修改数据包的目标地址
DNAT源地址转换过程

数据包从外网发送到内网时,DNAT会把数据包的目标地址由公网IP转换成私网IP
当相应的数据包从内网发送到公网时,会把数据包的源地址由私网IP转换为公网IP
2、DNAT策略的配置
DNAT转换前提条件

局域网的服务器能够访问Internet
网关的外网地址有正确的DNS解析记录
Linux网关开启IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward=1 #将此行写入配置文件

sysctl -p #读取修改后的配置
DNAT转换1:发布内网的Web服务

#把从ens33进来的要访问web服务的数据包目的地址转换为 192.168.72.10
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.72.102

iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.72.10-192.168.72.20
 ​
#-A PREROUTING       //修改目标地址的链          
#-i ens33             //入站网卡
#-d 12.0.0.254       //数据包的目的地址
#-p tcp --dport 80   //数据包的目的端口
#-j DNAT             //使用DNAT功能
#--to 192.168.109.11 //内网服务器IP
DNAT转换2:发布时修改目标端口

#将公网的IP和端口,转换成内网的IP和端口
#发布局域网内部的web服务器,外网主机需使用8080端口进行连接
#将12.0.0.254:8080 转换成 192.168.72.10:80
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.254 -p tcp --dport 8080 -j DNAT --to 192.168.72.10:80
 ​
#发布局域网内部的OpenSSH服务器, 外网主机需使用250端口进行连接
#将12.0.0.254:250 转换成 192.168.72.10:22
iptables-t nat -A PREROUTING -i ens33 -d 12.0.0.254 -p tcp --dport 250 -j DNAT --to 192.168.72.10:22

四、总结
SNAT源地址转换过程(针对客户端):

数据包从内网发送到公网时,SNAT会把数据包的源地址由私网IP转换成公网IP。
当相应的数据包从公网发送到内网时,会把数据包的目的地址由公网IP转换为私网IP。
当内网有多台主机访问外网时,SNAT在转换时会自动分配端口,不同内网主机会通过端口号进行区分。
DNAT源地址转换过程(针对服务器):

数据包从外网发送到内网时,DNAT会把数据包的目标地址由公网IP转换成私网IP。
当相应的数据包从内网发送到公网时,会把数据包的源地址由私网IP转换为公网IP。客户机想
访问服务器时,访问的是网关地址,由网关去找服务器的内网地址。
如果多台服务器使用同一个网关,那么通过不同的端口号来对应不同的服务器。

VM中的nat一般指的是snat

这里我们来看虚拟机192.168.62.158这套虚拟机访问wwwbaidu.com底层使用的原理

这里时候数据会发送给vmnet8交换机,按照vmware主机的真实的主机网卡(192.168.1.101)也是连接到Vmnet8这台交换机的,所以vmnet8交换机会将访问snat服务器

会做nat的解析功能,会访问虚拟的nat设备,SNAT会把数据包的源地址(192.168.62.158)私网IP转换成物理网卡IP(192.168.1.101)发送给外部的服务器,由主机的物理网卡

去访问访问的互联网,由下图所示

相当的经典

 

上述信息也可直接查看宿主机中的虚拟网卡VMnet8获得相关信息:

 

3、在控制台窗口中输入vi /etc/sysconfig/network-scripts/ifcfg-ens33 ,修改ifcfg-ens33配置文件如下:

 

PS:
①将BOOTPROTO的值由“DHCP”改为“STATIC”;ONBOOT值设置为“yes”;
②虚拟机IP地址需要设置为:192.168.80.*,即网段需要与NAT网络设置的相同;
子网掩码和网关需要与NAT网络设置的保持一致;必须是和vmnet8中的nat设置中的网关一样设置为192.168.80.2
④需要设置DNS,否则虚拟机无法访问互联网。

4、输入systemctl restart network重启网络服务,使修改的配置文件生效
————————————————
版权声明:本文为CSDN博主「行者张良」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hualinger/article/details/131188141

 

4、分别ping一下宿主机IP 和 www.baidu.com

 

均可ping通,说明IP配置已经生效。

5、在同一网段的其他PC机上ping一下虚拟机

 

无法ping通,说明同一网段中的其他PC不能访问虚拟机。

6、在宿主机中ping一下虚拟机

 

可以ping通,说明只有宿主机可以访问虚拟机网络,宿主机与虚拟机之间形成了封闭的网络环境!

四、总结
VMWARE虚拟机网络连接的桥接模式是通过物理网卡直接与外部网络建立联系的,而NAT模式则是通过虚拟网卡VMnet1或VMnet8通过宿主机共享IP与外部建立网络关系。
读者可以根据需要选用以上两种网络设置模式,当需要将虚拟机资源共享给局域网用户使用时,宜采用桥接模式;当需要保护虚拟机资源,确保只能由宿主机独自占用时,可采用NAT模式。

 

 

NAT网络中虚拟机Vm是可以访问到外网的百度服务器的,但是百度的服务器是不能访问到虚拟机vm。

这里虚拟机vm时候可以访问安装vmware软件的电脑的,安装vmware电脑也是可以访问VM虚拟机的

家庭上网的nat模式:自己电脑如何访问外部的百度:SNAT模式:将私网的192.168.10.11转换成公网的203.102.222.11

 从公网访问内部的私有网络:DNAT模式  将公网的203.102.222.11转换成192.168.10.11

 

有点类似下面的这个原理

 

当虚拟机访问外网的www,baidu。com的时候,请求的数据会发送到vmnet3这个虚拟交换机,这个虚拟交换机一边连接虚拟机,一边连接物理网卡,这个Vmnet3这个虚拟交换机具有迅疾snat转换的功能

可以将请求的IP地址转换成主机器物理网卡的IP,主机网卡然后请求转发给路由器,路由器也具有nat功能,将主机物理网卡私有的IP转换成电信model的公网IP,最终去访问百度,到达内网访问外网百度的目的。但是百度的服务器是无法访问虚拟机的

 

接下来我们通过一个案例来创建nat

先创建一个虚拟网卡Vmnet3,使用nat模式

 添加好之后就可以再网络设备查看创建的vmnet3这个虚拟网卡

 

 

 接下来可以设置Vmnet网卡的网关信息

点击nat设置可以设置这个vmnet3网卡的网关信息和创建的虚拟机对于的IP地址端

 上面就是设置vmnet3的网卡地址为192.168.178.2

 

手动设置虚拟机器的IP地址段为192.168.178网段

接下来让创建的虚拟机和上面的vmnet3网卡进行绑定

在虚拟机的网络设置中,选择自定义选择对于的vmnet3的网卡就可以了

 

 

 

桥接模式

 

 Windows上面安装了vmware之后默认有两个网卡

 vmnet1和vmnet 8

点击vmware点击编辑,选择虚拟网络编辑器也可以看到这两个网卡

 

 

 

 

 

posted on 2023-11-26 15:28  luzhouxiaoshuai  阅读(5716)  评论(0编辑  收藏  举报

导航