Вопрос или проблема
При устранении проблемы отсутствия подключения на вновь развернутой kvm-хостовой машине, я заметил второй интерфейс моста, который не нужен и, возможно, был создан ранее: vnet0
[user@box]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.14187769b69a no em1
vnet0
virbr0 8000.5254003ada63 yes virbr0-nic
[user@box]# ip route
default via 111.111.111.2 dev br0
169.254.0.0/16 dev br0 scope link metric 1006
111.111.111.0/23 dev br0 proto kernel scope link src 111.111.111.44
192.168.122.0/24 dev virbr0 proto kernel scope link src src 192.168.122.1
Вот файлы ifcfg-br0 и em1 соответственно:
[user@box ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=br0
PREFIX=23
DEVICE=br0
ONBOOT=yes
IPADDR=111.111.111.44
GATEWAY=111.111.111.2
DNS1=4.4.4.4
[user@box ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
NM_CONTROLLED=no
NAME=em1
DEVICE=em1
ONBOOT=yes
BRIDGE=br0
Система EL7 с полностью функционирующим мостом сети выглядит следующим образом:
[user@box]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.141877699b no em1
virbr0 8000.5254004bc0f4 yes virbr0-nic
[user@box]# ip route
default via 111.111.111.2 dev br0
111.111.111.0/23 dev br0 proto kernel scope link src 111.111.111.222
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[user@box ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=br0
PREFIX=23
DEVICE=br0
ONBOOT=yes
IPADDR=111.111.111.222
GATEWAY=111.111.111.2
DNS1=4.4.4.4
[user@box ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
NM_CONTROLLED=no
NAME=em1
DEVICE=em1
ONBOOT=yes
BRIDGE=br0
Я попробовал использовать virsh net-destroy vnet0
, но получил failed to get network vnet0
Как удалить ненужный интерфейс vnet0
из первого примера?
Чтобы отключить virbr0, попробуйте:
virsh net-destroy default
virsh net-undefine default
service libvirtd restart
ifconfig
Ответ или решение
В контексте устранения проблем с отсутствием сетевого подключения на новом узле виртуальной машины KVM обнаружилось, что интерфейс мостирования vnet0
был ненужным и, возможно, создан ранее. Ниже я подробно опишу процесс удаления этого интерфейса, используя представленные данные и предоставленные конфигурации.
Удаление интерфейса vnet0
-
Проверка наличия
vnet0
на мостуbr0
В первую очередь, необходимо подтвердить, что
vnet0
действительно присутствует в списке интерфейсов на мостуbr0
. Это видно из командыbrctl show
:br0 8000.14187769b69a no em1 vnet0
-
Проверка настроек виртуальных сетей
Попытка использовать команду
virsh net-destroy vnet0
была неудачной. Это означает, чтоvnet0
не является виртуальной сетью, управляемой libvirt. Вместо этого, это может быть временный виртуальный интерфейс, связанный с виртуальной машиной. -
Идентификация и удаление интерфейса
Для удаления интерфейса
vnet0
, выполните следующие шаги:-
Выявление процесса, использующего
vnet0
: Интерфейсvnet0
может быть подключен к активной виртуальной машине. Используйте следующие команды, чтобы идентифицировать процесс:ip link show
-
Удаление интерфейса: Если
vnet0
является интерфейсом, созданным KVM, его можно удалить с помощью командыip
:ip link delete vnet0
-
Перезапуск сетевых служб: После удаления интерфейса рекомендуется перезапустить сетевые службы, чтобы убедиться, что изменения вступили в силу:
systemctl restart network
-
-
Проверка результатов
После удаления интерфейса следует убедиться, что он действительно больше не отображается на мосту
br0
. Для этого выполните команду:brctl show
-
Долгосрочные меры
-
Проверка конфигурации запуска виртуальных машин: Убедитесь, что никакие автоматизированные скрипты или конфигурации не создают
vnet0
при запуске системы или виртуальных машин. -
Документация изменений: Все изменения должны быть задокументированы для дальнейшего внутреннего аудита и предотвращения подобных проблем в будущем.
-
Процесс удаления интерфейса может показаться сложным, однако соблюдение этих шагов поможет решить задачу максимально эффективно. Успешное исполнение указанных команд поможет устранить ненужные интерфейсы и стабилизировать сетевые соединения на узле KVM. Разработайте внутренние процедуры мониторинга и напоминайте себе об оценке текущих конфигураций, чтобы обеспечить стабильность и безопасность вашей ИТ-инфраструктуры.