Pular para o conteúdo

Eliminando o Neighbour table overflow

Dica publicada em Linux / Configuração
Carlos Affonso Henriques. capitainkurn
Hits: 26.430 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Eliminando o Neighbour table overflow

Há muito tempo faço conectividade de condomínios e um problema que comumente quem faz este tipo de serviço tem é o de isolar cada uma das máquinas, de forma que elas não se "enxerguem" nem façam difusão de nomes netbios. Elimino este inconveniente criando tantas sub-redes quanto o necessário, mas isso vai ficar para um artigo que estou preparando.

Esta técnica sempre funcionou muito bem com redes pequenas com até 40 máquinas, mas surgiu um problema quando empreguei a mesma técnica com uma rede de mais de 500 máquinas. Após alguns minutos de operação, o sistema começava a dar a mensagem de erro "Neighbour table overflow" e a rede começava a ficar lenta até parar de vez.

Após muito pesquisar descobri o que ocorria. O kernel, ao ter que manipular uma enorme quantidade de requisições ARP, gerava uma tabela ARP gigantesca e, por padrão, ele não manipula tabelas superiores a 1024 entradas, passando disso ele provocava um transbordamento da tabela ARP que paralizava o sistema.

A solução para o problema foi a seguinte: Alteramos o valor de entradas ARP que o kernel pode suportar para seu limite máximo da seguinte forma:

# echo 16384 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
# echo 32768 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
# echo 65535 > /proc/sys/net/ipv4/neigh/default/gc_thresh3


Pronto, basta inserir as linhas acima em seu rc.local antes que seu firewall seja levantado.

No meu caso eu as inseri no /etc/rc.d/rc.S do Slackware 10.2 antes mesmo da inicialização das interfaces de rede. Está funcionando pefeitamente desde então.

Até a próxima! E um fraternal abraço a todos.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

TOR Browser rodando sob root ou qualquer outro usuário

Eliminando o splash screen do KDE

Editando arquivos e usando variáveis no sed

Backup do MongoDB diretamente para o Amazon S3 com o s3cmd

Estendendo, à quase eternidade, a vida útil do SD card no Raspberry Pi

Libvirt e VirtualBox no Ubuntu server 15.04

Montando dispositivos com Android no GNU/Linux

Criando usuário com arquivos e diretórios padrão

Placa Wireless - Configuração no Notebook LG R410

Tela gráfica de configuração do Samba

#1 Comentário enviado por removido em 02/05/2006 - 18:45h
Oi Carlos,

Uma dúvida: Aumentar o tamanho de entradas não vai somente retardar o aparecimento do problema? Ou minha preocupação não procede?

Valeu!
#2 Comentário enviado por capitainkurn em 03/05/2006 - 10:20h
Está funcionando até hoje!
#3 Comentário enviado por fmpfmp em 04/10/2006 - 10:31h
Esta dica na verdade não resolve o problema. Esse erro é causado porque provavelmente a configuração de rede do servidor ou roteador está errada. Comigo bastou alterar a máscara de subrede para o valor correto, de /24 para /26, que resolveu.
#4 Comentário enviado por jg_bru em 07/11/2006 - 14:55h
Esta dica resolveu meu problema, tenho um Red Hat 9, rodando como server de internet pra 500 maquinas...

Valew!!!

Guilherme Moura
#5 Comentário enviado por fernandofat em 10/11/2006 - 08:28h
Apenas para compartilhar com os companheiros...

Tenho um "roteador" (leia-se encaminhamento de pacotes) que roteia 5 redes com mais de 250 hosts por rede, tive a mesma mensagem de erro (Neighbour table overflow) porém sem parada de rede.

Não pretendo aumentar o limite da tabela ARP vou pesquisar alguma outra alternativa, se achar coloco aqui....

[]'s

Fernando
#6 Comentário enviado por fabio em 26/07/2007 - 16:21h
Só uma dúvida, vizinho em inglês significa neighbor, não seria assim ao invés de neighbour?

Um abraço.
#7 Comentário enviado por LFer em 27/07/2007 - 11:50h
Para o fabio:
As duas formas de vizinho estão corretas, só que uma é a forma escrita no inglês britânico e a outra é a forma utilizada pelo inglês americado.
#8 Comentário enviado por pankdo em 30/07/2007 - 18:54h
boa solucao simples e funcional
gostei muito
#9 Comentário enviado por alessandro_ufms em 08/09/2007 - 15:33h
Tive esse problema quando baixava arquivos por torrent. O torrent baixava normal, porém depois de um tempo, a internet parava (mas o torrent continuava de boa). Dava ping em um site e ele retornava um erro falando que tava com buffer cheio e tals. Essa dica funciona perfeitamente, porém no Ubuntu não existe o arquivo /etc/rc.d/rc.S. No Ubuntu tem que colocar, essas linhas no final do /etc/sysctl.conf:

net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=16384
net.ipv4.neigh.default.gc_thresh3=32768

para toda vez que rebootar a maquina ela pegar esses valores.

Lembrando que o número de conexões fica a gosto do freguês... =D
#10 Comentário enviado por pieriqueiroz em 01/10/2007 - 17:08h
Depois destas alterações não consigo receber mensagens pelo Outlook e não acesso o msn.
Alguém tem alguma idéia do que pode ser?

Grata.
#11 Comentário enviado por rodrigo-nunes em 27/08/2008 - 11:12h
Obrigado!!! Problema resolvido.
Valeu!!!!
#12 Comentário enviado por Credmann em 13/09/2009 - 02:54h
O arpd pode ser uma alternativa?
#13 Comentário enviado por rafaelalmeida em 17/09/2009 - 19:17h
A dica valeu demais! Trabalho em uma rede gigantesca e ultimamente estava pasando por este problema em meu servidores de firewall.

VLW
#14 Comentário enviado por jbrasil em 07/12/2009 - 15:40h
Opa, funcionou d +
Valeu.
Obrigado.
#15 Comentário enviado por Marcus-RJ em 26/02/2010 - 09:02h
Boa! =)
#16 Comentário enviado por billsmoura em 21/01/2013 - 13:32h
Boa dica. Apliquei as alterações e as mensagens terminaram. Obrigado pela dica!

Contribuir com comentário

Entre na sua conta para comentar.