系统相关
首页 > 系统相关> > 理解VirtualBox和VMWare的各种网络模式

理解VirtualBox和VMWare的各种网络模式

作者:互联网

个人理解,如有错误,欢迎指正。

 

1.    桥接网络

虚拟机的网卡桥接到宿主机的物理网卡,不解释。

 

2.    仅主机(Host-Only)网络

如果你新建一个这样的网络,两样东西会创建:一个是VirtualBox内部的交换机,如图中的"hostonly交换机";另一个是你的宿主机下的虚拟网卡,如上图中的"hostonly网卡"。

windows实际如下图:

hostonly网卡和hostonly交换机实现了一个局域网,虚拟机、宿主机都在同一个网段,可以互相通信。

虚拟机需要这个设置才能访问外网。

注意:

 

3.    网络地址转换(NAT)

这种网络不会创建虚拟网卡,取而代之的是一个守护进程,如上图中的"VirtualBox守护进程";和一个路由器,如上图中的"NAT路由器"。

ubuntu1、ubuntu2位于同一个网段内,它们可以互通。如果没配端口映射,它们不能访问外网;

NAT路由器使用端口映射来实现内网和外网的互通。设置方法如下:


 

NAT转换举例:

ubuntu1-IP:192.168.1.100

ubuntu2-IP:192.168.1.101

远端IP:172.100.11.230

NAT路由器IP:172.100.11.231

NAT路由器端口映射:

规则方向IP源端口目的端口备注
规则1私网->公网私网IP192.168.1.1005000-私网到公网,私网IP转成公网IP,源端口转成公网端口,目的端口不管
公网IP172.100.11.2316000-
公网->私网公网IP172.100.11.231-6000公网到私网,先看目的端口,如果是6000就转成5000并就发给192.168.1.100,源端口不管
私网IP192.168.1.100-5000
规则2私网->公网私网IP192.168.1.1015000-私网到公网,私网IP转成公网IP,源端口转成公网端口,目的端口不管
公网IP172.100.11.2316001-
公网->私网公网IP172.100.11.231-6001公网到私网,先看目的端口,如果是6001就转成5000并就发给192.168.1.101,源端口不管
私网IP192.168.1.101-5000   

 

 

 

 

 

 

 

 

 

 

下表展示了ubuntu1与HTTP服务器的通信过程:

主机源IP目的IP源端口目的端口备注
ubuntu1发送192.168.1.100127.0.0.1500080-
ubuntu1的TCP/IP协议栈接收192.168.1.100127.0.0.1500080-
ubuntu1的TCP/IP协议栈发送192.168.1.100127.0.0.1500080ubuntu1的TCP/IP协议栈发现目的IP是本地(127.0.0.1),但是本地进程没有谁在监听80端口,于是只能发往外部
NAT路由器接收192.168.1.100127.0.0.1500080-
NAT路由器发送127.0.0.1127.0.0.1600080私网到公网,私网IP转成公网IP,源端口转成公网端口,目的端口不管
VirtualBox守护进程接收127.0.0.1127.0.0.1600080-
VirtualBox守护进程发送127.0.0.1127.0.0.1600080-
宿主机的TCP/IP协议栈接收127.0.0.1127.0.0.1600080-
宿主机的TCP/IP协议栈发送127.0.0.1127.0.0.1600080这包是发给本地的,那么本地谁在监听80端口?是HTTP服务器
HTTP服务器接收127.0.0.1127.0.0.1600080-
HTTP服务器发送127.0.0.1127.0.0.1806000HTTP服务器给客户端返回数据
宿主机的TCP/IP协议栈接收127.0.0.1127.0.0.1806000-
宿主机的TCP/IP协议栈发送127.0.0.1127.0.0.1806000本地只有VirtualBox守护进程在监听6000端口,所以发给它
VirtualBox守护进程接收127.0.0.1127.0.0.1806000-
VirtualBox守护进程发送127.0.0.1127.0.0.1806000-
NAT路由器接收127.0.0.1127.0.0.1806000-
NAT路由器发送127.0.0.1192.168.1.100805000NAT路由器查询映射表,发现公网127.0.0.1:6000映射到私网192.168.1.100:5000。于是就把目的端口改成5000,目的IP改成192.168.1.100
ubuntu1接收127.0.0.1192.168.1.100805000-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

注意:

 

4.    NAT网络

基本功能跟"网络地址转换(NAT)"是一样的,区别在于它可以有很多个。也就是说,你可以建立很多个NAT路由器,各个虚拟机可以选择加入哪个NAT路由器,然后每个NAT路由器都通过各自的VirtualBox守护进程连接宿主机。

建立方法如下:


5.    内部网络

这个很好理解,就是一根网线把两个虚拟机的网卡连接起来。下图中的intnet就是一根网线,你可以新建很多网线。

注意:

 

6.    通用驱动

这个不懂了,从来没用过,以后用到了再写。

 

7.    和VMWare的区别

VMWareVirtualBox区别
桥接桥接
仅主机模式+自定义仅主机(Host-Only)网络
LAN区段内部网络VMWare好用,不需要命令行
NAT模式网络地址转换(NAT)VMWare不像VirtualBox那样用守护进程来通信,而是新建一个虚拟网卡,像真机那样连接

 

 

 

 

 

 

VMWare的拓扑图如下:

标签:127.0,IP,端口,网络,私网,VirtualBox,NAT,公网,VMWare
来源: https://blog.csdn.net/qq_16597387/article/details/114746708