Interface de rede que lê o tráfego de dois hosts diferentes

2

Situação: o servidor A está recebendo tráfego de rede enviado do servidor B para o servidor C. Servidor B & C enviar mais dumps MySQL. Muito algum tráfego. Por algum motivo, a interface no servidor A está medindo esse tráfego. Não está fazendo nada com isso, apenas a vê.

Quando executo o tcpdump, vejo que a origem e o destino dos pacotes mysql são o servidor B e o servidor C. Nunca o servidor A.

12:52:44.482026 IP $IP_server_B.3306 > $IP_server_A.38662: Flags [.], seq 15905879:15911671, ack 8910, win 62, options [nop,nop,TS val 237711415 ecr 331318504], length 5792

Eu verifiquei duas vezes o script que envia sobre o despejo, o IP do servidor A não está em nenhum lugar. Eu verifiquei se existem conflitos de IP - nenhum. As interfaces de todas as três máquinas têm endereços MAC diferentes (só queria descartar tudo). Eu posso reproduzir o comportamento dessas máquinas 10 em 10 vezes.

Todas as 3 máquinas são instalações virtuais do CentOS 6 x64. Servidor A & B estão na mesma sub-rede, o servidor C está em um datacenter e rede completamente diferentes. Nota: Servidor A & B estão na mesma sub-rede, mas não estão executando no mesmo hipervisor físico.

Então ... a questão é: como o servidor A vê esse tráfego?

    
por Johan Kooijman 16.02.2013 / 12:57

1 resposta

0

Se o servidor A e B estiverem conectados a um hub simples em vez de um switch mais inteligente, todo o tráfego será transmitido para todas as máquinas conectadas. Então cabe às máquinas decidir se esse tráfego que recebem é para elas ou se elas devem simplesmente ignorá-las. O tcpdump, por padrão, coloca sua interface em modo promíscuo, o que significa que ele não ignora nenhum tráfego, nem mesmo aquele que não está endereçado a ele. É por isso que com o Tcpdump você pode ver todo o tráfego no seu hub.

    
por 16.02.2013 / 14:23