[MASOCH-L] Iptables - redirecionamento para Terminal Server

Christian Lyra lyra at pop-pr.rnp.br
Tue Jun 15 19:31:19 -03 2010


2010/6/15 Rodrigo Trevisaneli <rodrigo.trevisaneli at gmail.com>:
> Ola,
>
> Tenho um novo servidor de Terminal Server na rede, e ele
> nao tem saida para a Internet, somente acesso local.
> Porem precisava que ele fosse acessado pela Internet, mas
> usando a conhecida regra:
>
> -A PREROUTING -t nat -p tcp --dport 3389 -j DNAT --to-dest 192.168.1.3:3389
>
> nao funcionou, claro, porque pelo gateway dele ele nao tem saida para a
> Internet.
>
> Ok, so que adicionado esta regra, funciona:
>
> -A POSTROUTING -t nat -p tcp --dport 3389 -j MASQUERADE
>
> Pergunto, isso ocorre porque quando o iptables faz nat dessa forma, ele
> entrega os pacotes na porta 3389 do TS como se estivesem vindo do
> proprio iptables, ou seja, 192.168.1.1, e o TS devolve os pacotes para ele?
> Entao para o TS, é como se a conexao viesse de dentro da rede local?

correto... vc tá dizendo que pacotes com destino a 3389 devem sofrer
"mascaramento" quando sairem da sua máquina.

> O que nao entendo é que ja tinha essa regra:
>
> -A POSTROUTING -t nat -o eth1 -j MASQUERADE
>
> Mas tive que criar esta mais especifica, para o TS.

muito provavelmente essa regra é aplicada a interface "wan" do seu
firewall, e a regra de masquerade acima é aplicada a qualquer
interface (um erro ao meu ver...). Poderia ser mais especifica e só
fazer nat do que tem destino ao server TS e que saia pela interface
LAN)


>
> Outra questao, tenho outro TS na rede, este com acesso
> a Internet, porem só é acessado por 1 IP externo, entao ficou:
>
> -A PREROUTING -t nat -p tcp --dport 3389 -j DNAT --to-dest 192.168.1.3:3389(TS1)
> -A PREROUTING -t nat -i eth1 -p tcp --dport 3389 -s 200.X.X.X -j DNAT
> --to-dest 192.168.1.2:3389 (TS2)
>
> Isso é possivel? A mesma porta redirecionada duas vezes? O Iptables sabe
> que, se
> a conexao vier do IP 200.X.X.X, vai para o TS2 e se for outro IP vai para o
> TS1?
> Aparentemente esta funcionando. Se isso estiver correto, há uma ordem
> correta
> para estas duas ultimas regras, ou tanto faz? Seria a mais especifica
> primeiro?
>

Isso é possivel sim. Eu não me recordo agora (tenho que ler o man) se
o DNAT é um alvo "terminal", ou seja, nada mais é avaliado depois
dele. Caso não seja, vc pode usar, depois do NAT uma regra ACCEPT (no
nat mesmo), que tem o efeito de dizer: "pare de avaliar regras de
nat".


Em alguns casos, como neste do servidor sem rota default, eu acho uma
solução mais "limpa" usar o simpleproxy, que é um proxy tcp genérico.
Vc só precisa liberar a porta no INPUT e pronto.


-- 
Christian Lyra
PoP-PR/RNP



More information about the masoch-l mailing list