一:简单介绍
linux系统有三种网络模式分别是桥接模式、NAT模式、仅主机模式,名称分别为vmnet0、vmnet1、vmnet8。
系统中又有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,很显然这两块虚拟网卡对应虚拟机上的vmnet1和vmnet8,但是为什么没vmnet0对应的虚拟网卡呢?
让我通过实验来告诉你!
二:实践检测
1.Bridged(桥接模式)
什么是桥接模式?
桥接模式就是在物理机的网卡跟虚拟机的网卡之间建立一个网桥,可以把物理机的网卡想象成交换机,物理机和虚拟机都接在一个交换机上(物理网卡)交换机连接路由器、光猫就可以访问互联网了,接在交换机下的所有主机都可以相互通信互不影响。这样物理机和虚拟机就都可以上网了。
这样也就就解释了为什么windows中没有VMware Network Adapter VMnet0与vmnet0相对应了!
桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。
1.设置网卡连接模式
这个地方桥接到…可以填自动,以防出现以太网口没有开启的情况
2.编辑网卡配置文件
(1)查看物理主机网卡信息,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。
(2)配置虚拟网卡并测试ping通外网
[root@b ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens32 UUID=6cfcde1c-373b-4682-bbe8-589ad6b7c344 DEVICE=ens32 ONBOOT=yes IPADDR=192.168.43.160 PREFIX=24 GATEWAY=192.168.43.1 DNS1=192.168.43.1 [root@b ~]# systemctl restart network [root@b ~]# ping baidu.com PING baidu.com (39.156.69.79) 56(84) bytes of data. 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=50 time=87.9 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=50 time=80.2 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=50 time=78.8 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=50 time=106 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=5 ttl=50 time=65.4 ms ^C --- baidu.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 65.463/83.802/106.564/13.486 ms
(3)桥接模式下远程登录虚拟机
4)桥接模式配置简单,但如果你的网络环境是ip资源很缺少或对ip管理比较严格的话,那桥接模式就不太适用了。那么下面学一种NAT模式
2、NAT(地址转换模式)
NAT模式借助虚拟NAT设备和虚拟DHCP服务器来实现虚拟机上网功能,具体流程可看图
聪明的同学可能发现中间为啥要多个VMware Network Adapter VMnet8,直接把主机网卡连到vmnet8虚拟交换机上不行吗?实际上VMware Network Adapter VMnet8的作用是为了实现虚拟机和主机之间相互通信!
(1)设置网卡连接模式
(2)配置虚拟网卡并测试ping通外网
[root@a ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens32 UUID=6cfcde1c-373b-4682-bbe8-589ad6b7c344 DEVICE=ens32 ONBOOT=yes IPADDR=192.168.10.130 PREFIX=24 GATEWAY=192.168.10.1 DNS1=192.168.10.1 [root@a ~]# systemctl restart network [root@a ~]# ping baidu.com PING baidu.com (39.156.69.79) 56(84) bytes of data. 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=50 time=101 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=50 time=53.1 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=50 time=100 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=50 time=106 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=5 ttl=50 time=65.4 ms ^C --- baidu.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 65.463/83.802/106.564/13.486 ms
(3)NAT模式下远程登录虚拟机
VMware Network Adapter VMnet8的作用是让虚拟机和物理机之间通信,把物理机上的它禁用之后仍然可以ping通主机,但是不能远程登陆!
3.Host-Only(仅主机模式)
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯如图。
(1)设置网卡连接模式
(2)仅主机模式下远程登录虚拟机
(3)配置虚拟网卡并测试ping通外网
仅主机模式ping通外网需要共享物理主机的网卡,这就能上网了
[root@a ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens32 UUID=6cfcde1c-373b-4682-bbe8-589ad6b7c344 DEVICE=ens32 ONBOOT=yes IPADDR=192.168.137.130 PREFIX=24 GATEWAY=192.168.137.1 DNS1=192.168.137.1 [root@a ~]# systemctl restart network [root@a ~]# ping baidu.com PING baidu.com (39.156.69.79) 56(84) bytes of data. 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=50 time=97.9 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=50 time=90.2 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=50 time=88.8 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=50 time=106 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=5 ttl=50 time=95.4 ms ^C --- baidu.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 65.463/83.802/106.564/13.486 ms