简单介绍Linux几种网络模式
虚拟化层次:
打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器"中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8
(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用
于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。
Linux可以分为三种网络模式:
- 桥接模式 (vmnet0)
- 仅主机模式 (vmnet1)
- NAT模式 (vmnet8)
当我们下载了vmware之后,在电脑会出现两个虚拟网卡,VMware Network Adapter VMnet1、VMware Network Adapter VMnet8。
可以通过查找 控制面板——网络和 Internet——网络和共享中心——更改适配器设置 看到虚拟网卡:
可能有人疑惑了,为什么在虚拟机看到了vmnet0、vmnet1和vmnet8网卡,在物理机没有看到桥接的虚拟网卡vmnet0?
这就要说说桥接、仅主机、NAT这三种网络模式了
桥接模式(Bridged)
桥接模式就是在物理机的网卡跟虚拟机的网卡之间建立一个网桥,可以把物理机的网卡想象成交换机,物理机和虚拟机都接在一个交换机上,交换机连接路由器就可以访问互联网了,接在交换机下的所有主机都可以相互通信互不影响。这样物理机和虚拟机就都可以上网了。这样也就解释了为什么物理机中没有 vmnet0了。
桥接模式下,虚拟机IP地址与物理机在同一个网段,如果需要联网,则网关与DNS需要与物理机网卡一致。
Windows键+R 进入DOS命令窗口,输入:cmd 再输入:ipconfig,查看物理机IP:
步骤:
WIN+R键
cmd
ipconfig
我们把虚拟机的网络模式设置为桥接,激活网卡,输入ip a命令查看是不是192.168.0这个网段。
步骤总结:
修改网络适配器的网络连接模式为桥接
进入/etc/sysconfig/network-scripts/ifcfg-ens33文件修改ONBOOT=NO为ONBOOT=yes
systemctl restart network
ip a
ping www.baidu.com
输入:vi /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
ip a
可以看到桥接模式下的虚拟IP和物理机处于同一网段:
检测一下网络状态:(使用ping这个命令可以检测网络是否通)
ping www.baidu.com
桥接模式设置完成。
桥接模式配置简单,但如果你的网络环境是ip资源很缺少或对ip管理比较严格的话,那桥接模式就不太适用了。
NAT模式
刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。
在NAT模式中,物理主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8虚拟网卡主要是为了实现物理主机与虚拟机之间的通信。
Windows键+R 进入DOS命令窗口,输入:cmd 再输入:ipconfig,查看vmnet8, NAT在192.168.152这个网段:
也可以在虚拟机的编辑选项,虚拟网络编辑器查看:
我们把虚拟机的网络模式设置为NAT,激活网卡,输入ip a命令查看是不是192.168.152这个网段。
修改网络适配器的网络连接模式为NAT
修改ONBOOT=NO为ONBOOT=yes
systemctl restart network
ip a
ping www.baidu.com
看看虚拟机的NAT ip,在192.168.152这个网段,检查一下网络:
ip a
ping www.baidu.com
NAT设置成功。
仅主机模式(host-only)
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统。在这个模式下,主机可以访问虚拟机。但是
虚拟机不能访问主机,也不能访问外网。
可以看到仅主机ip为192.168.200这个网段:
我们把虚拟机的网络模式设置为host-only,激活网卡,输入ip a命令查看是不是192.168.200这个网段。
发现ip在192.168.200这个网段:
检测一下网络状态:(使用ping这个命令可以检测网络是否通)
虚拟机一直ping不通百度,因为仅主机模式,物理主机可以访问虚拟机。但是虚拟机不能访问物理主机,也不能访问外网。
我们用Win+R键,输入cmd,ping一下虚拟机的IP,可以访问虚拟机。
host-only模式联网
如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。
控制面板找到你的网络,右键属性,点击共享:
这时候可以看到VMware Network Adapter VMnet1的ip变成了静态ip192.168.137.1:
进入虚拟机,编辑选项,虚拟网络编辑器,强制将VMnet1的ip设置成192.168.137.1,那么接下来,我们就要将虚拟机的DHCP的子网和起始地址进行修改。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.137.100 #IP地址,在192.168.137这个网段都可以
GATEWAY=192.168.137.1 #网关
PREFIX=24 #子网掩码
#NETMASK=255.255.255.0 #子网掩码的另一种表示方法
DNS=223.5.5.5 #阿里云的DNS
systemctl restart network
ip a
ping www.baidu.com