在实践中深入理解VMware虚拟机的上网模式:桥接模式

简介:

1.实验环境


    博主的实验环境如下:

  • 宿主机操作系统:Windows 7

  • VMware Workstation版本:12.5.2 build-4638234

  • 虚拟机操作系统:CentOS 6.5

  • 虚拟机操作系统上网方式:桥接模式

    说明:为了后面的测试正常,请务必将宿主机和虚拟机的操作系统的防火墙功能关闭。实际上虚拟机使用哪一种操作系统是没有影响的,为了方便测试验证,应该使用自己熟悉的操作系统。

    对于上网模式的设置,可以参考下面的图示:

wKioL1i1B9zwckGAAAGQazeNKVc539.png



2.桥接模式的理论知识


     当把我们的虚拟机的上网方式设置为桥接模式时,虚拟机、宿主机、各网卡之间的连接关系可用下图来表示:

wKioL1i1CKzDDcCKAAFNypk6tUM774.jpg    事实上,上面的原理图可以等价为下面的网络拓扑图:

wKiom1i1CPyjfB8eAADtU7dC2hA756.jpg    因此,当虚拟机使用桥接模式上网时,你可以把这台虚拟机完全看作是宿主机所在局域中的一台真实主机,它使用的网络地址信息跟宿主机的完全一样。

    不过需要注意的是,由于我们的宿主机中可能会有多张网卡,因此,在VMware Workstation中,我们是可以设定我们的虚拟机桥接到哪一张网卡上的:

wKioL1i1CfnzU21PAAG4MX81vJI873.png    如图,博主是把当前的虚拟机桥接到宿主机的无线网卡上,因此虚拟机的网络地址信息应该跟宿主机在无线网卡上所获取到的网络地址信息是在同一个网段的,即它们位于同一个局域网中。




3.在实践中深入理解桥接模式的网络原理


    先在我们的宿主机上查看网络地址信息:

wKioL1i1CqnhFqbcAACFIp3sVy0010.png

    可以看到宿主机所在局域网的IP地址段为192.168.1.0/24,因为我的宿主机是接wifi来上网的,并且使用的是DHCP方式来获取ip地址,所以我们可以在虚拟机上设置使用dhcp的方式来获取IP地址,CentOS的dhcp配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@leaf ~] # cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
HWADDR=00:0c:29:3b:4c:6d
TYPE=Ethernet
UUID=5ae16ecc-0149-487e-8dab-51afc75bd265
ONBOOT= yes
NM_CONTROLLED= yes
#BOOTPROTO=static
BOOTPROTO=dhcp
IPADDR=10.0.0.101
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=202.96.128.86
DNS2=202.96.128.166
IPV6INIT=no
USERCTL=no
PEERDNS= yes

    重启CentOS的网络服务:

1
2
3
4
5
6
7
[root@leaf ~] # /etc/init.d/network restart
Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  
Determining IP information  for  eth0...  done .
[  OK  ]

    再查看IP地址信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@leaf ~] # ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:3B:4C:6D  
           inet addr:192.168.1.106  Bcast:192.168.1.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe3b:4c6d /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:31386 errors:0 dropped:0 overruns:0 frame:0
           TX packets:15738 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:14467018 (13.7 MiB)  TX bytes:1726371 (1.6 MiB)
 
lo        Link encap:Local Loopback  
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1 /128  Scope:Host
           UP LOOPBACK RUNNING  MTU:16436  Metric:1
           RX packets:239 errors:0 dropped:0 overruns:0 frame:0
           TX packets:239 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:23198 (22.6 KiB)  TX bytes:23198 (22.6 KiB)

    这时可以测试宿主机与虚拟机的连通情况,在宿主机上ping虚拟机的IP地址:

wKiom1i1DGvTVWJKAACl0cLMD5A624.png

    或者在CentOS上ping宿主机:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@leaf ~] # ping 192.168.1.100
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=128  time =0.530 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=128  time =0.482 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=128  time =0.508 ms
64 bytes from 192.168.1.100: icmp_seq=4 ttl=128  time =0.579 ms
64 bytes from 192.168.1.100: icmp_seq=5 ttl=128  time =0.447 ms
64 bytes from 192.168.1.100: icmp_seq=6 ttl=128  time =0.448 ms
64 bytes from 192.168.1.100: icmp_seq=7 ttl=128  time =0.552 ms
64 bytes from 192.168.1.100: icmp_seq=8 ttl=128  time =0.220 ms
^C
--- 192.168.1.100  ping  statistics ---
8 packets transmitted, 8 received, 0% packet loss,  time  7352ms
rtt min /avg/max/mdev  = 0.220 /0 .470 /0 .579 /0 .107 ms

    因为虚拟机和宿主机都是在同一个局域网中,所以正常情况下它们肯定是可以互通的,当出现通信不正常的情况下,就需要注意看是否是因为开启了防火墙而把数据丢弃掉,所以在这些测试中,都 是建议把防火墙关掉的。

    上面的IP地址信息,对应到前面的原理图上,如下:

wKioL1i1DbTQAV4tAAFsZK1fF4A283.jpg    再将其用网络拓扑图来表示,就相当于:

wKioL1i1DeDCF_teAAEM7007D7Q761.jpg

    所以这样一来我们就很清楚,当VMware虚拟机使用桥接模式上网时,其背后的网络通信原理和细节的一个完整过程了。




4.下一步应该做什么


    上面对于虚拟机使用的是DHCP分配的地址的方式,实际用手动分配也是可以的,这时它一样可以和宿主机进行网络通信,可以自行测试一下。




5.在实际当中的应用


    首先第一点是,当我们的虚拟机出现网络问题的时候,都是需要先了解清楚网络的拓扑结构再进行网络排错的,所以上面的内容就为我们提供了非常好的理论与实践知识。

    另外,如果可以在理解这些网络知识的前提下再去搭建各种服务,做各种测试,可以让我们做到胸有成竹的一种状态,而不再是“雾里看花,水中望月”了,相应在这样的不断尝试中,我们的综合操作能力一定会变得更强。

    不过仍然需要说明的是,上面的图解仍然只是做参考,其中的很多细节都是需要了解VMware Workstation的网络虚拟化的细节才可以真正了解清楚的,但不管怎么说,上面的内容对于在网络通信上面,还是可以给我们带来很大的帮助的,真心希望可以帮到大家!

    由于能力和时间有限,如果发现有问题的,望及时指出。



本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1901987,如需转载请自行联系原作者

相关文章
|
2天前
|
大数据 Linux 虚拟化
OVA Import:一个最快速度打造Linux虚拟机的操作 | Linux vmware
OVA Import:一个最快速度打造Linux虚拟机的操作 | Linux vmware
8 0
|
3天前
|
存储 SQL 数据挖掘
服务器数据恢复—误删除VMware虚拟机vmdk文件的数据恢复案例
服务器数据恢复环境: 某大厂PS4000服务器,服务器上部署VMware ESXi虚拟化平台。 服务器故障: 机房断电,重启后服务器中的某台虚拟机不能正常启动。管理员查看虚拟机配置文件,发现无法启动的虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还存在。联系VMware原厂工程师进行诊断,VMware原厂工程师尝试新建一个虚拟机,但发现存储空间不足,于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除了。VMware工程师重新建了一个虚拟机,分配了固定大小的虚拟磁盘,为虚拟机安装了Window
服务器数据恢复—误删除VMware虚拟机vmdk文件的数据恢复案例
|
5天前
|
Shell Linux 开发工具
Vmware 虚拟机挂起恢复后发现无法 Ping 通,无法连接到主机
在Linux主机上,以`root`用户停止NetworkManager服务并重启网络: ```shell systemctl stop NetworkManager systemctl restart network ``` 或修改网卡配置文件`ifcfg-ens33`,添加`NM_CONTROLLED="no"`,然后重启`network`服务: ```shell vim /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network ```
|
17天前
|
网络协议 Linux 网络安全
虚拟机Vmware详细安装(包含kali,win7与winxp三系统相互ping与安装)
本文是一篇关于虚拟机安装和配置的教程,包括使用VMware安装虚拟机和在虚拟机中安装Kali Linux、Windows 7和Windows XP系统。作者提供了详细的步骤和截图说明,指导读者如何下载和安装VMware,以及如何从提供的链接下载预配置的操作系统镜像文件。安装过程中,重点介绍了如何选择安装路径、接受许可协议、启动安装过程,并强调了不要勾选某些选项以保持默认设置。此外,还提到了如何在虚拟机中配置网络,确保三个系统在同一网段并能互相ping通。最后,作者布置了一些练习,如熟悉操作系统的使用、获取IP地址和互相通信,以及鼓励读者享受学习网络安全的过程。
93 9
|
17天前
|
存储 Linux 虚拟化
虚拟机(vmware)中安装linux系统
虚拟机(vmware)中安装linux系统
|
17天前
|
虚拟化
vmware克隆虚拟机后没有ip地址的问题
解决vmware克隆虚拟机后没有内网ip的问题
|
17天前
|
SQL 存储 数据挖掘
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
虚拟机数据恢复环境: 某品牌R710服务器+MD3200存储,上层是ESXI虚拟机和虚拟机文件,虚拟机中存放有SQL Server数据库。 虚拟机故障: 机房非正常断电导致虚拟机无法启动。服务器管理员检查后发现虚拟机配置文件丢失,所幸xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。服务器管理员在尝试恢复虚拟机的过程中,将原虚拟机内的xxx-flat.vmdk删除后新建了一个虚拟机,并分配了精简模式的虚拟机磁盘和快照数据盘,但原虚拟机内的数据并没有恢复。
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
|
17天前
|
Linux 虚拟化 数据安全/隐私保护
VMware使用 - 虚拟机克隆
如果已经安装了一台Linux操作系统,没有必要重新安装,只需要克隆就可以了,有两种方式。
32 0
|
17天前
|
Linux 虚拟化 数据安全/隐私保护
【Linux】VMware安装虚拟机- Windows + Linux
【1月更文挑战第20天】【Linux】VMware安装虚拟机- Windows + Linux
|
17天前
|
算法 虚拟化 C++
VMware虚拟机无法自适应和拖拽复制粘贴和共享目录问题
VMware虚拟机无法自适应和拖拽复制粘贴和共享目录问题
157 0