今天在学习docker中的网络管理部分,不太明白,然后先来学习了一下VM中的网络管理。众所周知,VM中有三种网络模式:桥接模式、NAT模式、主机模式,上网搜了一下貌似都讲的不是很清楚。
1、桥接模式
所有的虚拟机利用主机的网卡和外网进行通信;类似于有一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰;虚拟机IP地址需要与主机在同一个网段,如需要联网,则网关与DNS需要与主机网卡一致,需要手动配置;
桥接模式下,所有的机器在同一个局域网中,pc1、pc2、pc3可以访问虚拟机,虚拟机也可以访问pc机,当虚拟机访问外网时,将自己的数据包通过交换机经过主机的网卡和外界进行通信。
优点:简单、暴力、其他网络内的虚拟机也可以远程登录。
缺点:占用ip地址,不安全,指定ip不能冲突
2、NAT模式
使用NAT(网络地址转换)模式,就是让虚拟机借助NAT的功能,通过宿主机所在的网络来访问公网。在这种模式下宿主机成为双网卡主机,同时参与现有的宿主局域网
当外部的机器访问时,只能看到PC3的ip地址,看不到新建的虚拟局域网。
如图所示,pc1、pc2、pc3处于一个局域网,vm1、vm2、vm3处于虚拟的局域网中,当需要发送消息访问互联网时,将消息通过NAT转换成为pc3的地址访问外网,外部的机器只能访问到pc3,同理pc1、pc2也是这样。
优点:安全,只有pc3可以访问;不占用过多ip地址
缺点:通信慢
3、主机模式
在这个模式下,主机可以访问虚拟机。但是虚拟机不能访问主机,也不能访问外网。
使用的是vmnet1,只能和pc3交互,且不能访问外网。 基本上不用。