у меня была та же проблема на физическом блоке под управлением Centos 7.3 x86_64 и я смог ее решить, сначала переместив физический адаптер в другой слот PCI-X на материнской плате, а затем выполнив все следующие действия:
удалить файл типа Bridge конфиг:
rm -f /etc/sysconfig/network-scripts/ifcfg-br0
удалить файл slave-интерфейс конфига:
rm -f /etc/sysconfig/network-scripts/ifcfg-enp6s0f0
, где enp6s0f0 было оригинальным именем интерфейса ведомого и было единственным ведомым интерфейс, назначенный мосту br0
убедитесь, что полностью удалили исходный мост, убедившись, что все его следы исчезли (brctl show) не должен перечислять интерфейс моста br0.
выключение моста:
ifconfig br0 вниз
выключение раб:
ifdown enp6s0f0
ifconfig enp6s0f0 down
остановить сетевую службу:
systemctl stop network.service
вручную удалить мост если необходимо: (в моем случае это был.)
прежде чем мост может быть удален, все ведомые интерфейсы должны быть удалены из него. Вы можете использовать утилиту управления мостом, чтобы удалить их
brctl delif br0 enp6s0f0
как только все ведомые интерфейсы были удалены, сам мост может быть удален.
brctl delbr br0
убедитесь, что остальные файлы конфигурации не ссылаются br0:
grep -i br0 /etc/sysconfig/network-scripts/ifcfg-*
не должно возвращать результатов
в моем регистр новое имя интерфейса, основанное на перемещении карты один слот теперь enp5s0f0.
запустите интерфейс, а затем подтвердите с помощью ethtool или 'ip link', который должен сообщить, что ссылка обнаружена для интерфейса.
[root@phaser ~]# ifconfig enp5s0f0 up
[root@phaser ~]# ethtool enp5s0f0
Settings for enp5s0f0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on (auto)
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
используйте nmcli для создания нового моста.
nmcli запишет необходимые конфигурационные файлы интерфейса в /etc/sysconfig/network-scripts/
создать мост интерфейс:
nmcli conn add type bridge ifname br0 ip4 10.0.0.16/24 gw4 10.0.0.1
добавить slave-интерфейс к мосту:
nmcli conn add type bridge-slave ifname enp5s0f0 master bridge-br0
отключить протокол связующего дерева, если в Сети уже есть мастер связующего дерева:
nmcli con modify bridge-br0 bridge.stp no
убедитесь, что мост настроен на запуск при загрузке nmcli:
nmcli con mod br0 connection.autoconnect yes
на этом этапе я могу запустить и остановить сетевую службу успешно, и при перезагрузке запускается интерфейс моста правильно.
устранение неполадок Примечание:
я подозреваю, что ommiting строку:
TYPE=Bridge
из моего исходного файла конфигурации для br0, возможно, привели к этой проблеме.
Я также подозреваю, что не использование nmcli и ручное создание файлов интерфейса моста также вызвало проблемы. Это может быть вызвано тем, что NetworkManager все еще пытается управлять интерфейсом. Это можно подтвердить с помощью:
nmcli dev status
эта команда покажет таблицу это перечисляет все сетевые интерфейсы вместе с их состоянием. Если Network Manager не управляет интерфейсом, его состояние будет указано как неуправляемое. Любое другое значение указывает, что интерфейс находится под управлением Network Manager.
если вы в конечном итоге вручную изменяете файл ifcfg в /etc/sysconfig / network-scripts, обязательно сообщите об изменениях network manager с перезагрузкой.
nmcli con reload
это скажет network manager, чтобы перечитать все файлы ifcfg и распознавать любые изменения.
я нашел следующий пост:
Как запретить Network Manager управлять интерфейсом?
для тех, кто не хочет использовать NetworkManager в RHEL / CENTOS 7.x
еще одна незначительная вещь, которую я заметил во время тестирования, заключалась в том, что контекст selinux на исходных файлах конфигурации интерфейса, которые я создал вручную, не был идентичен автоматически сгенерированной конфигурации архив.
ls-lZ показал, что автоматически сгенерированные ifcfg-файлы имели следующий контекст:
system_u:object_r:net_conf_t:С0
а файлы я создал у unconfined_u как пользователь.
я использовал chcon, чтобы установить пользователя system_u
chcon system_u:object_r:net_conf_t:s0 ifcfg-<filename>
другое замечание заключается в том, что при приведении нового интерфейса моста вверх или вниз, systemd теперь правильно сообщает, что интерфейс подключен и отключен. До делая эти изменения, при использовании моих собственных файлов конфигурации, systemd, казалось, не знал интерфейса. Это показало бы, что интерфейс был настроен, но не связан. Несмотря на обнаружение соединения отчетности ethtool.