主题
virbr0 虚拟网桥静态 IP 持久化操作记录
日期: 2026-08-15
主机: 192.168.122.9 (virbr0 虚拟网桥)
系统: Ubuntu 22.04.5 LTS
目标: 将192.168.122.9/24在virbr0上的配置持久化,重启后自动生效
1. 背景
virbr0 是 libvirt 创建的虚拟网桥,默认 IP 为 192.168.122.1/24。
已手动添加 192.168.122.9/24 作为 secondary IP,但 NetworkManager 将配置保存在临时目录 /run/NetworkManager/system-connections/,该目录为 tmpfs,重启后丢失。
2. 当前状态确认
bash
# 查看 virbr0 IP 配置
ip addr show virbr0输出:
inet 192.168.122.9/24 scope global secondary virbr0
inet 192.168.122.1/24 scope global virbr0bash
# 确认配置文件位置(临时路径)
nmcli -t -f NAME,FILENAME connection show | grep virbr0输出:
virbr0:/run/NetworkManager/system-connections/virbr0.nmconnection3. 持久化步骤
3.1 复制配置文件到持久化目录
bash
sudo cp /run/NetworkManager/system-connections/virbr0.nmconnection \
/etc/NetworkManager/system-connections/virbr0.nmconnection3.2 设置正确权限(NM 要求 600)
bash
sudo chmod 600 /etc/NetworkManager/system-connections/virbr0.nmconnection3.3 删除临时配置文件
bash
sudo rm /run/NetworkManager/system-connections/virbr0.nmconnection3.4 重新加载 NetworkManager
bash
sudo nmcli connection reload4. 验证
bash
# 确认配置文件已指向持久化路径
nmcli -t -f NAME,FILENAME connection show | grep virbr0期望输出:
virbr0:/etc/NetworkManager/system-connections/virbr0.nmconnectionbash
# 确认 IP 地址仍在
ip addr show virbr0 | grep inet期望输出:
inet 192.168.122.9/24 brd 192.168.122.255 scope global noprefixroute virbr0
inet 192.168.122.1/24 brd 192.168.122.255 scope global secondary noprefixroute virbr05. 持久化配置文件内容
路径:/etc/NetworkManager/system-connections/virbr0.nmconnection
ini
[connection]
id=virbr0
uuid=c8193052-db0c-4267-988f-43a3d3ea3ca0
type=bridge
autoconnect=false
interface-name=virbr0
[bridge]
forward-delay=2
[ipv4]
address1=192.168.122.9/24
address2=192.168.122.1/24
method=manual
[ipv6]
addr-gen-mode=stable-privacy
method=ignore
[proxy]6. 注意事项
/run/是 tmpfs 内存文件系统,重启后内容丢失/etc/NetworkManager/system-connections/是 NM 持久化配置目录- NM 要求配置文件权限为
600,否则会忽略该文件 - 如果同时存在
/run/和/etc/下的同名配置,NM 优先使用/run/中的版本