iptables Sem cadeia / alvo / correspondência com esse nome

1

Estou tentando bloquear simples ataques DDoS usando:

iptables -A INPUT -p udp --dport 27015 -m limit --limit 10/s --limit-burst 20 -j DROP

Mas recebendo:

iptables: sem cadeia / destino / correspondência com esse nome.

Qualquer ajuda? Info?

Debian 9

    
por Mynde Mindaugelis 29.08.2018 / 21:21

1 resposta

0

Problema na mão

Parece que você não tem os módulos de kernel corretos carregados para usar o iptables ou o comando iptables que você emitiu é muito vago para o iptables interpretar.

Encontrei algumas fontes ( link 1 link 2 ) essa referência é mais específica sobre qual tabela a regra aplicará à sua limpeza da ordem dos sinalizadores para corrigir esse problema.

Eu também encontrei algumas fontes ( link 3 link 4 ) que sugere que você pode estar em falta os módulos do kernel.

1. Sinalizador ausente no comando iptables

De acordo com a questão enfrentada por outros em link 1 e link 2 , o problema pode ser devido ao seu comando ser muito ambíguo para ser interpretado corretamente. Adicionar uma opção -t nat pode ajudar nisso.

iptables -t nat -A INPUT -p udp --dport 27015 -m limit --limit 10/s --limit-burst 20 -j DROP 

Salve sua regra e reinicie ou simplesmente reinicie o serviço iptables. Isso deve resolver o problema. Link 2 mais com a diferença entre POSTROUTING e PREROUTING . Gostaria de saber qual você prefere usar e talvez seguir uma das correções sugeridas.

2. Opções de kernel ausentes

Se a primeira opção não funcionou, você pode estar perdendo os módulos corretos do kernel. De acordo com o link 3 e link 4 , talvez seja necessário inicializar os recursos ausentes.

Usando lsmod , você pode listar todos os módulos instalados. Os módulos que estão faltando podem estar relacionados a xt_multiport e xt_comment. Seguindo a postagem no fórum do gentoo , pode haver um conjunto adicional de módulos do kernel que você precisa ativar também. Usando modprobe , você pode tentar ativar netfilter , ip_tables , ip_conntrack , etc.

Incluirei links para o Arch Linux Wiki e um Artigo sobre matérias-primas sobre como ativar módulos do kernel. Este link explica a maneira correta de configurar o iptables para o CentOS usando modprobe .

/etc/sysconfig/modules/*.modules or /etc/rc.modules

 echo "modprobe ip_conntrack" >> /path/to/modules/iptables.modules
 chmod +x /path/to/modules/iptables.modules

Por favor use lsmod também procure o que você ativou e verifique o que está faltando antes de executar qualquer um desses comandos. A longo prazo, pode ser mais seguro certificar-se de que o seu kernel está atualizado primeiro e é o kernel suportado fornecido pelo Debian .

Conclusão

Por favor, certifique-se de ter formatado seu comando iptables corretamente. Existem muitos recursos disponíveis para fazer o que você deseja, desde que você formate corretamente as coisas. Eu também estou incluindo um link para este problema com o Docker no GitHub apenas no caso de você realmente usar uma imagem do Docker baseada em Debian.

Por favor, comente se você tiver dúvidas ou problemas com esta resposta. Eu sugiro que você leia cada link que eu forneci completamente antes de tentar os comandos. Eu aprecio o feedback para corrigir quaisquer equívocos e melhorar minhas postagens. Eu posso atualizar minha resposta conforme necessário.

Melhor da sorte!

    
por 30.08.2018 / 17:12