ipt de encaminhamento de porta para conexões UDP ativas

2

Estou tentando configurar o encaminhamento de porta no UDP de port 12345 para port 54321 usando o seguinte:

iptables -t nat -A PREROUTING -p udp -i eth0 -d 192.168.0.1  --dport 12345 -j DNAT --to 192.168.0.1:54321

iptables -A FORWARD -p udp -i eth0 -d 192.168.0.1 --dport 54321 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Isso funciona bem para novas conexões, no entanto, não funcionaria para conexões atualmente ativas.

Para esclarecer o que quero dizer, digamos que, antes de adicionar as regras, haja uma conexão ativa de 192.168.0.2:55555 < --- > 192.168.0.1:12345 e estou tentando redirecionar todas as conexões de entrada em 192.168.0.1:12345 para 192.168.0.1:54321 .

Depois de adicionar as duas regras acima, todos os outros pacotes destinados a 192.168.0.1:12345 são recebidos em 192.168.0.1:54321 , exceto os de 192.168.0.2:55555 .

Eu acho que o estado da conexão desempenha um papel nisso. Como posso resolver isso e obter os pacotes de 192.168.0.1:55555 destinados a port 12345 são entregues em port 54321 ?

    
por Hooman 26.08.2012 / 05:21

1 resposta

2

Eu descobri como fazer isso!

Você precisa usar o REDIRECT no NAT! No entanto, antes disso, você tem que apagar a entrada correspondente a esta conexão da conntrack! Algo como o seguinte

conntrack -D -p udp -d  192.168.0.1 --dport=55555 
    
por 30.09.2012 / 20:37