记一次VMware虚拟机(BC-linux)网络配置过程
记一次虚拟机网络配置过程(从别处拷贝的BC-linux环境),主要记录以下内容:
- NAT模式的配置
- 配置后网络未通解决过程
- 虚拟机网络连接类型的异同和应用场景
- Linux网卡类型(由于BC-linux是基于CentOS定制开发的,与CentOS一样)
文章目录
- 一、NAT模式配置
- (一)宿主机VMnet8网络适配器配置
- 步骤1:打开宿主机网络连接设置
- 步骤2:配置VMnet8虚拟网卡
- (二)VMware端NAT网络配置
- (三)linux虚拟机网络适配器设置
- (四)linux系统网络配置(设置为静态IP)
- 静态IP配置
- 二、配置后网络未通解决过程
- 更新连接配置的MAC地址
- 三、虚拟机网络连接类型的异同和应用场景
- (一)各模式核心对比总表
- (二)各模式深度拆解
- 1. 桥接模式(Bridged):虚拟机=“独立物理机”
- 2. NAT模式:虚拟机“共享宿主机IP”访问外网
- 3. 主机模式(Host-Only):虚拟机与宿主机“私有互通”
- 4. 自定义模式(Custom):灵活选择“虚拟交换机”
- 5. LAN区段(LAN Segment):虚拟机间“完全隔离的私有网络”
- (三)核心异同总结
- 1. 共性
- 2. 核心差异(按“隔离程度”排序)
- (四)模式选择建议
- 四、linux网卡类型介绍
- 1. 各网卡的作用
- 2. 结论:用哪个网卡通信?
一、NAT模式配置
(一)宿主机VMnet8网络适配器配置
在配置VMware虚拟网络前,需确保宿主机的VMnet8虚拟网卡已正确启用:
步骤1:打开宿主机网络连接设置
- Windows系统:
- 右键点击任务栏网络图标 → 选择「网络和Internet设置」。
- 点击「更改适配器选项」,找到名为「VMware Network Adapter VMnet8」的网络连接。
步骤2:配置VMnet8虚拟网卡
- 右键「VMware Network Adapter VMnet8」→ 选择「属性」。
- 双击「Internet协议版本4 (TCP/IPv4)」。
- 配置如下(需与后续VMware虚拟网络编辑器设置一致):
- 勾选「使用下面的IP地址」:
- IP地址:
192.168.206.1
(在第二步中NAT网关为192.168.0.2,这里保持同一网段) - 子网掩码:
255.255.255.0
- IP地址:
- 勾选「使用下面的IP地址」:
- 点击「确定」保存设置。
(二)VMware端NAT网络配置
-
打开VMware,点击顶部菜单栏 “编辑”→“虚拟网络编辑器”(若提示需要管理员权限,点击“更改设置”)。
-
在虚拟网络编辑器中:
- 选择 “VMnet8”(确保与宿主机VMnet8适配器对应)。
- 取消勾选「使用本地DHCP服务将IP地址分配给虚拟机」(若后续需要手动配置静态IP,此处可先取消;动态IP则保持勾选)。
- 点击「NAT设置」:
- 我这里已经配置了,网关IP为
192.168.206.2
(需与宿主机VMnet8网段一致,且不冲突)。 - 其他保持默认,点击“确定”返回。
- 我这里已经配置了,网关IP为
-
点击虚拟网络编辑器的“确定”按钮,完成配置。
(三)linux虚拟机网络适配器设置
- 选中linux虚拟机,点击 “虚拟机”→“设置”。
- 在“硬件”选项卡中选择 “网络适配器”:
- 勾选 “已连接” 和 “启动时连接”。
- 网络连接选择 “自定义”→“VMnet8 (NAT模式)”。
- 点击“确定”保存。
(四)linux系统网络配置(设置为静态IP)
静态IP配置
编辑配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
二、配置后网络未通解决过程
在配置好以上NAT模式后,主机和虚拟机依旧无法ping通,上述配置过程整个检查一遍,未发现异常。经查询,可尝试重启网络服务使配置生效
# 先关闭网卡
sudo ifdown ens33
# 再启动网卡(会加载新配置)
sudo ifup ens33
在运行sudo ifup ens33时,发现提示出错:
图片中的错误提示 Error: Connection activation failed: No suitable device found for this connection (device ens33 not available because device profile is not compatible with device (permanent MAC address doesn’t match)). 表明激活连接失败,原因是设备配置文件与设备不兼容(永久 MAC 地址不匹配)
更新连接配置的MAC地址
-
查看网卡实际的MAC地址:
执行命令ip link show ens33
,在输出中找到link/ether
后面的内容,这就是网卡实际的MAC地址。这时已经感觉到MAC地址跟配置文件中的不一样。
-
编辑网络连接配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将mac地址改为前面查到的mac地址。
3. 重新加载网络连接并启动:
执行 sudo nmcli connection reload
重新加载配置文件,然后执行 sudo nmcli connection up ens33
尝试启动连接。
4. 测试能否ping通
Ping测试发现网络已通,泪目!
三、虚拟机网络连接类型的异同和应用场景
虚拟机的网络连接模式决定了其与宿主机、其他虚拟机及外部网络的通信方式,不同模式适用于不同场景(如开发测试、隔离环境、多机互联等)。以下从核心原理、网络互通性、IP配置、适用场景四个维度,系统梳理常见的5种网络模式及其异同。
(一)各模式核心对比总表
先通过总表快速掌握关键差异,后续再逐一拆解细节:
对比维度 | 桥接模式(Bridged) | NAT模式(Network Address Translation) | 主机模式(Host-Only) | 自定义模式(Custom) | LAN区段(LAN Segment) |
---|---|---|---|---|---|
核心原理 | 虚拟机直接接入宿主机所在物理网络,相当于“独立物理设备” | 宿主机作为“路由器”,虚拟机共享宿主机IP访问外网,外网无法直接访问虚拟机 | 仅在宿主机内创建“私有网络”,虚拟机与宿主机互通,不连外网 | 手动选择宿主机已配置的“虚拟交换机”,灵活适配网络需求 | 在虚拟机间创建“独立私有网段”,与宿主机/外网完全隔离 |
与宿主机互通 | ✅ 互通(同网段) | ✅ 互通(通过虚拟网卡) | ✅ 互通(私有网段内) | 取决于所选虚拟交换机(通常互通) | ❌ 完全隔离 |
与其他虚拟机互通 | ✅ 互通(同物理网段) | ✅ 互通(同NAT网段) | ✅ 互通(同Host-Only网段) | 取决于所选虚拟交换机(同交换机则互通) | ✅ 同区段内互通,跨区段隔离 |
访问外部网络 | ✅ 可直接访问(同宿主机网络权限) | ✅ 可访问(共享宿主机IP,需虚拟机软件默认配置) | ❌ 不可访问(默认无路由) | 取决于所选虚拟交换机(连“桥接/ NAT交换机”则可访问) | ❌ 不可访问(无外网路由) |
外部网络访问虚拟机 | ✅ 可直接访问(需虚拟机IP,同物理网段) | ❌ 不可直接访问(需手动配置端口映射) | ❌ 不可访问(无外网暴露) | 取决于所选虚拟交换机(桥接模式可访问,NAT需端口映射) | ❌ 不可访问(完全隔离) |
IP配置方式 | 手动配置(同物理网段)或DHCP自动获取(物理路由器分配) | 默认DHCP(虚拟机软件的DHCP服务分配,如192.168.159.x) | 默认DHCP(虚拟机软件的DHCP服务分配,如192.168.137.x) | 取决于虚拟交换机(DHCP或静态) | 需手动配置静态IP(无DHCP服务) |
典型适用场景 | 需虚拟机作为“独立设备”(如服务器测试、多机集群模拟) | 单虚拟机访问外网(如日常开发、临时上网) | 隔离环境测试(如病毒分析、不联网的内部服务) | 复杂网络架构(如同时连多个虚拟交换机、自定义路由) | 完全隔离的多机集群(如无网络依赖的分布式测试) |
(二)各模式深度拆解
1. 桥接模式(Bridged):虚拟机=“独立物理机”
- 原理:虚拟机的虚拟网卡直接“桥接”到宿主机的物理网卡上,相当于在物理网络中新增了一台独立设备(与宿主机、路由器在同一网段)。
例:宿主机IP为192.168.1.100
(路由器分配),虚拟机可通过DHCP获取192.168.1.101
,此时路由器、宿主机、虚拟机三者互通。 - 关键特点:
- 虚拟机与宿主机、物理网络内的其他设备(如手机、其他电脑)完全互通;
- 外部网络(如同一局域网的其他电脑)可直接通过虚拟机IP访问它(如访问虚拟机上的Web服务);
- 需确保物理网络有DHCP服务(如路由器),或手动给虚拟机配置与物理网段一致的IP(否则无法联网)。
- 注意:若宿主机切换网络(如从有线切无线),虚拟机需重新配置桥接的网卡(否则网络会断开)。
2. NAT模式:虚拟机“共享宿主机IP”访问外网
- 原理:虚拟机软件(如VMware、VirtualBox)在宿主机内创建一个“虚拟NAT设备”和“虚拟交换机”:
- 虚拟机连接到该虚拟交换机,获取“私有网段IP”(如VMware默认
192.168.159.x
); - 宿主机通过“虚拟NAT设备”将虚拟机的网络请求“转发”到物理网卡,实现外网访问(相当于宿主机是虚拟机的“路由器”)。
- 虚拟机连接到该虚拟交换机,获取“私有网段IP”(如VMware默认
- 关键特点:
- 虚拟机可访问外网(如浏览网页、下载文件),但外网无法直接访问虚拟机(NAT设备会屏蔽外部主动请求);
- 若需外网访问虚拟机(如远程连接),需手动配置“端口映射”(例:将宿主机
192.168.1.100:3389
映射到虚拟机192.168.159.101:3389
,通过宿主机IP+端口访问虚拟机); - IP由虚拟机软件自带的DHCP服务分配,无需手动配置,适合“即开即用”的场景。
3. 主机模式(Host-Only):虚拟机与宿主机“私有互通”
- 原理:虚拟机软件在宿主机内创建一个“Host-Only虚拟交换机”和“虚拟网卡”(如VMware的
VMnet1
),仅允许虚拟机与宿主机在该私有网段内通信,不连接物理网络。
例:宿主机的Host-Only虚拟网卡IP为192.168.137.1
,虚拟机获取192.168.137.101
,二者可互访,但均无法访问外网。 - 关键特点:
- 完全隔离外部网络,适合“安全测试”(如分析可疑文件、测试病毒,避免影响物理网络);
- 若需让虚拟机访问外网,需手动给宿主机配置“路由转发”(如Windows开启ICS共享、Linux配置iptables),但操作较复杂,非默认功能;
- 多台Host-Only模式的虚拟机在同一网段内可互访(如模拟小型内部集群)。
4. 自定义模式(Custom):灵活选择“虚拟交换机”
- 原理:虚拟机软件默认会创建多个虚拟交换机(如VMware的
VMnet0
=桥接、VMnet1
=Host-Only、VMnet8
=NAT),“自定义模式”允许用户手动选择虚拟机连接到哪个虚拟交换机,甚至使用自己创建的虚拟交换机。 - 关键特点:
- 本质是“模式的灵活组合”,而非独立模式:选择
VMnet0
则等同于桥接模式,选择VMnet8
则等同于NAT模式; - 适合复杂网络场景:例如创建两个虚拟交换机,一个连外网(NAT),一个连内部隔离网络(Host-Only),虚拟机可同时连接两个交换机(双网卡),实现“内外网同时访问”。
- 本质是“模式的灵活组合”,而非独立模式:选择
5. LAN区段(LAN Segment):虚拟机间“完全隔离的私有网络”
- 原理:用户手动创建一个“LAN区段”(相当于一个独立的“虚拟局域网”),将多台虚拟机加入该区段,这些虚拟机仅能在区段内互访,与宿主机、物理网络、其他LAN区段完全隔离。
- 关键特点:
- 无DHCP服务:需手动给每台虚拟机配置同一网段的静态IP(例:虚拟机A
192.168.200.1
,虚拟机B192.168.200.2
),否则无法互通; - 极致隔离:适合“完全独立的多机测试”(如模拟银行内网、无网络依赖的分布式系统),避免任何外部干扰;
- 多区段隔离:可创建多个LAN区段(如“区段1”“区段2”),不同区段的虚拟机无法互通。
- 无DHCP服务:需手动给每台虚拟机配置同一网段的静态IP(例:虚拟机A
(三)核心异同总结
1. 共性
- 均依赖虚拟机软件创建的“虚拟网卡”和“虚拟交换机”实现网络通信;
- 除LAN区段外,其他模式均支持虚拟机与宿主机互通(或通过配置实现互通);
- 多台虚拟机若在同一“虚拟交换机/区段”内,默认均可互访。
2. 核心差异(按“隔离程度”排序)
隔离程度 | 模式 | 核心差异点 |
---|---|---|
最低(完全接入物理网) | 桥接模式 | 虚拟机是物理网络的“独立设备”,外网可直接访问,无隔离 |
中等(共享宿主机IP) | NAT模式 | 虚拟机可访问外网,但外网无法直接访问(需端口映射),与物理网半隔离 |
较高(仅宿主机互通) | 主机模式 | 仅与宿主机互通,与物理网完全隔离,需手动配置才能访问外网 |
灵活隔离(按需选择) | 自定义模式 | 隔离程度取决于所选虚拟交换机(桥接=低隔离,Host-Only=高隔离) |
最高(完全私有) | LAN区段 | 仅同区段虚拟机互通,与宿主机、物理网完全隔离,无DHCP,需手动配IP |
(四)模式选择建议
- 开发测试(需虚拟机对外提供服务):选桥接模式(如测试Web服务器、数据库,其他设备可直接访问);
- 日常使用(仅需虚拟机上网):选NAT模式(无需配置IP,即开即用,不占用物理网段IP);
- 安全测试(需隔离外网):选主机模式(如分析病毒、测试高危程序,避免影响物理网络);
- 复杂网络(多网卡/多网段):选自定义模式(如虚拟机同时连外网和内部隔离网);
- 独立集群(无网络依赖):选LAN区段(如模拟分布式系统,仅集群内互通,完全隔离外部)。
四、linux网卡类型介绍
通过nmcli device status
命令查看,常见的网卡类型:ens33、virbr0、lo、virvr0-nic
以下是对各个网卡的作用说明及通信场景的对应关系:
1. 各网卡的作用
-
lo
(回环接口):
仅用于虚拟机内部的本地通信(如ping 127.0.0.1
),无法用于与主机或外部网络通信,可直接排除。 -
virbr0
和virbr0-nic
:
这是虚拟机软件(如KVM、libvirt)默认创建的虚拟桥接网卡,用于“仅主机模式”或“私有网络”,通常对应网段为192.168.122.x
。- 仅当虚拟机使用“仅主机模式”时,才通过这两个网卡与主机的虚拟网卡(如
vmnet1
)通信。 - 若你配置的是桥接模式或NAT模式,这两个网卡通常不参与与主机的通信。
- 仅当虚拟机使用“仅主机模式”时,才通过这两个网卡与主机的虚拟网卡(如
-
ens33
(或类似命名,如eth0
):
这是虚拟机的主网络接口,通常对应虚拟机的“桥接模式”或“NAT模式”,是与主机通信的核心网卡:- 若使用桥接模式:
ens33
会直接桥接到主机的WiFi/有线网卡,获取与主机同网段的IP(如192.168.3.x
),通过此网卡与主机通信。 - 若使用NAT模式:
ens33
会通过虚拟机的NAT网关(如192.168.200.x
网段)与主机的虚拟网卡(如vmnet8
)通信。
- 若使用桥接模式:
2. 结论:用哪个网卡通信?
-
优先使用
ens33
(或主网络接口):
无论你使用桥接模式(推荐,与主机同WiFi网段)还是NAT模式,ens33
都是虚拟机与主机通信的主要接口。- 验证方法:执行
ip addr show ens33
,查看其IP是否与主机在同一网段(桥接模式)或属于NAT网段(如192.168.200.x
,NAT模式)。
- 验证方法:执行
-
virbr0
仅用于特定场景:
只有当你明确配置了“仅主机模式”时,才会使用virbr0
与主机通信(此时IP通常为192.168.122.x
)。