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!