虚拟机的网络模式

1、NAT模式

一般家庭网络都会用到NAT。办理了宽带,分配了一个ip地址,但家里很多设备都需要上网,怎么办?

路由器会自动进行地址和端口的转换,出去时转成外网ip(全家共用一个)+端口,进来时又重新转成内网ip+端口的模式。

同时要注意,内网ip(A类:10.0.0.0-10.255.255.255,B类:172.16.0.0-172.31.255.255,C类:192.168.0.0-192.168.255.255)是不能公网路由的,因为是每个局域网中的内部地址,不同局域网中可以有相同的内网地址。

内网ip端口可以通过NAT访问外网,但外网一般不能直接访问内网的ip端口。因为路由器一般只配置了SNAT,即源NAT,会对出去的源ip端口进行转换,但外网进来的访问内网ip端口的请求,由于没有对应的映射表,请求会被丢弃。当然这个可以通过手动配置DNAT(目的地址NAT)来解决。

说回来虚拟机的NAT,这就相当于宿主机上的每个虚拟机都在一个独立的局域网里面,并且都有自己的DHCP和网关,各个虚拟机的ip地址可能相同(因为在不同的子网里面),所以

(1)虚拟机相互之间是不通的(不考虑端口转发等操作)

(2)虚拟机当然能访问宿主机,并且可以通过宿主机再访问外网,就好比你家里局域网中的设备也能访问外网一样。

虚拟机发起一个请求,假设虚拟机通过Xip+x端口请求外网的Aip+a端口,这个请求首先到虚拟机和宿主机之间的路由器H(这是一个虚拟路由器?),目标地址不变,源地址通常会直接转换为宿主机在上一层网络(家庭局域网)中的IP地址。 对于宿主机操作系统来说,这个数据包现在看起来就像是宿主机上的一个普通应用程序发出的。在宿主机看来是虚拟路由器H作为一个应用发起了一个请求,于是通过NAT转到公网(假设宿主机所在网络是一个家庭局域网,也是通过NAT访问外网),公网返回响应后再转回虚拟路由器,虚拟路由器再通过映射表转到虚拟机。整个过程其实是有两次NAT映射。

(3)宿主机不能访问虚拟机,外网ip也不能访问虚拟机,对应外网ip不能直接访问NAT的内部ip

2、NAT网络模式

和NAT模式的区别只在于一个宿主机上的多个虚拟机,不再是每个虚拟机处于一个单独的子网中了,而是所有虚拟机处在一个子网中,共用一个DHCP和网关,因此虚拟机相互之间是通的。其他和NAT模式完全相同。

3、桥接模式

NAT模式下,虚拟机的网络相当于还是比宿主机所在网络低一级(虚拟机所处子网的DHCP是宿主机上的一个虚拟网络适配器),而在桥接模式下,虚拟机软件会创建一个虚拟网桥,将虚拟机的网卡"桥接"到宿主机的物理网卡上,虚虚拟机就像一台独立的物理机一样,直接连接到了宿主机所在的家庭局域网。它会从家庭路由器那里获取一个IP地址。

所以,

虚拟机之间,通

虚拟机到宿主机,通

虚拟机到外网,通

宿主机到虚拟机,通

外网到虚拟机,不通

4、内部网络

各个虚拟机之间搭建了一个内部网络,不和宿主机相通。

也就是

虚拟机之间,通

虚拟机到宿主机,不通

虚拟机到外网,不通

宿主机到虚拟机,不通

外网到虚拟机,不通

5、仅主机

和内部网络非常像,区别在于宿主机也和虚拟机在同一个隔离网络里,但不是联外网的那个局域网中。

虚拟机可以通过虚拟网卡访问宿主机,宿主机也可以访问虚拟机。可以把这张虚拟网卡想象成一张真实的网卡插到宿主机上了,宿主机就有两张网卡,两卡各自分别连到一个网络,宿主机存在于两个网络中。但虚拟网卡所在网络没有设置网关,因此不能连接外网。

虚拟机之间,通

虚拟机到宿主机,通

虚拟机到外网,不通

宿主机到虚拟机,通(可以ping虚拟网卡,但不能ping宿主机在家庭网络中的ip)

外网到虚拟机,不通

相关推荐
clear sky .2 小时前
ETH, Lwip,Tcp之间关系
服务器·网络·tcp/ip
我叫汪枫2 小时前
《从点击到响应:HTTP 请求是如何传出去的》
网络·网络协议·http
此生只爱蛋3 小时前
【Linux】网络基础概念
网络
key_Go4 小时前
06.OpenStack网络管理
网络·openstack
asdfsdgss4 小时前
多项目共享资源:Ruby 定时任务基于 Whenever 的动态扩缩容
java·网络·ruby
R.lin6 小时前
红包实现方案
java·开发语言·网络·后端·架构
王道长服务器 | 亚马逊云6 小时前
AWS Auto Scaling:自动扩容,让服务器像呼吸一样灵活
运维·网络·自动化·云计算·aws
Xの哲學6 小时前
Linux ioctl 深度剖析:从原理到实践
linux·网络·算法·架构·边缘计算
非凡的世界7 小时前
ThinkPHP6 集成TCP长连接 GatewayWorker
网络·网络协议·tcp/ip·gateway·thinkphp·worker·workman
国科安芯7 小时前
国产MCU芯片在船舶压力传感器中的应用探索与实践
网络·单片机·嵌入式硬件·fpga开发·车载系统