
Estou tentando executar o seguinte comando iptables dehttps://github.com/farukuzun/notsodeepno Ubuntu 20.04.1.
iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j NFQUEUE --queue-num 200 --queue-bypass
Mas o resultado da execução é o seguinte:
# iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j NFQUEUE --queue-num 200 --queue-bypass
iptables v1.8.4 (legacy): unknown option "--queue-num"
Try `iptables -h' or 'iptables --help' for more information.
E o seguinte resultado de execução faz parecer que o destino NFQUEUE não existe na minha máquina:
# iptables -A INPUT -j NFQUEUE
iptables v1.8.4 (legacy): Couldn't load target `NFQUEUE':No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
Estou envergonhado porque é uma situação que nunca vi antes. Como eu esperava, todos os comandos devem funcionar bem.
Isso tudo porque o sistema Ubuntu que estou usando é baseado em WSL (https://docs.microsoft.com/windows/wsl/install-win10)?
Responder1
Verifique a saída destes comandos:
modinfo xt_NFQUEUE
lsmod | grep NFQUEUE
iptables -j NFQUEUE --help
Cada destino xtables consiste em duas partes:
- Biblioteca Userspace para ferramenta iptables - ela analisa argumentos de linha de comando do usuário e os traduz em uma estrutura de dados e vice-versa para imprimir regras do kernel
- Módulo do kernel, que processa os pacotes.
Os dois primeiros comandos verificam a presença do módulo do kernel e o carregamento do mesmo. A terceira regra verifica a presença da biblioteca do espaço do usuário e a lista de opções suportadas.
A primeira versão do WSL tem suporte muito limitado às ferramentas nativas do Linux, pois não usa o kernel do Linux em si, mas usa a tradução de chamadas de sistema para o kernel do Windows NT.
Para obter suporte completo do iptables você deve usar o WSL2. Ele usa o kernel Linux real, não emulação do kernel do Windows NT.
Responder2
sobre a instalação do módulo do kernel xt_NFQUEUE no WSL2, você precisa personalizar seu próprio kenel WSL. https://gist.github.com/cerebrate/d40c89d3fa89594e1b1538b2ce9d2720
Devo acrescentar algo sobre a inclusão de "NFQUEUE" no kernel, consulte a figura abaixo https://i.stack.imgur.com/FhGfy.png