物理机环回网卡桥接VMware虚拟机实现主机通信

原理简述


如上图所示,VMnet0充当着“桥”的角色,将虚拟机的eth0和物理机的环回网卡(Loopback)连接起来,使得物理机和虚拟机之间实现了物理层面上的连通,相当于你在实际应用中将两台电脑通过双绞线连接起来。

从图中可以发现,虚拟机的IP地址为物理机的网关,而虚拟机的网关为物理机的IP地址,两者之间通过设置互置网关来实现虚拟机和物理机之间的数据通信。

  • 通信过程简述

物理机要通过终端模拟软件(Secure CRT、Xshell)登录VMware虚拟机,向虚拟机发送请求数据包,物理机会将请求数据包发给物理机的网关(1.1.1.1),即发送至虚拟机,虚拟机收到物理机发来的请求数据包后,处理请求,然后将响应数据包发送给虚拟机的网关(1.1.1.2),即返回给物理机,这样便实现了虚拟机和物理机之间的数据通信。

详细配置步骤


添加环回网卡(Loopback)设备

  1. 单击开始菜单,在搜索栏中输入“hdwwiz”,回车

或者按Win键+R,在运行窗口中输入“hdwwiz”回车

说明
hdwwiz仅限win7及以上windows版本使用,Windows XP用户可以在控制面板中通过”添加硬件”来添加Loopback环回网卡

  1. 在弹出的添加硬件向导窗口中单击“下一步

  1. 选择“安装我手动从列表选择的硬件(高级)(M)”,然后单击“下一步

  1. 选择“网络适配器”,然后单击“下一步

  1. 厂商选择“Microsoft”,网络适配器选择“Microsoft Loopback Adapter”,然后单击“下一步

说明
如果你是Win8系统,网络适配器选的名称就不叫“Microsoft Loopback Adapter”,叫做“XXXX环回适配器

  1. 单击“下一步

  1. 当弹出如下窗口时,说明你的环回网卡设备(Loopback)已经添加成功,单击“完成”关闭窗口

配置环回网卡

  1. 打开“网络

说明
如果你的桌面上没有网络这个图标怎么办?

  1. 在桌面右键单击—>选择“个性化”
  2. 选择“更改桌面图标”
  3. 勾选“网络”选项,然后单击“确定”

说明
也可直接通过控制面板进入,详细步骤这里不再赘述

  1. 单击“网络与共享中心

  1. 单击“更改适配器设置

  1. 找到刚才添加的“Microsoft Loopback Adapter”,右键单击,选择“属性

说明
在我的电脑上这块设备叫做“本地连接2“,具体名称在操作的时候根据自己电脑的情况来选择

  1. 在弹出的“本地连接2 属性”窗口中选择“Internet协议版本 4 (TCP/Ipv4)”,然后选择“属性

  1. 在弹出的“Internet协议版本 4 (TCP/Ipv4) 属性”窗口中选择“使用下面的IP地址(s)”,并手动设置IP地址、子网掩码、默认网关,然后单击“确定”,最后单击“关闭

配置虚拟网络编辑器

  1. 打开Vmware,在“编辑”选项卡中选择“虚拟网络编辑器

  1. 在弹出的“虚拟网络编辑器”窗口中选择任意一块网卡(我选择的是VMnet0),将此块网卡的“VMnet”信息设置为桥接模式,并桥接到之前添加的“Microsoft Loopback Adapter”设备上,设置完毕后单击“确定

配置虚拟机网卡工作模式

  1. 对虚拟机选项卡右键单击,选择“设置

  1. 在弹出的“虚拟机设置”窗口中选择“网络适配器”,将“网络连接”设置为“自定义(U):特定虚拟网络”,并选择为之前设置的桥接到“Microsoft Loopback Adapter”设备上的VMnet0,然后单击“确定

配置虚拟机的IP地址和网关

  1. 登录虚拟机,右键单击桌面右上角的电脑图标,选择“Edit Connections”

  1. 在弹出的“Network Connections”窗口中选择“System eth0”设备,然后单击“Edit…

  1. 在弹出的“Editing System eth0”窗口中选择“Ipv4 Setting”选项卡,将“Method”设置为“Manual”,然后单击“Add”按钮,手动分配虚拟机的IP地址、子网掩码、网关

说明
此处设置的虚拟机IP地址对应于物理机(真机)的网关,虚拟机网关对应于物理机(真机)的IP,子网掩码相同

  1. 单击“Apply…”,最后单击“Close

启动eth0

  1. 选择“Applications” > “System Tools” > “Terminal”打开终端

  1. 在终端中执行ifup eth0命令

  1. 如果没有任何报错,或者桌面右上角的电脑图标上的叉号消失了说明启动成功。此时可以通过执行ifconfig来查看虚拟机IP

在物理机上通过终端模拟软件(Secure CRT)登录虚拟机

  1. 打开secure CRT,选择“文件”选项卡里的“快速连接

  1. 在弹出的“快速连接”窗口中输入“主机名”(即虚拟机IP)和“用户名”(此处我以root用户登录),然后单击“连接

  1. 如果可以顺利连接,首次登录会弹出一个“新建主机密钥”的窗口,单击“接受并保存(S)

  1. 在弹出的“输入安全外壳密码”窗口中输入用户密码(用哪个用户登录就输对应用户的登录密码),然后单击“确定

  1. 如果弹出以下窗口,单击“确定”即可

  1. 如果出现如下命令提示符,说明已经登录成功!!>_<