openEuler 24.03 网络运维精简笔记
适用:openEuler 24.03 LTS | 网络管理:NetworkManager(nmcli)
一、常用查看命令
查看网络连接
nmcli con show # 所有连接
nmcli con show --active # 活动连接
nmcli dev status # 设备状态
nmcli con show "ens33" # 某连接详情
查看 IP / 路由 / DNS
ip addr 或 ip a # IP地址
ip route 或 ip r # 路由表
cat /etc/resolv.conf # DNS配置
nmcli dev show | grep DNS # DNS(通过NM)
查看网卡信息
ip link # 所有网卡
ethtool -i ens33 # 网卡驱动信息
lshw -class network -short # 硬件信息
服务状态
systemctl status NetworkManager
systemctl is-active NetworkManager
二、基础网络配置(nmcli)
DHCP 自动获取
nmcli con mod "ens33" ipv4.method auto
nmcli con up "ens33"
配置静态 IP
nmcli con mod "ens33" ipv4.addresses 192.168.1.100/24
nmcli con mod "ens33" ipv4.gateway 192.168.1.1
nmcli con mod "ens33" ipv4.dns "8.8.8.8 114.114.114.114"
nmcli con mod "ens33" ipv4.method manual
nmcli con up "ens33"
# 或一条命令完成
nmcli con mod "ens33" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,114.114.114.114" ipv4.method manual
nmcli con up "ens33"
新建连接
# DHCP方式
nmcli con add type ethernet con-name "my-eth" ifname ens33
# 静态方式
nmcli con add type ethernet con-name "static-eth" ifname ens33 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual
配置 DNS
nmcli con mod "ens33" ipv4.dns "8.8.8.8 1.1.1.1" # 覆盖
nmcli con mod "ens33" +ipv4.dns 114.114.114.114 # 追加
nmcli con mod "ens33" -ipv4.dns 8.8.8.8 # 删除
nmcli con up "ens33"
配置主机名
hostnamectl set-hostname openEuler-node1
文本界面配置
nmtui
三、网络连接修改
修改连接名
nmcli con mod "旧名" connection.id "新名"
修改 IP / 网关
nmcli con mod "ens33" ipv4.addresses 192.168.1.200/24
nmcli con mod "ens33" ipv4.gateway 192.168.1.1
nmcli con up "ens33"
添加辅助 IP
nmcli con mod "ens33" +ipv4.addresses 192.168.1.101/24
nmcli con up "ens33"
# 删除: nmcli con mod "ens33" -ipv4.addresses 192.168.1.101/24
修改 MTU
nmcli con mod "ens33" 802-3-ethernet.mtu 1500
nmcli con up "ens33"
设置开机自启
nmcli con mod "ens33" connection.autoconnect yes # 开启
nmcli con mod "ens33" connection.autoconnect no # 关闭
配置生效
nmcli con down "ens33" && nmcli con up "ens33" # 推荐
# 或: nmcli con up "ens33"
# 或: nmcli con reload
四、连接删除与停用
停用 / 启用
nmcli con down "ens33"
nmcli con up "ens33"
nmcli device disconnect ens33 # 断开设备
nmcli device set ens33 managed no # 取消NM管理
nmcli device set ens33 managed yes # 恢复NM管理
删除连接
nmcli con delete "连接名称"
nmcli con del "连接名称"
临时清除 IP
ip addr flush dev ens33
五、网络调试排查
基础连通性
ping -c 4 192.168.1.1
ping -c 4 8.8.8.8
ping -c 4 www.baidu.com
ip route get 8.8.8.8
ss -tulnp # 查看端口
NM 日志
journalctl -u NetworkManager -f # 实时日志
journalctl -u NetworkManager --no-pager -n 50
DNS 排查
nslookup www.baidu.com
dig www.baidu.com
host www.baidu.com
resolvectl status
标准排查步骤
- 网卡是否 UP:
ip link show ens33 - 是否有 IP:
ip addr show ens33 - 路由是否正确:
ip route - 防火墙状态:
systemctl status firewalld/firewall-cmd --list-all - NM 服务状态:
systemctl status NetworkManager - 配置文件检查:
ls -l /etc/NetworkManager/system-connections/
重启网络
systemctl restart NetworkManager
nmcli con reload
六、网卡绑定 Bonding
常用模式
| 模式 | 名称 | 说明 | 交换机要求 |
|---|---|---|---|
| 0 | balance-rr | 轮询负载均衡 | 需交换机配置 |
| 1 | active-backup | 主备冗余(最常用) | 不需交换机配置 |
| 4 | 802.3ad (LACP) | 链路聚合 | 需交换机配置 LACP |
active-backup 配置
# 1. 创建bond0
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
nmcli con mod bond0 bond.options "mode=active-backup,miimon=100"
# 2. 添加从属网卡(先down原有连接)
nmcli con down "ens33" 2>/dev/null
nmcli con down "ens37" 2>/dev/null
nmcli con add type ethernet slave-type bond con-name bond0-slave1 ifname ens33 master bond0
nmcli con add type ethernet slave-type bond con-name bond0-slave2 ifname ens37 master bond0
# 3. 配置IP
nmcli con mod bond0 ipv4.addresses 192.168.1.100/24
nmcli con mod bond0 ipv4.gateway 192.168.1.1
nmcli con mod bond0 ipv4.dns "8.8.8.8;114.114.114.114"
nmcli con mod bond0 ipv4.method manual
# 4. 启动
nmcli con up bond0
nmcli con up bond0-slave1
nmcli con up bond0-slave2
LACP(802.3ad)配置
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad
nmcli con mod bond0 bond.options "mode=802.3ad,miimon=100,lacp_rate=fast,xmit_hash_policy=layer3+4"
nmcli con add type ethernet slave-type bond con-name bond0-s1 ifname ens33 master bond0
nmcli con add type ethernet slave-type bond con-name bond0-s2 ifname ens37 master bond0
nmcli con mod bond0 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
nmcli con up bond0
查看状态
cat /proc/net/bonding/bond0
nmcli con show
nmcli dev status
ip a show bond0
删除 Bond
nmcli con down bond0
nmcli con delete bond0 bond0-slave1 bond0-slave2
注意事项
- 从属网卡不要单独配 IP
- 原有连接建议删除或禁用 autoconnect
- 虚拟机优先用 active-backup
七、网桥 Bridge
配置网桥
# 1. 创建网桥
nmcli con add type bridge con-name br0 ifname br0
# 2. 物理网卡加入网桥(不配IP)
nmcli con add type ethernet slave-type bridge con-name br0-slave1 ifname ens33 master br0
# 3. 网桥配IP
nmcli con mod br0 ipv4.addresses 192.168.1.100/24
nmcli con mod br0 ipv4.gateway 192.168.1.1
nmcli con mod br0 ipv4.dns "8.8.8.8"
nmcli con mod br0 ipv4.method manual
# 4. 可选STP
nmcli con mod br0 bridge.stp yes
nmcli con mod br0 bridge.forward-delay 2
# 5. 启动
nmcli con up br0
nmcli con up br0-slave1
查看
nmcli con show
ip a show br0
bridge link
bridge fdb show
删除
nmcli con down br0
nmcli con delete br0 br0-slave1
注意事项
- IP 配在桥上,不要配在物理口
- 云主机 / 虚拟化环境需确认支持桥接
八、VLAN 配置
单 VLAN 配置
# 物理口ens33, VLAN ID 100, 接口名ens33.100
nmcli con add type vlan con-name vlan100 ifname ens33.100 dev ens33 id 100
nmcli con mod vlan100 ipv4.addresses 192.168.100.10/24
nmcli con mod vlan100 ipv4.gateway 192.168.100.1
nmcli con mod vlan100 ipv4.dns "8.8.8.8"
nmcli con mod vlan100 ipv4.method manual
nmcli con up vlan100
多 VLAN
nmcli con add type vlan con-name vlan200 ifname ens33.200 dev ens33 id 200
nmcli con mod vlan200 ipv4.addresses 192.168.200.10/24 ipv4.method manual
nmcli con up vlan200
VLAN + Bridge
nmcli con add type vlan con-name vlan100 ifname ens33.100 dev ens33 id 100
nmcli con add type bridge con-name br-vlan100 ifname br-vlan100
nmcli con add type ethernet slave-type bridge con-name br-vlan100-slave ifname ens33.100 master br-vlan100
nmcli con mod br-vlan100 ipv4.addresses 192.168.100.10/24 ipv4.method manual
nmcli con up br-vlan100
查看
ip -d link show ens33.100
cat /proc/net/vlan/config
nmcli con show vlan100
删除
nmcli con down vlan100
nmcli con delete vlan100
注意事项
- 交换机端口需为 trunk 并放行对应 VLAN
- 物理口通常不再直接配业务 IP
九、防火墙 firewalld
状态查看
systemctl status firewalld
firewall-cmd --state
firewall-cmd --list-all
firewall-cmd --list-ports
firewall-cmd --list-services
开放端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
开放服务
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
删除端口
firewall-cmd --permanent --remove-port=80/tcp
firewall-cmd --reload
临时关闭(仅调试)
systemctl stop firewalld
十、常见故障速查
故障 1:静态 IP 后无法上网
- 排查:
ip a/ip r/cat /etc/resolv.conf/ ping 网关 / ping 外网 - 原因:网关错误 / DNS 未配 / method 仍为 auto / 防火墙拦截
- 处理:修正 gateway / 设置 dns / ipv4.method manual / 临时关防火墙
故障 2:nmcli up 失败
- 排查:
journalctl -u NetworkManager -n 80/nmcli dev status/nmcli con show - 处理:检查冲突连接 / 禁用 autoconnect / 重新 up
故障 3:重启后网络丢失
- 原因:autoconnect 未开启
- 处理:
nmcli con mod "ens33" connection.autoconnect yes+systemctl enable NetworkManager
故障 4:有 IP 但间歇丢包
- 排查:
ping -c 100 网关/ethtool ens33/dmesg | tail -50 - 原因:双工速率不匹配 / 线缆故障 / Bond 环路 / CPU 软中断高
故障 5:Bond 不生效
- 排查:
cat /proc/net/bonding/bond0 - 处理:确认 slave 已 up / active-backup 看 Active Slave / 802.3ad 确认交换机 LACP / 建议 miimon=100
故障 6:网桥后物理机断网
- 原因:IP 仍留在物理口 / 物理口未正确 enslav
- 处理:通过控制台操作 / IP 只配在 br0 / 物理口仅作 bridge slave
故障 7:VLAN 不通
- 排查:
ip -d link show ens33.100/tcpdump -i ens33 -nn -e vlan - 检查:VLAN ID 与交换机一致 / 对端 trunk / 本机防火墙 / 网关网段
故障 8:DNS 解析失败但 IP 能通
- 排查:ping 8.8.8.8(通)/ ping www.baidu.com(失败)
- 处理:
nmcli con mod ens33 ipv4.dns "8.8.8.8 114.114.114.114"
nmcli con mod ens33 ipv4.ignore-auto-dns yes # 防DHCP覆盖
nmcli con up ens33
故障 9:NM 与 ip 命令冲突
- 说明:手动
ip addr add重启后丢失属正常 - 处理:持久化请用 nmcli
故障 10:虚拟机网络异常
- 检查:虚拟网卡模式(桥接 / NAT / 仅主机)
- 桥接下宿主机网卡 / 交换机是否允许
- 克隆后 MAC 冲突 → 重新生成 MAC:
nmcli con mod "ens33" 802-3-ethernet.mac-address ""
十一、命令速查表
| 操作 | 命令 |
|---|---|
| 查看连接 | nmcli con show |
| 查看设备 | nmcli dev status |
| 启用连接 | nmcli con up "名称" |
| 断开连接 | nmcli con down "名称" |
| 删除连接 | nmcli con del "名称" |
| 修改 IP | nmcli con mod "名称" ipv4.addresses x.x.x.x/24 |
| 修改网关 | nmcli con mod "名称" ipv4.gateway x.x.x.x |
| 修改 DNS | nmcli con mod "名称" ipv4.dns "x.x.x.x" |
| 静态 / DHCP | ipv4.method manual / auto |
| 重载配置 | nmcli con reload |
| 重启 NM | systemctl restart NetworkManager |
| 实时日志 | journalctl -u NetworkManager -f |
| TUI 配置 | nmtui |
| 查看 IP | ip a |
| 查看路由 | ip r |
| 查看 Bond | cat /proc/net/bonding/bond0 |
| 查看 VLAN | cat /proc/net/vlan/config |
| 放行端口 | firewall-cmd --permanent --add-port=端口/tcp && firewall-cmd --reload |
十二、实战建议
- 优先 nmcli,避免直接改文件导致权限 / 格式问题
- 修改后执行
nmcli con up或nmcli con reload - 生产改网络前确保有带外控制台(iDRAC / iLO / KVM)
- 静态 IP 一次性确认:IP、前缀、网关、DNS、method
- Bond / Bridge / VLAN 变更极易断网,分步做并保留回退连接
- 同一网卡避免被多个 connection 同时 autoconnect
- 虚拟机注意网卡模式与 MAC 变化
- 安装工具:
dnf install net-tools tcpdump -y - 抓包:
tcpdump -i ens33 -nn host 192.168.1.1 - 配置备份:
cp -a /etc/NetworkManager/system-connections/ /root/nm-backup-$(date +%F)/
nmcli con show > /root/nm-con-list-$(date +%F).txt
十三、一键网络信息脚本
保存为 netinfo.sh,chmod +x netinfo.sh 后执行:
#!/bin/bash
echo "========== 主机名 =========="
hostnamectl --static 2>/dev/null || hostname
echo
echo "========== 设备状态 =========="
nmcli dev status 2>/dev/null || true
echo
echo "========== 连接信息 =========="
nmcli con show 2>/dev/null || true
echo
echo "========== IP 地址 =========="
ip -br a
echo
echo "========== 路由 =========="
ip r
echo
echo "========== DNS =========="
cat /etc/resolv.conf 2>/dev/null
echo
echo "========== Bond =========="
ls /proc/net/bonding/ 2>/dev/null && cat /proc/net/bonding/* 2>/dev/null || echo "无"
echo
echo "========== VLAN =========="
cat /proc/net/vlan/config 2>/dev/null || echo "无"
echo
echo "========== 防火墙 =========="
firewall-cmd --state 2>/dev/null || echo "firewalld 未运行"
echo
echo "========== NetworkManager =========="
systemctl is-active NetworkManager 2>/dev/null || true
整理自日常运维实践,适用于 openEuler 24.03 LTS 网络管理场景。

浙公网安备 33010602011771号