Ir ao conteúdo

IPTABLES - NAT não se aplica em ligações já em curso?


calvinb

Posts recomendados

Postado

Meu ambiente é o seguinte (tem que ser MESMO este):

Cliente 1(192.168.5.2)<->Router 1(192.168.3.2)--NET<->Router 2(192.168.4.2)<-> Cliente 2 (192.168.6.2)

Onde, Cliente 1 e 2 fazem parte de uma rede interna, sem acesso direto a internet.

E eu tenho as seguintes regras nos router 1 e também no router 2 de acordo com os IPs acima:

#Aceitando todos os pacotes TCP e UDP

iptables -I INPUT -p ALL -i em1 -j ACCEPT");

#Redireciona todos os pacotes com destino ao router 1 para o cliente 1 na porta 22

iptables -t nat -I PREROUTING -p tcp --dport 222 -j DNAT --to-destination 192.168.5.2:22

#Altera a origem dos pacotes de 5.2 (cliente 1) para o IP da interface atual da placa de rede

iptables -t nat -A POSTROUTING -s 192.168.5.2 -o em1 -j MASQUERADE

Até aqui, tudo bem, estou redirecionando todos os pacotes com destino aos routers para os clientes e quando os pacotes saem do cliente e chegam ao router, o endereço IP de origem é modificado para o endereço real da placa de rede do router.

O PROBLEMA É O SEGUINTE:

Realizo um telnet do Cliente 2 (6.2) para o router 1 (3.2) na porta 222. De acordo com as regras acima, o acesso será direcionado para o cliente 1. Perfeito. Agora, com o telnet sempre em curso, eu altero o endereço IP do router 2 (de 4.2 para 8.2), e neste mesmo instante adiciono as seguintes regras no router 1 (3.2) para sanar o problema:

# No router 1, altero o destino do pacote vindo do cliente 1 de 4.2 para 8.2 (endereço real do router 2 agora)

iptables -t nat -A PREROUTING -d 192.168.4.2 -i p4p1 -j DNAT --to 192.168.8.2

# No router 1, altero a origem do pacote de 8.2 para 4.2 e envio para o cliente 1, para que não perceba a alteração do IP do router 2, ou seja, pra ele, ele continuará recebendo pacotes do 4.2 e não do 8.2

iptables -t nat -A POSTROUTING -s 192.168.8.2 -o p4p1 -j SNAT --to 192.168.4.2

AGORA O PROBLEMA É: As regras acima (DNAT e SNAT)não funcionam, ou seja, pelo que eu entendi, a tabela NAT do iptables não realiza alterações nas ligações em curso, antes do início das regras, é isso? Ou tem alguma solução e eu não estou conseguindo enxergar?

Agradeço aí pessoal, se puderem dar uma esclarecida se souberem.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!