При использовании KVM в списке интерфейсов основной системы появляется минимум два дополнительных интерфейса virbr0 и virbr0-nic. Назначение первого говорит само за себя — виртуальный мост, который будет связывать созданные Вами виртуальные машины с основной машиной. Назначение второго является не очевидным и в первые минуты загадочным. Если выполнить команду:
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.52540072bcb8 yes virbr0-nic
видно, что virbr0-nic является одним из сетевых интерфейсов созданного моста virbr0. Оказывается virbr0-nic создается исключительно как workaround для следующей задачи.
Когда мы создаем любой мост, его MAC адрес назначается на основании MAC адреса первого добавленного сетевого интерфейса. Если из моста удалить все привязанные интерфейсы и добавить новый, то MAC адрес существующего моста измениться на MAC адрес нового привязанного сетевого интерфейса. А так как с виртуальными машинами происходят постоянные включения/выключения, то их виртуальные интерфейсы vnetX постоянно появляются и исчезают. Чтобы сохранить MAC адрес созданного моста virbr0 постоянным разработчики пошли на такой финт ушами и создали виртуальный интерфейс virbr0-nic, значением которого инициализируется MAC адрес моста и остается постоянным вне зависимости от создаваемых и удаляемых виртуальных машин. Убедиться в этом можно выполнением следующей команды:
# ip link ... 3: virbr0:mtu 1500 qdisc noqueue state UP link/ether 52:54:00:72:bc:b8 brd ff:ff:ff:ff:ff:ff 4: virbr0-nic: mtu 1500 qdisc noop master virbr0 state DOWN qlen 500 link/ether 52:54:00:72:bc:b8 brd ff:ff:ff:ff:ff:ff ...
Наглядно видно, что MAC адреса virbr0 и virbr0-nic идентичные.