Bridge não recebe IP via DHCP na inicialização

8

Estou executando o CentOS 7. Não estou executando o NetworkManager e, na verdade, o desinstalei.

Meu sistema deve adquirir um endereço IPv4 via DHCP em br0 na inicialização. No entanto, quando eu faço login, não tem endereço.

Minha configuração:

# pwd
/etc/sysconfig/network-scripts

# cat ifcfg-enp5s0 
DEVICE=enp5s0
ONBOOT="yes"
BRIDGE=br0

# cat ifcfg-br0 
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp
STP=on
DELAY=0

Note que não configurei essa ponte manualmente; virt-manager fez isso quando adicionei br0 neste diálogo:

Relevantejournalctl--boot|grep'\(\<br0\>\|enp5s0\)'econtexto:

Jan0821:04:32jonathon-centos7kernel:r81690000:05:00.0enp5s0:linkdownJan0821:04:32jonathon-centos7kernel:IPv6:ADDRCONF(NETDEV_UP):enp5s0:linkisnotreadyJan0821:04:32jonathon-centos7kernel:r81690000:05:00.0enp5s0:linkdownJan0821:04:32jonathon-centos7kernel:deviceenp5s0enteredpromiscuousmodeJan0821:04:32jonathon-centos7network[947]:Bringingupinterfaceenp5s0:[OK]...Jan0821:04:32jonathon-centos7network[947]:Bringingupinterfacebr0:Jan0821:04:32jonathon-centos7kernel:IPv6:ADDRCONF(NETDEV_UP):br0:linkisnotready...Jan0821:04:34jonathon-centos7kernel:r81690000:05:00.0enp5s0:linkupJan0821:04:34jonathon-centos7kernel:IPv6:ADDRCONF(NETDEV_CHANGE):enp5s0:linkbecomesreadyJan0821:04:34jonathon-centos7kernel:br0:port1(enp5s0)enteredlisteningstateJan0821:04:34jonathon-centos7kernel:br0:port1(enp5s0)enteredlisteningstate////(Note:2seconddelayhere,withnootherevents)Jan0821:04:36jonathon-centos7avahi-daemon[957]:Registeringnewaddressrecordforfe80::f66d:4ff:fe3b:c24eonenp5s0.*.Jan0821:04:36jonathon-centos7kernel:br0:port1(enp5s0)enteredlearningstate/////(Toosoon!)Jan0821:04:38jonathon-centos7network[947]:DeterminingIPinformationforbr0...failed;nolinkpresent.Checkcable?Jan0821:04:38jonathon-centos7network[947]:[FAILED]Jan0821:04:38jonathon-centos7systemd[1]:network.service:controlprocessexited,code=exitedstatus=1Jan0821:04:38jonathon-centos7systemd[1]:FailedtostartLSB:Bringup/downnetworking.Jan0821:04:38jonathon-centos7systemd[1]:Unitnetwork.serviceenteredfailedstate....Jan0821:04:38jonathon-centos7kernel:br0:topologychangedetected,propagatingJan0821:04:38jonathon-centos7kernel:br0:port1(enp5s0)enteredforwardingstateJan0821:04:38jonathon-centos7kernel:IPv6:ADDRCONF(NETDEV_CHANGE):br0:linkbecomesreadyJan0821:04:39jonathon-centos7avahi-daemon[957]:Registeringnewaddressrecordforfe80::f66d:4ff:fe3b:c24eonbr0.*.Jan0821:04:41jonathon-centos7avahi-daemon[957]:Registeringnewaddressrecordfor2605:a000:1315:8119:f66d:4ff:fe3b:c24eonbr0.*.Jan0821:04:41jonathon-centos7avahi-daemon[957]:Withdrawingaddressrecordforfe80::f66d:4ff:fe3b:c24eonbr0./////(Here'swhereIentered'ifupbr0')Jan0822:43:30jonathon-centos7dhclient[5009]:DHCPDISCOVERonbr0to255.255.255.255port67interval6(xid=0x25f649b7)Jan0822:43:31jonathon-centos7dhclient[5009]:DHCPREQUESTonbr0to255.255.255.255port67(xid=0x25f649b7)Jan0822:43:34jonathon-centos7avahi-daemon[957]:JoiningmDNSmulticastgrouponinterfacebr0.IPv4withaddress10.0.1.128.Jan0822:43:34jonathon-centos7avahi-daemon[957]:Newrelevantinterfacebr0.IPv4formDNS.Jan0822:43:34jonathon-centos7avahi-daemon[957]:Registeringnewaddressrecordfor10.0.1.128onbr0.IPv4.Jan0823:43:17jonathon-centos7dhclient[5124]:DHCPREQUESTonbr0to10.0.1.1port67(xid=0x25f649b7)

Depoisqueosistemaéinicializadoeestoulogado,possoabrirumterminale:

#ifupbr0setforwarddelayfailed:NumericalresultoutofrangeDeterminingIPinformationforbr0...done.

Edepoisestouconectadoàminharede.

PorquenãoconsigoobterumIPparabr0nainicialização?

Relacionados:

  • Ponte Ethernet com dhcp [formulários do CentOS]

Notas:

  • brctl showstp br0 mostra que o atraso de encaminhamento está definido como 2,00. brctl setfd br0 0 mostra o mesmo erro que ifup br0 . Parece que o virt-manager especificou um DELAY=0 inválido para br0 .
  • Depois de encontrar as entradas importantes nos registros, parece que systemd está tentando obter um IP para br0 antes de entrar no estado de encaminhamento.
  • Eu abri o erro 8086 no bugtracker do CentOS.
por Jonathon Reinhart 09.01.2015 / 05:33

3 respostas

1

Sua bridge não está sendo controlada pelos scripts de rede, está sendo controlada pelo libvirt. A ponte deve aparecer quando o serviço libvirtd aparecer.

Eu não iria correr assim. Eu faria a bridge controlada pela rede initscript e não teria bridge na configuração do libvirt.

Os arquivos ifcfg que você tem agora estão bem. Apenas remova a configuração do libvirt, assegure-se de que você ainda tenha esses arquivos e, em seguida, chkconfig network on

Sim, o chkconfig funciona no EL7.

    
por 20.01.2015 / 13:17
1

Uma citação do link :

For this reason you may want to leave STP disabled in simple cases (such as when bridging a set of virtual machines to a single physical interface)

Desativar o STP parece ser a maneira de fazê-lo funcionar.

    
por 30.07.2018 / 09:38
0

Seu link físico não está ativo quando sua ponte é iniciada. Adicione um atraso à sua interface física.

    
por 26.04.2017 / 20:33