a ponte linux não pode enviar pacotes, o contador de pacotes TX é igual a 0

1

Eu configurei uma ponte de acordo com o link

meu / etc / network / interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth3
allow-hotplug eth3
iface eth3 inet dhcp

auto br0
iface br0 inet manual
  bridge_ports eth1 eth0
  post-up ifconfig eth0 promisc mtu 9000 && ifconfig eth1 promisc mtu 9000

mas as estatísticas mostram que a bridge não envia nada

br0       Link encap:Ethernet  HWaddr 36:00:83:f4:bc:3b  
UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
RX packets:4616 errors:0 dropped:4 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:628357 (628.3 KB)  TX bytes:0 (0.0 B)

Eu verifiquei o estado das interfaces; ambos estão no estado de encaminhamento; Eu configurei ambos para o modo promíscuo e ampliei seu MTU (estou interessado em pacotes acima do MTU padrão).

    
por YNWA 10.07.2017 / 15:20

1 resposta

1

A interface br0 é apenas a interface "interna" além das portas de ponte. Se você não usou este IF para enviar pacotes, nada aparecerá, mas a bridge ainda está encaminhando pacotes entre as portas.

Quais são as estatísticas nas portas (eth1 eth0)?

(E por que você os coloca em modo promíscuo?)

Editar

Uma ponte atua no nível 2 OSI, assim como um switch de rede: Conceitualmente, ele encaminha todos os pacotes que recebe em uma porta para todas as outras portas, incluindo para e da porta voltada para dentro que é a interface de rede bridge. Mas, assim como uma interface Ethernet real conectada a um segmento da LAN, os contadores da interface de rede só serão ativados para pacotes endereçados à interface interna (ou enviados a partir dele).

Como uma otimização, ele mantém uma lista de endereços MAC vistos nas portas e, se reconhecer um endereço MAC de destino, ele só encaminha para essa porta.

Ele não altera nada no pacote, nenhum endereço MAC ou qualquer outra coisa, a menos que você use eftables para fazer coisas engraçadas. Você pode usar tcpdump -e -i eth0 etc. nas portas para verificar você mesmo.

Em HOWTOs antigos, você pode encontrar a observação de que deve colocar as interfaces de porta no modo promissor, mas isso não é necessário há muito tempo. (Apenas experimente).

    
por 10.07.2017 / 20:57