Escrevi este artigo a fim de clarear mais a idéia sobre a conexão remota com VNC utilizando rotas com iptables. O suporte remoto é fundamental em empresas que vendem help desk ou prestam acessoria em informática. Vai aqui uma forma (não muito segura) de criar uma rota direta com uma máquina que está dentro da rede interna de seu cliente.
Criei dois scripts que irão adicionar/remover a rota em suas
regras de iptables, passando o IP da máquina na rede
interna e a porta que responderá pela tal em nosso servidor
Linux.
Crie o arquivo "criar_vnc_port" com permissão de execução e
copie este conteúdo dentro dele:
NOTA: Este script criará uma rota para uma estação na rede
interna utilizando uma porta especificada por você. Para
conectar-se após, utilize:
$ vncviewer <IP_SPEEDY>:<PORTA_UTILIZADA>
echo "ABERTURA DE ROTA PARA VNC EM MAQUINA DA REDE INTERNA"
echo "CRIANDO ROTA VNC PARA MAQUINA DA REDE INTERNA"
echo "MAQUINA DA REDE INTERNA: $1"
echo "PORTA VNC REDIRECIONADA: $2"
echo "EXECUTANDO REDIRECIONAMENTO.... [ OK ]"
OBS: Não esqueça de substituir o IP por um que exista dentro da sua
rede interna e por favor, não esqueça de instalar o vncserver
na estação a qual irá se conectar (a estação pode utilizar Linux ou
Windows, tanto faz).
[2] Comentário enviado por usr em 02/03/2005 - 01:55h
Gostaria de saber se é possível rodar somente uma Dekstop em vez de 1 Virtual no Linux. Esse final do script 6969 seria a nova porta ?
Uso um server com Linux eth1 192.168.1.1 onde compartilho a conexao e uma estacao com 192.168.1.2 onde tenho minha maquina que rodo Linux e o XP, as vezes preciso usar o mesmo Desktop que deixei rodando em casa na casa de minha ada ou de alguem. Como o vncserver da meneira que configurei soh conseguia acessar o terminal virtual acaba que nao servia.
Valw
[3] Comentário enviado por rafaelsrs em 08/03/2005 - 09:18h
Eai cara .. blz??? da uma analisada no meu caso e me diz uma forma de configurar isso sem usar esses script(eu nao sei fazer)...
Bem vamos La: no local 2 eu tenho a seguinte conf:
modprobe iptable_nat
iptables -t nat - F
iptables -t nat -A PREROUNTING -s 192.168.0.0/24 -d 0/0 -j MASQUERADE
iptables -t nat -A PREROUNTING -s 192.168.0.0/24 -d 0/0 -j tcp --dport 80 -j REDIRECT --to-port 8080
modprobe iptable_nat
#Inseri essa linha para testar o VNC
iptables -t nat -A PREROUNTING -s 200.x.x.x -m tcp -p tcp -i eth0 --dport 5900 -j DNAT --to-destination 192.168.0.14
onde o ip 192.168.0.14 é a maquina na rede que eu quero acessar remotamente... ela esta utilizando windows Xp.
Aqui no local1 onde eu estou eu quero sair com o ip 192.168.1.17, passar pelo servidor do mandrake e ir para o local2 acessar o 192.168.0.14..
a configuração local é a seguinte:
modprobe iptable_nat
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat - F
iptables -t nat -A PREROUNTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE
iptables -t nat -A PREROUNTING -s 192.168.1.0/24 -d 0/0 -j tcp --dport 80 -j REDIRECT --to-port 8080
RESUMINDO... EU QUERO SAIR DA MINHA REDE1 DE UMA MAQUINA WINXP(192.168.1.17), PASSAR PELO MEU SERVIDOR LINUX 1, PASSAR PELO SERVIDOR LINUX 2 DA REDE2 E ENTRAR NA MAQUINA LOCAL (192.168.0.24)
[4] Comentário enviado por brunocampinas em 02/11/2005 - 19:20h
gente gostaria de saber como faço uma regra assim:
o servidor usa o redhat ipatbles e nossa rede interna é a famosa 192.168.0.x ..... todas estaçoes com o xp, eu precisava pelo vnc conectar da minha casa para os ervidor e de la ser jogado para minha estação da empresa...ou seja casa ---> servidor da empresa ------> minha estação de trabalho... ????
e como q eu faço um regra da minha casa para o servidor por ssh...????
em casa tenhu 2 pc...um com xp e um com conectiva
Meu email é bruno.cps@gmail.com aguardo a ajuda
[6] Comentário enviado por Bique em 21/11/2005 - 03:42h
Beleza esse seu artigo...Eu estou com a mesma duvida do Bruno e com o mesmo problema. As regras de iptables que ai deixaste são para serem adicionadas para cada ip interno da rede? Poderei fazer isto por Remote Desktop (Conectar-se ao Server Windows claro passando pelo Linux primeiro e depois a partir de lá utilizo o VNC), mas para isso terei de trocar a porta de escuta ?
Se me puderes esclarecer a duvida o mundo ficara-te grato.
[7] Comentário enviado por cabelomst em 07/01/2006 - 18:16h
galera uso o vnc para dar suporte tecnico mas quero saber como fazer isso de um ip de fora tipo um 200.alguma coisa como faria para acessar uma pc cujo ip é 192.168 alguma coisa(q é oserver vnc) de um 200.alguma coisa (cliente vnc)
Obrigado !
[8] Comentário enviado por kidronan em 14/02/2006 - 20:50h
Caro iosimura,
estou tendo um pequeno problema... trabalho com suporte via VNC, e temos algumas pessoas trabalhando ao mesmo tempo, queria saber como faço o roteamento automatico... exemplo:
a conexão chegar na porta 5510 ir para o ip: 192.168.0.10
a conexão chegar na porta 5511 ir para o ip: 192.168.0.11
desde já agradeço a atenção,....
[10] Comentário enviado por leandromoreirati em 08/01/2007 - 14:39h
Caro,
Só uma sugestao, o que voce esta fazendo nao é criando rotas mas sim disponibilizando portas adicionar rotas é bem diferente:
# routre add -net (se for rota para rede) -host (se for rota para um host especifico) x.x.x.x/mascara (ip host/rede) gw (gateway da rede.
Seu artigo é muito bom so tem q corrigir o título, pois o iptables nao cria rotas mas sim bloqueia/libera portas.
[11] Comentário enviado por andre.linux em 16/03/2007 - 11:57h
Bem o meu squid establoqueando o acesso remoto das maquinas na minha rede...
Como eu faço??
Lembrando que é o acesso feito de fora... tipo logmein ou vnc de fora da intranet..
me ajudem ... valeu
[13] Comentário enviado por removido em 28/03/2008 - 23:32h
Pelo que entendi, com essa configuração eu nao preciso configurar as portas do vnc em cada estação não é? Se for isso mesmo, putz, uma mão na roda... só falta essa configuração ser adicionada permanentemente ao script do firewall...
Cara, acho q tu me livrou de um grande problema...
Obrigado!
[15] Comentário enviado por adairsoliveira em 11/05/2010 - 18:42h
É o seguinte :
Tenho na minha rede Um SERVIDOR oficial e tb tenho um SERVIDRO RESERVA uso o modem Kaiomy 500G ads2+
Ja acesso via ssh o SERVIDOR principal, quero saber como faço para acessar diretamente meu SERVIDOR RESERVA remotamente, sem precisar passar pelo SERVIDOR principal ?
Obs: Não entendo quase nada de Iptables...
Por favor me ajudem como fazer a configuração me explicando inclusive como farei essa conexão remota ok