胡松的技术博客
站内搜索
切换语言中文
打开菜单

VMware 中为 openEuler 配置静态 IP(桥接模式)

在 VMware 桥接模式下为 openEuler 24.03 配置静态 IP:网络规划、nmcli 与 ifcfg 两种做法、验证步骤与排错表,并附 NAT 与仅主机模式的快速模板。

8 分钟阅读
目录23 节
文档版本 适用环境 最后更新
1.2 VMware Workstation 16/17 + openEuler 24.03 LTS SP3 2026-06-14

摘要

本文档面向需要在VMware虚拟化环境中为openEuler 24.03 LTS SP3虚拟机配置静态IP地址的系统管理员和运维人员。文档以桥接模式为典型场景,详细说明从环境准备、网络规划,到使用nmcli命令行工具与传统ifcfg文件两种主流配置方法的完整流程,并提供验证步骤、常见问题排错指南以及其他网络模式的快速配置模板。通过遵循本指南,用户可以彻底解决DHCP动态分配导致的IP地址漂移问题,使虚拟机像物理机一样独立接入局域网,为服务器运维、集群搭建及远程SSH管理提供稳定的网络访问地址。

1. 概述

在VMware虚拟化环境中部署openEuler 24.03 LTS SP3后,若采用桥接模式,虚拟机将直接接入宿主机所在的物理局域网,获得与物理网络平等的地位。默认网络配置为DHCP动态获取IP,但对于需要固定访问地址的场景(如服务器运维、集群搭建、远程SSH管理),必须将虚拟机网络配置为静态IP。本文档以桥接模式为标准场景,提供配置流程、验证方法及排错指南。

2. 软硬件环境与基础设施

2.1 硬件环境

宿主机最低配置(物理机)

组件 要求
CPU x86_64架构,支持虚拟化技术(Intel VT-x / AMD-V)并已在BIOS中启用
内存 ≥ 8GB(可用内存 ≥ 4GB用于虚拟机)
磁盘 ≥ 50GB空闲空间(建议SSD)
网络连接 宿主机已通过有线或无线方式连接到目标物理局域网

虚拟机推荐配置

组件 建议值 说明
CPU 2核心 可满足日常服务与编译需求
内存 4GB openEuler最小安装2GB,GUI或服务较多时建议4GB及以上
磁盘 20GB(系统盘) 如需存放大量数据可另行挂载数据盘
网络适配器 1个,桥接模式 本文以桥接模式为例,虚拟机与宿主机处于同一物理网络
虚拟网络 VMnet0(默认桥接) 由VMware虚拟网络编辑器管理,自动桥接到宿主机物理网卡

2.2 软件环境

组件 版本/说明
宿主机操作系统 Windows 10/11或Linux(本文以Windows为例,操作通用)
虚拟化平台 VMware Workstation 16 Pro / 17 Pro或VMware Player
虚拟机操作系统 openEuler 24.03 LTS SP3(x86_64)
内核版本 6.6.x(系统自带,SP3与SP2内核版本可能相同)
网络管理服务 NetworkManager(默认运行)
工具包 network-scripts(如使用传统ifcfg方式,需单独安装)

注意:openEuler 24.03 LTS SP3默认已安装并启用NetworkManager,推荐优先使用nmcli命令行工具进行网络配置。传统ifcfg文件方式依赖network-scripts包,该包在最小化安装中可能缺失,可按需通过dnf install network-scripts -y补充。

3. 网络规划(以桥接模式为例)

参数 来源/说明
网络模式 桥接 虚拟机直接连接到宿主机所在的物理局域网,与物理机平等
物理网络网段 192.168.1.0/24 根据实际物理网络环境设定,本例假设局域网为192.168.1.0/24
子网掩码 255.255.255.0 同子网默认掩码
网关地址 192.168.1.1 物理路由器的IP地址,即物理局域网的默认网关
静态IP 192.168.1.60 自行选择一个未被占用的IP地址,需与物理网络在同一网段
DNS服务器 192.168.1.1或公共DNS 可优先使用路由器自带的DNS转发,也可直接指定公共DNS(如8.8.8.8)

如何查看物理网络网关和网段

  • Windows宿主机:打开命令提示符,执行ipconfig,查看“默认网关”和“IPv4地址”,网段通常由IP地址和子网掩码推算。
  • Linux宿主机:在终端执行ip route | grep defaultifconfig,查看默认网关和本机IP。

桥接模式下,虚拟机的网关和网段必须与宿主机完全相同。请提前确认局域网内可用的静态IP地址,避免冲突。

4. 配置静态IP

4.1 前期检查(在openEuler虚拟机中执行)

# 1. 查看当前网卡名称(如ens33、ens160)
ip a

# 2. 确认NetworkManager运行状态
systemctl status NetworkManager

记录网卡名(本例为ens33),后续所有操作均基于此名称。

4.2 方法一:nmcli命令行配置(推荐)

4.2.1 查看当前连接

nmcli con show

输出中NAME列即为网络连接名,通常与网卡名相同(如ens33)。

4.2.2 设置静态IP、网关与DNS(桥接模式)

# 设置静态IP和子网掩码(CIDR 格式,根据实际网段调整)
nmcli con mod ens33 ipv4.addresses 192.168.1.60/24

# 设置默认网关(物理路由器地址)
nmcli con mod ens33 ipv4.gateway 192.168.1.1

# 设置DNS服务器(本例使用路由器自身DNS及公共DNS)
nmcli con mod ens33 ipv4.dns "192.168.1.1,8.8.8.8"

# 将获取方式改为手动(静态)
nmcli con mod ens33 ipv4.method manual

# 禁用再启用连接,使配置生效
nmcli con down ens33 && nmcli con up ens33

一条命令完成全部配置

nmcli con mod ens33 ipv4.addresses 192.168.1.60/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "192.168.1.1,8.8.8.8" \
  ipv4.method manual
nmcli con down ens33 && nmcli con up ens33

4.3 方法二:修改ifcfg配置文件(传统方式)

4.3.1 确保必要软件包已安装

openEuler 24.03最小化安装可能不含network-scripts,执行:

sudo dnf install network-scripts -y

4.3.2 编辑网卡配置文件

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改或新增以下内容:

TYPE=Ethernet
BOOTPROTO=static           # 静态IP
NAME=ens33
DEVICE=ens33
ONBOOT=yes                 # 开机自动激活
IPADDR=192.168.1.60
PREFIX=24                  # 等价于NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

4.3.3 重启网络服务

# 若系统使用NetworkManager管理(推荐)
sudo systemctl restart NetworkManager

# 若使用传统的network服务(不推荐混用)
# sudo systemctl restart network

提示:openEuler 24.03 LTS SP3默认由NetworkManager接管网络,重启NetworkManager即可使ifcfg文件中的配置生效。若同时启用network服务可能导致冲突,建议保持仅使用NetworkManager。

5. 验证配置

依次执行以下命令,确认网络连通性:

# 1. 查看指定网卡的IP地址
ip a show ens33

# 2. 测试与网关(路由器)的连通性
ping -c 4 192.168.1.1

# 3. 测试与外网的连通性(公网IP)
ping -c 4 8.8.8.8

# 4. 测试域名解析
ping -c 4 baidu.com

若所有测试均成功返回响应,建议执行重启测试以确保配置持久化:

sudo reboot

重新登录后,再次运行ip a show ens33ping -c 4 192.168.1.1,确认静态IP在重启后依然生效。

6. 常见问题与排错

现象 可能原因 解决方法
ping网关不通 VMware桥接模式未正确桥接到活动物理网卡;IP地址不在同一网段;网关地址填写错误 检查VMware虚拟网络编辑器中VMnet0是否桥接到正确的宿主机物理网卡(有线/无线);确保IP、网关与物理网络一致
无法解析域名 DNS配置错误或路由器DNS服务异常 使用nmcli con mod ens33 ipv4.dns "8.8.8.8"直接设置公共DNS;检查宿主机是否可正常上网
重启后IP恢复为动态 连接未设置为manual模式,或ONBOOT=no 检查ipv4.method是否为manual;若使用ifcfg文件,确保BOOTPROTO=staticONBOOT=yes
配置后SSH连接断开 虚拟机IP已变更 使用新配置的静态IP地址重新SSH连接
network-scripts包缺失 openEuler 24.03最小化安装未包含此包 执行sudo dnf install network-scripts -y安装后重新配置
宿主机或局域网其他设备无法访问虚拟机 虚拟机防火墙或SELinux阻断;IP地址冲突 临时放行SSH服务:sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload;检查SELinux状态:getenforce,若为Enforcing可临时设为Permissive测试:sudo setenforce 0;确认静态IP未被其他设备占用
无线网卡宿主机桥接后网络异常 部分无线网卡不支持桥接或需要特殊设置 若宿主机使用无线网卡,在VMware虚拟网络编辑器中,为VMnet0选择“桥接到”具体无线网卡,或尝试更换为有线连接后再进行桥接

7. 附录

7.1 其他网络模式下的快速模板

NAT模式(VMnet8子网192.168.88.0/24,网关 .2)

nmcli con mod ens33 ipv4.addresses 192.168.88.100/24 \
  ipv4.gateway 192.168.88.2 \
  ipv4.dns "8.8.8.8,114.114.114.114" \
  ipv4.method manual
nmcli con down ens33 && nmcli con up ens33

仅主机模式(VMnet1子网192.168.56.0/24,宿主机虚拟网卡192.168.56.1)

nmcli con mod ens33 ipv4.addresses 192.168.56.100/24 \
  ipv4.gateway 192.168.56.1 \
  ipv4.dns "192.168.56.1" \
  ipv4.method manual
nmcli con down ens33 && nmcli con up ens33

注意:仅主机模式虚拟机无法直接访问互联网,DNS通常指向宿主机虚拟网卡IP或留空。

7.2 自动化脚本

将以下内容保存为update_static_ip.sh,可根据实际环境修改网卡名和IP参数。执行前赋予执行权限,并使用root权限运行。

#!/bin/bash
# 静态IP配置脚本 - 适用于openEuler 24.03 LTS SP3(桥接模式示例)
# 请根据实际物理网络环境修改变量值

IFACE="ens33"                     # 网卡连接名
IPADDR="192.168.1.62"            # 静态IP地址(需与物理网络同段)
PREFIX="24"                      # 子网前缀长度
GATEWAY="192.168.1.1"            # 物理路由器地址
DNS="192.168.1.1,8.8.8.8"       # DNS服务器,逗号分隔

# 配置静态IP
nmcli con mod "$IFACE" ipv4.addresses "${IPADDR}/${PREFIX}"
nmcli con mod "$IFACE" ipv4.gateway "$GATEWAY"
nmcli con mod "$IFACE" ipv4.dns "$DNS"
nmcli con mod "$IFACE" ipv4.method manual

# 重启连接使配置生效
nmcli con down "$IFACE" && nmcli con up "$IFACE"

# 重启NetworkManager服务(可选,确保配置被完整加载)
systemctl restart NetworkManager

echo "静态IP配置完成,当前网络信息:"
ip a show "$IFACE" | grep inet

使用方法

chmod +x update_static_ip.sh
sudo ./update_static_ip.sh

7.3 附加配置建议

  • IPv6 处理:如果不需要IPv6,建议关闭以避免干扰:

    nmcli con mod ens33 ipv6.method disabled
    nmcli con down ens33 && nmcli con up ens33
  • 多网卡环境:先通过nmcli con show列出所有连接名,为每个需要静态IP的连接分别执行上述nmcli con mod命令,注意修改对应连接名。

  • 防火墙与SELinux:若配置正确但服务(如SSH、HTTP)仍无法从外部访问,请检查虚拟机防火墙规则和SELinux状态,并针对所需服务放行端口。

  • 桥接模式下的MAC地址绑定:某些企业网络中路由器设置了MAC地址过滤或IP-MAC绑定,若虚拟机需要固定IP,可能需要在路由器管理界面中进行静态IP-MAC绑定,或在VMware虚拟机设置中为网络适配器指定一个固定的MAC地址。

本文档所述内容已在VMware Workstation 17 Pro + openEuler 24.03 LTS SP3 (x86_64) 环境中,采用桥接模式验证通过。按流程操作即可为虚拟机获得与物理网络一致的固定静态IP,彻底告别地址漂移。

分享

微博XLinkedIn
二维码

扫码在手机上继续阅读

同一主题下的延伸阅读。

openEuler 修改 SSH 默认端口

在 openEuler 上把 SSH 端口从 22 改为 22222 的完整步骤:SELinux 端口标签、防火墙放行与 sshd 重启。先加新端口而不是直接替换,是为了避免把自己关在门外。

1 分钟阅读运维

搭建 Containerd + K8S 环境(v1.26.15)

在 Alibaba Cloud Linux 上用 containerd 从零搭一套 K8S v1.26.15 集群:主机与内核准备、ipvs 与网桥参数、kubeadm 初始化与节点加入,以及 Calico 网络的镜像离线处理。

3 分钟阅读运维

评论