IP Alias e bridging de porta

1

A situação é que tenho uma caixa do Ubuntu com várias portas ethernet, que gostaria de me comportar como se estivesse conectada ao computador por meio de um switch. Eu posso conseguir isso facilmente com uma ponte. Em /etc/network/interfaces :

iface br0 inet static
  bridge_ports regex eth.*
  address 192.168.1.1
  netmask 255.255.255.0

Sob esta configuração, outro dispositivo pode se conectar a qualquer uma das portas e pingar esta caixa em 192.168.1.1.

Agora, a segunda parte é que eu gostaria que uma das portas tivesse um alias de IP, pelo que também tentava obter um endereço DHCP. Eu posso fazer isso no eth0 sem a bridge, assim:

iface eth0 inet static
  address 192.168.1.1
  netmask 255.255.255.0

iface eth0:0 inet dhcp

Agora, o truque é: como eu combinaria isso com a funcionalidade de troca de software? Como brctl opera na camada 2, não consigo criar eth0: 0, já que eth0 é parte de br0. A única coisa que posso fazer é criá-lo como br0: 0:

iface br0 inet static
  bridge_ports regex eth.*
  address 192.168.1.1
  netmask 255.255.255.0

iface br0:0 inet dhcp

Isso realmente faz exatamente o que eu gostaria, mas com um problema estranho: quando as portas ethernet são desconectadas ou não há nenhum servidor DHCP, a bridge não recebe seu IP estático adequado --- ou isso, mas não até um ou dois minutos após a inicialização estar completa.

Então, minha pergunta é: qual é o atraso? Posso me livrar disso de alguma forma?

Alternativamente, existe uma maneira melhor de conseguir o que quero aqui? O ideal seria um daemon que periodicamente procuraria pelo DHCP e, quando recebesse um IP atribuído, o colocaria no alias ao invés da interface principal.

Obrigado.

    
por mikepurvis 29.09.2013 / 23:28

2 respostas

0

Parece que você está sendo mordido pelo atraso no encaminhamento.

confira man brctl para detalhes sobre como ajustar os vários parâmetros de tempo, mas essencialmente o que acontece é que quando o brctl coloca sua ponte em conjunto ela tem que esperar um pouco para aprender a topologia da sua nova rede antes de realmente enviar quaisquer pacotes.

Resposta curta, isso pode resolver seu problema:

# brctl setfd br0 0
    
por 20.02.2014 / 16:16
0

Geralmente, uma interface de alias não pode obter o DHCP.

Tente colocar o DHCP na interface br0 e o IP estático no alias br0: 0.

    
por 24.12.2013 / 15:27