bacurinho
(usa Debian)
Enviado em 05/05/2015 - 11:25h
Acho que descobri o problema...
Nosso proxy/firewall tem duas interfaces, uma pra rede local e uma conectada ao modem... (o modem não está conectado ao servidor diretamente, e sim a um switch... Acho que é aí que está nosso problema...)
Ontem quando queria monitorar o problema com o tcpdump, ao invés do iptraf como já vinha fazendo o problema parou de ocorrer...
Quando um usuário relatou ter acontecido novamente, corri para a estação dele pra fazer os testes e deixar monitorando no servidor, mas o burro aqui esqueceu de deixar jogando a saída do tcpdump para um arquivo, e quando fui tentar olhar o que tinha na tela, não consegui ver o começo para poder analisar... Mas consegui "pescar" alguma coisa de requisições ARP...
Tinha conversado com um usuário (pedroalexr) aqui do fórum que tinha relatado um problema semelhante ao que eu estou passando... (http://www.vivaolinux.com.br/topico/Squid-Iptables/Computadores-perdendo-acesso-a-rede)
Ele também me disse pra usar o tcpdump para monitorar o tráfego, pois, pelo que ele me falou, e pelo que entendi, o proxy dele tinha dois links e as requisições de saída estavam sendo feitas no link errado... (se entendi corretamente)
Voltando e resumindo... Pelo que notei, o servidor está respondendo as requisições ARP para o IP da rede local com a MAC da placa de rede que está com a rede do modem...
Eu estava usando o iptraf para monitorar, mas monitorava apenas a interface da rede local...
Hoje ao configurar uma estação aqui para navegar pelo servidor, o problema aconteceu e eu pude constatar que na tabela arp da estação, a MAC relacionada ao IP do servidor era a MAC da interface conectada ao modem... Forçar a navegação não funciona, ele não atualiza... Após pingar até o servidor, a tabela arp atualiza e a MAC fica certa...
Aqui vai um pedaço do log do tcpdump
MAC Servidor - Rede local - xx:xx:xx:xx:xx:xx
MAC Servidor - Internet - yy:yy:yy:yy:yy:yy
MAC Estação - zz:zz:zz:zz:zz:zz
IP Servidor - Rede local - 192.168.254.254
IP Estação - 192.168.254.7
Com o problema....
09:46:25.848832 ARP, Request who-has 192.168.254.254 (yy:yy:yy:yy:yy:yy) tell 192.168.254.7, length 46
09:46:25.848850 ARP, Reply 192.168.254.254 is-at yy:yy:yy:yy:yy:yy, length 28
Pingando....
09:48:56.083806 IP 192.168.254.7 > 192.168.254.254: ICMP echo request, id 1, seq 3200, length 40
09:48:56.087307 ARP, Request who-has 192.168.254.7 tell 192.168.254.254, length 28
09:48:56.087345 ARP, Request who-has 192.168.254.7 tell 192.168.254.254, length 46
09:48:56.087398 ARP, Reply 192.168.254.7 is-at zz:zz:zz:zz:zz:zz, length 46
09:48:56.087401 IP 192.168.254.254 > 192.168.254.7: ICMP echo reply, id 1, seq 3200, length 40
Depois do ping...
09:49:04.855204 ARP, Request who-has 192.168.254.254 (xx:xx:xx:xx:xx:xx) tell 10.0.0.7, length 46
09:49:04.855215 ARP, Reply 192.168.254.254 is-at xx:xx:xx:xx:xx:xx, length 28
To lendo alguma coisa sobre o arp_ignore... Pelo que eu li, acho que deve resolver meu problema...
Se alguém tiver outra solução, será bem-vinda...
Obrigado bmarquesm.