VMware Workstation中网络类型介绍

1.准备工具

  • 虚拟软件:Vmware Workstation 11.0
  • Linux系统:RedHat Enterprise Linux 7.0
  • 远程工具:secureCRT 7.3.6

2.VM虚拟软件网络工作原理

2-1 VM三种网络模式

桥接、NAT、hostonly
在宿主机上对应的有VMware Network Adapter VMnet1VMware Network Adapter VMnet8两块虚拟网卡

虚拟网卡

在VM软件中有三种虚拟网络(虚拟交换机):VMnet0、VMnet1、VMnet8
虚拟网络类型

//由于VMnet0使用桥接模式,对应在宿主的网络配置中看不到VMnet0网卡的存在
虚拟网卡工作模式

2-2 桥接模式(Bridged)

桥接模式就是将宿主机网卡(真实网卡)与VM软件中的虚拟交换机0(VMnet0)利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致

桥接模式网络拓扑

桥接模式网络实现
  • 在VM中“编辑虚拟机设置”将实验虚拟机网络设置为“桥接模式”
    桥接虚拟机网络设置
  • 在进入系统之前,确认宿主机真实网卡的ip地址、网关、DNS等信息。
    宿主机网络设置
  • 进入虚拟机linux系统中编辑网卡(eno16777728)信息

    [root@cricket-server Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777728
        TYPE=Ethernet
        BOOTPROTO=static
        NAME=eno16777728
        UUID=d86ad442-6fd5-4470-9e07-5ad58525255e
        ONBOOT=yes
        HWADDR=00:0C:29:DC:14:31
        IPADDR=192.168.43.202   //设置虚拟机IP与宿主机同一网段
        NETMASK=255.255.255.0  //设置子网掩码
        GATEWAY=192.168.43.1   //设置网关
        DNS1=192.168.43.1      //设置dns
    
  • 重启网卡

    [root@cricket-server Desktop]# systemctl restart network
    
  • 看网卡运行信息

    [root@cricket-server Desktop]# ifconfig
        eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.43.202  netmask 255.255.255.0  broadcast 192.168.43.255  //网卡信息一致
            inet6 fe80::20c:29ff:fedc:1431  prefixlen 64  scopeid 0x20<link>
            inet6 240e:2a:17f1:698c:20c:29ff:fedc:1431  prefixlen 64  scopeid 0x0<global>
            ether 00:0c:29:dc:14:31  txqueuelen 1000  (Ethernet)
            RX packets 140  bytes 16469 (16.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 166  bytes 19324 (18.8 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
            ………………省略其余部分网卡过程………………
    
  • 测试网络连通性

    使用ping命令ping外网ip,测试能否联网

    [root@cricket-server Desktop]# ping www.baidu.com
    PING www.a.shifen.com (220.181.112.244) 56(84) bytes of data.
    64 bytes from 220.181.112.244: icmp_seq=1 ttl=52 time=45.0 ms
    64 bytes from 220.181.112.244: icmp_seq=2 ttl=52 time=55.0 ms
    64 bytes from 220.181.112.244: icmp_seq=3 ttl=52 time=46.9 ms
    64 bytes from 220.181.112.244: icmp_seq=4 ttl=52 time=42.9 ms
    64 bytes from 220.181.112.244: icmp_seq=5 ttl=52 time=46.3 ms
    64 bytes from 220.181.112.244: icmp_seq=6 ttl=52 time=44.0 ms
    ^C
    --- www.a.shifen.com ping statistics ---
    6 packets transmitted, 6 received, 0% packet loss, time 5008ms
    rtt min/avg/max/mdev = 42.976/46.737/55.082/3.971 ms
    
  • 使用CRT软件连接虚拟机

    • 打开CRT软件
CRT设置
    • 连接成功
连接状态

2-3 NAT模式(地址转换)

NAT是Network address translate(网络地址转换)的简称
NAT模式是宿主机(真实网卡)和VM软件中的虚拟交换机(VMnet8)利用虚拟NAT设备进行通信,虚拟机发出的每一块数据包都会经过虚拟NAT设备(表面看不见),然后NAT后转发给宿主机网卡(真实网卡)。
虚拟交换机(VMnet8)和虚拟机处于一个地址段,虚拟机和宿主机处于不同一个地址段,VM软件中的虚拟NAT设备相当于虚拟机的网关,能通过路由转发到达宿主机(真实网卡)中,所以虚拟机能ping到宿主机的IP,但是宿主机ping不到虚拟机的IP(NAT属于多对一,虚拟NAT设备不具备外部访问内部功能),因而使用CRT等终端时无法连接虚拟机。
VMware Network Adapter VMnet8的作用:
实现主机与虚拟机之间的通信,使CRT等终端能通过宿主机来访问虚拟机,但是VM软件中的VMnet8设置的NAT网关是无法通过宿主机来连通的(虚拟NAT设备不具备外部访问内部功能)

NAT模式网络拓扑
NAT模式网络实现
  • 在VM中“编辑虚拟机设置”将实验虚拟机网络设置为“NAT”
NAT虚拟机网络设置
  • 在VM中“虚拟网络编辑器”设置NAT参数及自定义参数
NAT参数设置
  • 进入虚拟机linux系统中编辑网卡(eno16777728)信息
    [root@cricket-server Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777728
        TYPE=Ethernet
        BOOTPROTO=static
        NAME=eno16777728
        UUID=d86ad442-6fd5-4470-9e07-5ad58525255e
        ONBOOT=yes
        HWADDR=00:0C:29:DC:14:31
        IPADDR=172.30.200.100    //设置虚拟机IP与NAT模式参数设置为同一网段
        NETMASK=255.255.255.0   
        GATEWAY=172.30.200.1
        DNS1=172.30.200.1
    
  • 重启网卡
    [root@cricket-server Desktop]# systemctl restart network
    
  • 查看网卡运行信息
    [root@cricket-server Desktop]# ifconfig
    eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.30.200.100  netmask 255.255.255.0  broadcast 172.30.200.255
            ether 00:0c:29:dc:14:31  txqueuelen 1000  (Ethernet)
            RX packets 46  bytes 5304 (5.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 185  bytes 14976 (14.6 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
  • 测试网络连通性
    使用ping命令ping外网ip,测试能否联网
    [root@cricket-server Desktop]# ping www.baidu.com    //可以ping通百度
    PING www.a.shifen.com (220.181.112.244) 56(84) bytes of data.
    64 bytes from 220.181.112.244: icmp_seq=1 ttl=128 time=63.1 ms
    64 bytes from 220.181.112.244: icmp_seq=2 ttl=128 time=57.0 ms
    ^C
    --- www.a.shifen.com ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 57.013/60.091/63.170/3.088 ms
    [root@cricket-server Desktop]# ping 192.168.43.202   //可以ping通宿主机IP
    PING 192.168.43.202 (192.168.43.202) 56(84) bytes of data.
    64 bytes from 192.168.43.202: icmp_seq=1 ttl=128 time=5.96 ms
    64 bytes from 192.168.43.202: icmp_seq=2 ttl=128 time=43.3 ms
    ^C
    --- 192.168.43.202 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 5.968/24.636/43.304/18.668 ms
    [root@cricket-server Desktop]# ping 172.30.200.1   //可以ping通NAT网关
    PING 172.30.200.1 (172.30.200.1) 56(84) bytes of data.
    64 bytes from 172.30.200.1: icmp_seq=1 ttl=128 time=0.158 ms
    64 bytes from 172.30.200.1: icmp_seq=2 ttl=128 time=0.261 ms
    ^C
    --- 172.30.200.1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.158/0.209/0.261/0.053 ms
    [root@cricket-server Desktop]# ping 172.30.240.254   //可以ping通VMnet8网卡(为了区别,VMnet8 IP 与NAT参数设置有别)
    PING 172.30.240.254 (172.30.240.254) 56(84) bytes of data.
    64 bytes from 172.30.240.254: icmp_seq=1 ttl=128 time=0.669 ms
    64 bytes from 172.30.240.254: icmp_seq=2 ttl=128 time=0.475 ms
    64 bytes from 172.30.240.254: icmp_seq=3 ttl=128 time=0.537 ms
    ^C
    --- 172.30.240.254 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2001ms
    rtt min/avg/max/mdev = 0.475/0.560/0.669/0.083 ms
    
  • 利用宿主机CMD或者powershell 反ping虚拟机和时不通
宿主机ping测试
  • 使用CRT软件连接虚拟机
    • 修改宿主机VMnet8配置,确保宿主机VMnet8网卡网段与VM软件中VMnet8网络网段一致
修改VMnet8参数
    • 利用宿主机CMD或者powershell ping虚拟机和NAT网关
宿主机ping测试

打开CRT连接虚拟机

secureCRT
  • 连接成功
连接测试

2-4 仅主机模式(Host-Only)

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。


仅主机网络拓扑
Host-Only网络实现

本实验采用DHCP方式分配IP给虚拟机

  • 在VM中“编辑虚拟机设置”将实验虚拟机网络设置为“Host-Only”


    仅主机网络设置
  • 设置VM的“虚拟网络编辑器”(包括DHCP设置)


    仅主机参数设置
  • 进入虚拟机linux系统中编辑网卡(eno16777728)信息

    [root@cricket-server Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777728
    
虚拟机网卡信息
  • 重启网卡
    [root@cricket-server Desktop]# systemctl restart network
    
  • 查看网卡运行信息
    [root@cricket-server Desktop]# ifconfig
    
网卡信息
  • 测试网络连通性

使用ping命令ping外网宿主机网络(VMnet8),测试能否联网

[root@cricket-server Desktop]# ping 172.30.100.254   //可以ping通宿主机IP PING 172.30.100.254 (172.30.100.254) 56(84) bytes of data.
    64 bytes from 172.30.100.254: icmp_seq=1 ttl=128 time=0.388 ms
    64 bytes from 172.30.100.254: icmp_seq=2 ttl=128 time=0.307 ms
    ^C
    --- 172.30.100.254 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.307/0.347/0.388/0.044 ms
    [root@cricket-server Desktop]# ping 192.168.43.201    //无法ping通宿主机真实IP
    connect: Network is unreachable
    [root@cricket-server Desktop]# ping www.baidu.com    //无法ping百度
    ping: unknown host www.baidu.com
  • 使用CRT软件连接虚拟机
isecureCRT
  • 连接成功
测试成功
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容