Como posso limitar o número de soquetes AF_INET abertos?

2

Existe uma maneira de limitar o número de soquetes AF_INET abertos de forma concisa (somente)? Se sim, como faço isso e como a rede se comportará se eu estiver acima do limite?

Como pano de fundo: Meu roteador de commodity barato está um pouco ansioso para detectar 'inundação de sin'. Quando isso acontece, ele trava (e não se reinicia automaticamente). Eu estou pensando limitar as conexões simultâneas para cerca de 1000 deve mantê-lo de brigas.

    
por Stefano Palazzo 23.06.2011 / 08:16

1 resposta

2

Você pode limitar o número de conexões de uma vez usando iptables & amp; o módulo connlimit.

Da página man do iptables:

# allow 2 telnet connections per client host
iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT

# you can also match the other way around:
iptables -A INPUT -p tcp --syn --dport 23 -m connlimit ! --connlimit-above 2 -j ACCEPT

# limit the number of parallel HTTP requests to 16 per class C sized network (24 bit netmask)
iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 16 --connlimit-mask 24 -j REJECT

# limit the number of parallel HTTP requests to 16 for the link local network
(ipv6) ip6tables -p tcp --syn --dport 80 -s fe80::/64 -m connlimit --connlimit-above 16 --connlimit-mask 64 -j REJECT
    
por ajmitch 09.08.2011 / 09:01