IPTables redirecionam todos os pacotes UDP incluindo ESTABLISHED

3

Atualmente, temos algumas regras de configuração no IPtables que se parecem com as abaixo:

-A PREROUTING -d dstip/32 -p udp -m udp --dport 27035 -m u32 --u32 "0x0>>0x16&0x3c@0x8=0xffffffff&&0x0>>0x16&0x3c@0xc=0x54536f75&&0x0>>0x16&0x3c@0x10=0x72636520&&0x0>>0x16&0x3c@0x14=0x456e6769&&0x0>>0x16&0x3c@0x18=0x6e652051&&0x0>>0x16&0x3c@0x1c=0x75657279" -j REDIRECT --to-ports 21010

Isso redireciona os pacotes que contêm essa carga para nossos programas de armazenamento em cache; isso funciona muito bem. No entanto, apenas "novos" pacotes estão atingindo essa regra NAT. Depois de algumas pesquisas, consegui resolver esse problema definindo o seguinte:

sudo sysctl -w net.netfilter.nf_conntrack_udp_timeout=0
sudo sysctl -w net.netfilter.nf_conntrack_udp_timeout_stream=0

Isso introduziu outro problema no qual todos os pacotes UDP estavam sendo configurados para isso. Durante uma pequena inundação de UDP, isso faria com que todo o tráfego de udp no servidor parasse.

Estou precisando redirecionar todos os pacotes UDP contendo uma determinada carga para outra porta na mesma máquina. Temos outro programa escutando nessa porta que responde a essa carga útil. Isso ocorre devido a uma sobrecarga de consulta que normalmente congela um de nossos aplicativos, portanto, descarregamos essa consulta em outro programa.

Alguma solução para isso? Estava procurando por meses sem qualquer tipo de resposta.

    
por user1372896 16.11.2016 / 18:18

0 respostas