NetworkManager配置网桥
技术背景
在 CentOS 9 及更新的 RHEL 系发行版中,传统的 ifcfg 文件已被弃用,取而代之的是 NetworkManager 的原生配置格式,以下是通过NetworkManager配置网桥的相关操作备忘
使用nmcli 命令行工具配置网桥
1. 创建网桥设备
sudo nmcli connection add type bridge ifname br0
br0是网桥名称,可自定义。- 上述命令无需事先使用
brctl addbr br0创建网桥
2. 为网桥分配IP地址(可选)
sudo nmcli connection modify bridge-br0 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify bridge-br0 ipv4.gateway 192.168.1.1
sudo nmcli connection modify bridge-br0 ipv4.dns "8.8.8.8"
sudo nmcli connection modify bridge-br0 ipv4.method manual
- 若使用DHCP,则将上述命令改为
sudo nmcli connection modify bridge-br0 ipv4.method auto
3. 将物理网卡(如eth0)添加到网桥
sudo nmcli connection add type bridge-slave ifname eth0 master br0
eth0是物理网卡名称,需替换为实际接口名。
4. 启动网桥
sudo nmcli connection up bridge-br0
sudo nmcli connection up bridge-slave-eth0
5. 验证配置
ip addr show br0 # 查看网桥IP
brctl show br0 # 查看网桥绑定的接口
使用 NetworkManager 的 keyfile 格式配置网桥的详细示例:
1. 创建网桥配置文件
NetworkManager 的 keyfile 配置文件通常存储在 /etc/NetworkManager/system-connections/ 目录下,扩展名为 .nmconnection。
示例:创建网桥 br0 并绑定物理网卡 eth0
创建文件 /etc/NetworkManager/system-connections/br0.nmconnection:
[connection]
id=br0
type=bridge # 指定类型为网桥
interface-name=br0
[ipv4]
method=auto # 使用 DHCP(如需静态IP,改为 manual 并配置地址)
# 静态IP示例:
# method=manual
# address1=192.168.1.100/24,192.168.1.1
# dns=8.8.8.8;
[ipv6]
method=ignore # 禁用IPv6(或设为 auto)
[bridge]
stp=false # 禁用生成树协议(小型网络可关闭)
绑定物理网卡 eth0 到网桥
创建文件 /etc/NetworkManager/system-connections/br0-slave-eth0.nmconnection:
[connection]
id=br0-slave-eth0
type=ethernet
interface-name=eth0
master=br0
slave-type=bridge # 关键:指定为网桥的从属接口
2. 应用配置
- 重启 NetworkManager:
sudo systemctl restart NetworkManager
- 或 重新加载配置:
sudo nmcli connection reload
- 验证网桥状态:
nmcli connection show # 查看所有连接 nmcli device status # 查看设备状态 brctl show br0 # 查看网桥绑定的接口 ip addr show br0 # 检查网桥IP
3. 注意事项
-
配置文件权限:
- 确保配置文件权限为
600,属主为root:sudo chmod 600 /etc/NetworkManager/system-connections/*.nmconnection sudo chown root:root /etc/NetworkManager/system-connections/*.nmconnection
- 确保配置文件权限为
-
物理网卡去IP化:
- 物理网卡(如
eth0)不能配置任何IP,否则会冲突。
- 物理网卡(如
-
NetworkManager 的优先级:
- 如果存在旧版
ifcfg文件,需删除或重命名以避免冲突:sudo mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.old
- 如果存在旧版

浙公网安备 33010602011771号