Ir ao conteúdo
  • Cadastre-se
calvinb

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

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×