Bridge não está funcionando

3

Queremos criar uma ponte ( mybridge ) no nosso painel sobre eth0 e eth1 interface. A placa roda o Linux 2.6.34.9.

A seguir estão os comandos:

brctl addbr mybridge
ifconfig eth1 0.0.0.0
ifconfig eth0 0.0.0.0
brctl addif mybridge eth1
brctl addif mybridge eth0
ifconfig mybridge up

PC ----- ETH1 ----- mybridge ------- ETH0

Quando fazemos ping na placa de um PC, podemos receber pacotes em eth1 ( eth1 rx contador aumentando), mas eles não estão sendo transferidos para mybridge , pois o contador de rx em mybridge não está aumentando. Depois de pouca pesquisa na net descobrimos que mybridge está em alta, mas não vai para o modo RUNNING. A menos que vá para o modo RUNNING, a bridge não funcionará.

Alguém pode nos informar por que mybridge não está entrando no estado RUNNING?

/ # ifconfig
eth0      Link encap:Ethernet  HWaddr BC:9A:78:56:34:12  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 00:E0:0C:BC:E0:00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:101 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7200 (7.0 KiB)  TX bytes:126 (126.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

mybridge  Link encap:Ethernet  HWaddr 00:E0:0C:BC:E0:00  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Qualquer tipo de entrada será de grande ajuda.

    
por sumit 15.09.2012 / 14:22

2 respostas

2

Você não pode fazer ping na placa, porque a placa não possui um endereço IP. Não está claro exatamente o que você está fazendo aqui.

Os pacotes não estão passando pela ponte na placa porque não há nada pendurado na eth0 da placa. Se você conectar um dispositivo ao eth0 e pingar, verá os pacotes passarem pela ponte.

Pode haver dois motivos pelos quais o contador de pacotes de eth0 não está aumentando:

1) A bridge opera como um switch, na medida em que mantém o controle dos endereços MAC dos dispositivos atrás de cada porta da bridge. Se você executar o comando brctl showmacs mybridge , poderá ver os endereços MAC dos dispositivos que a ponte viu e a porta que estão por trás.

Se você conectar um dispositivo ao eth0 e tentar executá-lo, o host de ping primeiro transmitirá uma solicitação de ARP para descobrir o endereço MAC do host com o endereço IP para o ping. Quando essa resposta do host à solicitação ARP, a ponte verá que o host com esse endereço MAC está atrás da eth0 da ponte. No entanto, eu esperaria ver as transmissões ARP serem contadas contra a interface, então, enquanto você teria uma baixa contagem de pacotes / bytes na eth0, ela deveria ser diferente de zero.

2) Não há nada conectado a eth0, por isso não tem portadora. Não há nenhum ponto enviando pacotes em uma interface que está desconectada. Você pode ver isso com o comando 'ip link' (o comando ip desaprova o comando ifconfig - você pode ver os contadores da interface com ip -s link ). Você verá NO-CARRIER contra eth0.

    
por 16.09.2012 / 03:02
0

Eu tive o mesmo problema, mas resolvi especificando o parâmetro HDADDR em cada configuração de eth. então você precisa descobrir o endereço mac da interface usando o comando ifconfig -a e depois disso editar cada arquivo de configuração da interface em / etc / sysconfig / network-scripts / ifcfg-ethX e especificar o endereço MAC exato para cada placa de interface. isso também é recomendado pelo redhat para especificar a interface HDADDR quando você tiver mais de uma placa de interface física.

" HWADDR = endereço MAC onde endereço MAC é o endereço de hardware do dispositivo Ethernet no formato AA: BB: CC: DD: EE: FF. Essa diretiva deve ser usada em máquinas que contenham mais de uma NIC para garantir que as interfaces recebam os nomes de dispositivos corretos, independentemente da ordem de carregamento configurada para cada módulo da NIC. Esta diretiva não deve ser usada em conjunto com MACADDR.

link "

    
por 23.02.2014 / 09:44