VMware虚拟机网络技术

网卡(NIC)

网卡负责在主机内存与网络介质之间高效、可靠地完成以太网帧的封装/解封装与数据传输,并通过硬件卸载与 DMA 实现高速网络 I/O。简单来说就是物理层数据传输的硬件。

例如以太网网卡,也就是我们正常上网所用到的网卡设备,与外界交互的媒介:

虚拟网卡

虚拟网卡是由虚拟化平台在软件层面模拟的 NIC,它在虚拟机与虚拟交换机之间承担以太网帧的收发,并通过主机内核与实际物理网卡桥接、NAT 或直通,从而让虚拟机像独立主机一样参与网络通信。简单说就是,计算机通过软件技术实现了虚拟网卡,当你在计算机中安装了虚拟机时,则可以通过该网卡连接到虚拟机,目的就是让两者在同一个局域网内。

虚拟网络设置

前提:当我们使用VMware Workstation软件创建虚拟器时,该软件会虚拟出来虚拟NAT(路由器核心功能)虚拟交换机两个核心虚拟硬件,目的将虚拟机形成一个局域网。

VMnet1(Host-Only)用于虚拟机与主机通信,vmnet8(NAT)实现虚拟机通过主机共享上网,vmnet0(桥接)直接连接物理网络,NAT模式下虚拟机可访问外网,Host-Only仅限内部通信,桥接需独立IP及网络配置,适用于不同网络需求场景

vmnet1和vmnet8是两个虚拟网卡,主要作用是让虚拟机可以通过我们的宿主机的网线上网

  • vmnet1网卡是host-only方式服务,设置私有网络(Host only)时,虚拟机通过该网卡和主机进行通信

  • vmnet8网卡是为NAT方式服务,用于虚拟机和主机通讯使用。如果禁用,虚拟机在NAT模式下仍能和通过主机网卡访问外网,但不能通过内部网络和主机进行通信。

  • 使用桥接网络,即vmnet0,则不需要这两个网卡了

在桥接模式下,虚拟交换机会直接连接(共享)宿主机的物理网卡,也就是说将虚拟机都当成了真实的物理机器,此时宿主机和虚拟机都在真实的局域网环境下,公用路由器设备来进行网络通讯,因此使用不到虚拟网卡

该方式因为虚拟机就是在宿主机的局域网下,因此虚拟机的IP设定,必须与其在同一个网段下(因为都在一个网关下)

配置虚拟机的网络地址,我这里使用静态配置模式,不使用DCHP。文件:/etc/sysconfig/network-scripts/ifcfg-eth0

复制代码
ifcfg-eth0:以太网网卡配置文件
ifcfg-lo:回环网卡配置文件,即本机访问(127.0.0.1)时,使用到的回环网卡,即通过回环接口机制来通信,不走网络

连接测试:WAN通信

连接测试2:与宿主机通信

优缺点

**优点:桥接模式提供了最直接、最强大的网络连接能力,**该模式下虚拟机与物理主机、局域网内其他物理机完全平等,拥有独立的IP地址和MAC地址,可以进行完美的局域网内互访,配置简单,几乎不受网络服务类型的限制。

**缺点:**虚拟机本身作为局域网的一员,占用局域网IP资源,在IP不足的情况下则无法使用更多的虚拟机,此时引入了NAT模式

模式2:NAT模式

该模式下虚拟器软件会创建虚拟NAT、虚拟DHCP服务器虚拟交换机,虚拟机会接入这些虚拟交换机设备,形成一个私有的局域网与宿主机局域网独立:

  • 虚拟机通过虚拟NAT来完成外界的网络通信,而虚拟NAT连接 共享 了真实的网卡设备,来实现WAN通信。

  • 宿主机通过vmnet8网卡连接到虚拟交换机,来实现宿主机与虚拟机的通信

虚拟机接入模式设定为VMNet8 NAT模式

虚拟网络编辑器,即配置虚拟NAT的信息

因为现在虚拟机在一个独立的虚拟局域网中,所以我们需要完成虚拟NAT(类似于路由器)的配置,例如子网IP(明确网段),子网掩码(确定网络段),网关地址,因为虚拟局域网是完全独立的,因此网关完全可以与真实局域网不同

虚拟机IP设定,需要在虚拟NAT配置的网段下

测试1:连接外网

测试2:宿主机连接虚拟机,此时我们通过外部连接工具来测试

我们上面说到宿主机是通过VMNet8网卡与虚拟机通信的,我们可以尝试将宿主机虚拟网卡禁用,则无法连接

优缺点

优点

  • 极高的安全性:外部网络无法直接访问虚拟机,减少局域网攻击面,不受ARP欺骗等局域网攻击影响。

  • 不消耗物理IP资源

  • 主机离线时仍可通信:即使主机断开外部网络,虚拟机和主机之间仍可通信

缺点:

  • 外部访问困难:外部设备不能直接连接到虚拟机,即虚拟机可以访问局域网设备,但局域网设备默认无法访问虚拟机

  • 不支持某些协议:依赖多播/广播的协议可能工作不正常

模式3:直接模式

该模式是宿主机通过VMnet1网卡直接连接到虚拟交换机,不使用到虚拟NAT,因此此时宿主机可以与虚拟机交互,但是因为没有使用到NAT,因此虚拟机无法上网,只能局域网通信

如果在无需上网的场景下,该方式最为直接,例如本地软件服务测试等

配置虚拟机镜像中的DNS服务器

/etc/resolv.conf 和宿主机保持一致

配置DNS信息

/etc/sysconfig/network-scripts/ifcfg-eth0

相关推荐
敷衍一下X1 小时前
Linux综合监控工具——nmon
linux·运维·服务器
Filotimo_1 小时前
5.1 计算机网络概述与网络硬件基础
网络
i建模1 小时前
Ubuntu Node.js 升级方案
linux·运维·ubuntu·node.js
2401_832298101 小时前
域名绑定怎么操作?服务器绑定域名失败的解决方法个人网站怎么绑定域名详细步骤教程
运维·服务器
顶点多余2 小时前
进程:计算机世界的执行单元
linux·运维·服务器·进程
素心如月桠2 小时前
IT-如何连接共享打印机
linux·服务器·网络
张毫洁2 小时前
解决虚拟机ip不见的问题
linux·服务器·网络
芒果披萨2 小时前
Linux目录详解
linux·运维·服务器