Como proxy windows porta TCP (que está sob NAT) via linux com IP público?

0

Eu tenho um servidor (onde eu sou administrador) para o qual eu posso conectar via MSTSC.exe a partir do windows sob NAT. servidor está sob NAT. Eu tenho direitos ssh e sudo para o servidor Linux com IP público para abrir portas 2k e acima e instalar software. Usando o software que eu poderia encaminhar o meu servidor linux porta thru windows?

    
por Rais 09.11.2013 / 18:53

1 resposta

0

Existem várias maneiras de fazer isso:

A maneira mais rápida (para uso temporário) é usar um cliente ssh como putty. Você se conecta à sua caixa linux e adiciona uma regra de túnel.

Fazendo isso na caixa linux, seu objetivo é habilitar o encaminhamento de ip na caixa linux, bem como adicionar uma regra de firewall que redireciona o tráfego de um highport não utilizado para a porta rdp do windows (que é 3389). O comando de escolha é iptables. Com isso, você pode adicionar regras de rede ao kernel do Linux. Sugere-se a utilização de portas altas na sua interface pública para evitar que as kiddies de script variem as portas padrão.

Primeiro, ative o encaminhamento de ip (se já não estiver ativado):

Temporário:

sysctl -w net.ipv4.ip_forward=1

Em seguida, adicione uma regra de firewall usando o iptables:

Vamos dizer: eth0 é interna com rede 192.168.1.0/24, eth1 externa com ip 1.2.3.4

sudo iptables -t nat -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 3389 -j DNAT --to 192.168.16.1:3389 

Se o highport externo for 12345, você pode definir esta regra do iptables

sudo iptables -t nat -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 12345 -j DNAT --to 192.168.16.1:3389 

Para verificar as regras NAT, use o seguinte comando:     sudo iptables -L -nv -t nat

permanentemente:

sudo nano /etc/sysctl.conf

e adicione a seguinte linha:

net.ipv4.ip_forward=1

Reinicie o sysctl com

sudo sysctl -p

Para adicionar permanentemente a regra iptables, você pode criar um script init de firewall na sua caixa linux (se já não estiver lá) e pendurá-lo no nível de execução em que sua caixa linux já está sendo executada.

Você também pode usar o Google 'Linux iptables NAT', 'port forwarding' e similares. Há muita documentação por aí - mesmo para o rdp.

    
por 09.11.2013 / 19:33