iptables destino SNAT e pacotes TCP ACK

1

Eu preciso estabelecer uma conexão TCP em que o cliente esteja falsificando seu IP para todo o tráfego de saída. Minha primeira tentativa foi adicionar uma regra à cadeia POSTROUTING da seguinte forma:

iptables -t nat -A POSTROUTING -p tcp --dport 5555 -j SNAT --to-source 192.168.1.1

Isso funciona para o pacote SYN, mas não captura e reescreve o ACK proveniente do cliente. Meu entendimento é que isso acontece porque o ACK apenas passa pela cadeia OUTPUT, nunca atingindo o POSTROUTING. Minha próxima tentativa foi usar o xtables-addons e fazer SNAT bruto da seguinte forma:

iptables -t raw -A OUTPUT -p tcp --dport 5555 -j RAWSNAT --to-source 192.168.1.1

iptables me dá um erro neste comando baseado no alvo. Eu acredito que é baseado no alvo porque -j DROP e -j ACCEPT ambos trabalham. A página man diz especificamente que o RAWSNAT é válido na cadeia OUTPUT e verifiquei que o módulo xt_nat.ko está carregado ....

Alguém tem informações sobre o que está acontecendo com o RAWSNAT ou tem uma maneira de obter TODO o tráfego de conexão de saída para passar pela cadeia POSTROUTING na tabela nat? Não consegui descobrir se MARK ou CONNMARK podem me ajudar aqui com base na documentação que li.

    
por bryophyte 08.10.2015 / 19:40

1 resposta

0

Eu tenho o mesmo problema e achei o link link . Desde 2013, a extensão RAWSNAT / RAWDNAT foi removida do xtables-addons.

    
por 27.07.2018 / 05:00