sábado, 4 de agosto de 2007

Suporte Remoto no VNC - A Bíblia

O VNC, é uma excelente ferramenta de suporte técnico a distância, sendo um dos aplicativos de administração remota mais populares do mundo. A sua utilização facilita muito as tarefas de manutenção, treinamento e supervisão de sistemas de informatica e é especialmente útil em manutenções de sistemas de CFTV. Neste artigo iremos abordar a instalação e utilização do UltraVNC, que é uma das distribuições deste excelente aplicativo.

Suporte Remoto com o VNC e UltraVNC

A maioria das aplições de tecnologia e informática, requer eventualmente suporte técnico corretivo ou de forma programada o suporte técnico preventivo. Mas o tempo de deslocamento ao local juntamente com o tempo necessário a manutenção, muitas vezes acaba prejudicando outras atividades. Os recursos de informatica a um bom tempo permitem de forma simples resolver esta questão através de conexões remotas. Existem vários sistemas no mercado, dependendo do sistema operacional e do tipo de conexão disponível.

Imagine a situação onde estamos elaborando o projeto de um sistema de CFTV em uma determinada região e temos um outro cliente situado em uma cidade a 120km de distância com problemas no seu sistema previamente instalado.

O que fazer? Interromper a nova instalação se deslocar até o local para atender o cliente com problemas? Acionar outra pessoa para atender o cliente? Agendar uma visita para o próximo horário disponível? Normalmente está seria a opção mais indicada, porém em muitos casos vários problemas simples podem ser facilmente resolvidos através de uma conexão remota.

Até mesmo nos problemas mais comuns, que nos deparamos ao tentar ajudar um cliente, via telefone ou messenger, é dificil entender o que realmente está acontecendo. O usuário prontamente nos dá informações do tipo "meu PC está travando", “Não está funcionando”, “Não estou conseguindo abrir o programa”, que normalmente não ajudam muito. O usuário muitas vezes não se dá conta que não estamos visualizando a tela do seu monitor e por isso fica dificil entender exatamente o problema e buscar uma solução. Normalmente seria necessário o deslocamento fisico até o local para solução do problema, desta necessidade surgiram os softwares de conexão remota (terminais), que permitem o acesso a computadores e servidores remotos a partir de uma conexão de internet ou até mesmo discada. Outro exemplo seria quando estamos em viagens e precisamos acessar alguma maquina remota para suporte ou execução de alguma tarefa.

Existem diversos aplicativos comerciais para administração remota, como o PCAnywhere, Radmin, Logmein, entre outros, mas um dos mais populares é o VNC, que permite o acesso a um computador remoto, disponibilizando a visualização da tela e controle do teclado e mouse, tendo a grande vantagem de ser gratuíto. O VNC pode ser usado tanto para acessar PCs ligados em uma rede local, quanto via Internet. O VNC será o objeto deste nosso artigo.

Obviamente nem todos os problemas poderão ser resolvidos através de conexões remotas, principamente se relacionados a hardware ou a componentes da rede, mas muitos outros problemas mais simples como configurações alteradas, parâmetros incorretos, atualizações, desbloqueios poderão ser perfeitamente solucionados. Além disso, nada melhor que acessar o servidor do cliente e fazer um análise prévia do problema que está ocorrendo, antes do deslocamento. Desta forma é possível ter uma preparação adequada de forma a visitar o cliente devidamente equipado com os drivers, programas, atualizações e ferramentas necessárias. Assim como ter a oportunidade de pesquizar possíveis soluções para o problema, na internet ou consultando o suporte técnico do fornecedor, preparando-se mesmo antes do deslocamento ao local.


O que é o VNC?

Virtual Network Computing (Computação Virtual em Rede ou somente VNC) é um protocolo desenvolvido para permitir o controle de interfaces gráficas remotas. Através deste protocolo um usuário pode se conectar a um computador remoto, e utilizar as suas funcionalidades visuais como se estivesse sentado em frente ao mesmo. Permitindo o controle do teclado e mouse, além da visualização da tela a partir do compudar remoto, utilizando os recursos dos protocolos de rede TCP/IP.

O VNC possui uma plataforma totalmente independente — um VNC cliente instalado em qualquer sistema operacional pode conectar a um VNC servidor em qualquer outro sistema operacional. Existem várias versões disponíveis para praticamente todos os principais sistemas operacionais e também para Java. Múltiplos clientes podem conectar ao mesmo server VNC ao mesmo tempo. Esta tecnologia é amplamente utilizada em suporte técnico de informática, acesso remoto, além de integração entre diferentes plataformas.

Foi desenvolvido originalmente pela AT&T. O Código Fonte original do VNC e muitas versões atuais derivadas são distribuidas como código aberto dentro da licensa GNU General Public License.

Veja mais sobre o licensiamento em http://pt.wikipedia.org/wiki/GNU_General_Public_License


História

O VNC foi criado nos laboratórios da Olivetti & Oracle Research Lab, posteriormente adquirida pela Olivetti e Oracle Corporation. Em 1999 a AT&T comprou o laboratório, e em 2002 fechou os trabalhos de pesquisa do mesmo.

O nome tem origem em um terminal de rede assincrono (thin cliente assi asynchronous transfer mode - ATM) chamado Videotile, que era basicamente um LCD com uma entrada de caneta e uma conexão rápida ATM com a rede. O VNC é essencialmente uma versão via software deste “Terminal de Rede ATM”. Alguns dos desenvolvedores do VNC incluem Tristan Richardson, Quentin Stafford-Fraser, James Weatherall, Ken Wood, Andy Hopper, Charlie McLachlan e Paul Webster.


Vantagens do VNC

- O VNC é totalmente gratuito.
- Múltiplos usuários podem estar conectados ao mesmo desktop, sendo uma ótima alternativa para treinamento mesmo a distância (basta configurar o acesso com a opção "read only").
- Se a conexão cair, a sessão do VNC não é perdida. Basta reconectar e os aplicativos remotos estarão exatamente da forma que estavam antes da conexão cair.
- Compatível com diversas plataformas, tanto o servidor como o cliente VNC são extremamente pequenos, tanto para Windows, Linux, Unix, etc.
- Algumas versões possuem visualização por cliente em Java, ou seja basta possuir um browser para acessar o servidor remoto.


Como Funciona o VNC

O VNC é um aplicativo com arquitetura Cliente x Servidor (Cliente/Server) ou seja é composto por dois softwares, sendo o servidor instalado no computador que vai ser acessado remotamente e terá seus recursos compartilhados e no computador remoto teremos o software cliente (Client) que é o software destinado a visualizar e controlar os recursos do servidor.



O VNC possui um protocolo muito simples, baseado na reprodução de pequenos retângulos, em pontos de coordenada x e y específicadas. Esses retângulos são uma reprodução simplificada dos respectivos pontos que seriam apresentados na tela do servidor. Para reduzir a largura de banda utilizada na transferência desses retângulos, são utilizadas técnicas de codificação e compactação. Sendo o protocolo do VNC responsável por negociar entre o Cliente e Servidor o método mais eficiente a ser aplicado. A codificação mais simples, suportada por todas as versões e clientes, é a codificação bruta, ou seja não existe compactação, sendo a transmissão dos pixels em forma de varredura horizontal da tela da esquerda para direita de toda a tela na primeira transmissão, sendo que nas transmissões seguintes temos o envio apenas dos pixels que tiveram modificações desde a última amostragem. Este método funciona bem quando temos poucas alterações na tela, porém se tivermos grandes mudanças, a reprodução remota ficará extremamente pobre devido a grande largura de banda necessária.

O servidor do VNC usa como padrão a porta TCP 5900, e quando o servidor java está instalado a porta TCP 5800. Em sistemas Linux e Unix, temos a possibilidade de logar com várias seções distintas no mesmo servidor, cada uma com suas operações independentes das outras seções. Já os computadores com sistema operacional Windows podem somente abrir uma única seção, pois o Windows não possui as características de multisessões de usuários de sistemas baseados em UNIX.


Segurança no VNC

Por padrão o VNC não é um protocolo seguro. Apesar das senhas não serem transmitidas em texto puro (plain-text como no Telnet), um possível ataque por “brute force” poderia descobrir tanto a senha codificada como a chave de encriptação se for utilizado um sniffer dentro da rede. Brute Force Atack ou ataque por força bruta é a invasão ou acesso indevido por longa sequencia de tentativas. Por esta razão recomenda-se a utilização de uma senha forte com no mínimo 8 carateres incluindo letras, números e caracteres especiais, para dificultar a descoberta dessas informações e consequente invasão.

Outro recurso prático de segurança, que pode ser implantado facilmente, é a troca da porta padrão, ou seja utilizar uma porta diferente da 5900/5800, dessa forma dificultamos a descoberta de nosso servidor VNC. Devemos sempre utilizar portas altas, preferencialmente acima da porta 10000, pois as portas altas muitas vezes são deixadas de lado em ataques de força bruta, devido ao longo tempo para sua descoberta. Poderiamos usar as portas 25901 e 25801 por exemplo.

Outra alternativa interessante, principalmente no Linux, é a utilização de tunel SSH, no qual é inserida uma camada adicional de segurança com uma encriptação bem mais eficiente. O Secure Shell ou SSH é, simultaneamente, um programa de computador e um protocolo de rede que permite a conexão com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão entre o cliente e o servidor ser criptografada. O VNC pode rodar dentro dos limites criados pelo túnel de segurança do SSH. O SSH é um protocolo nativo nos sistemas baseados e Unix como o Linux por exemplo, mas não tem suporte direto no Windows. Mas você pode encontrar um cliente gratuíto disponível em http://akson.sgh.waw.pl/~chopin/ssh/index_en.html e outro http://sshwindows.sourceforge.net/. Existem ainda alguns servidores e clientes SSH comerciais.

Veja mais sobre SSH no windows em:
http://www.jfitz.com/tips/ssh_for_windows.html
http://www.guiadohardware.net/dicas/ssh-windows.html


Distribuições do VNC

O projeto original do VNC não existe mais. Porém, existem vários projetos derivados, que seguem desenvolvendo o VNC, sendo o principal o RealVNC que é o primeiro derivado diretamente do VNC original. Nesses novos projetos diversos recursos foram melhorados, inúmeras funções foram adicionadas, assim como clientes e servidores para várias plataformas foram desenvolvidos. No entanto cada projeto tomou rumos próprios, sendo algumas gratuítas e outras não. Atualmente as três principais versões do VNC são o Real VNC, o Tight VNC e o Ultra VNC. A maioria das versões mantém uma compatibilidade básica entre sí, podendo por exemplo acessar um servidor do Real VNC utilizando o cliente do Ultra VNC.

Veja os links abaixo:

Real VNC - http://www.realvnc.com/
Tight VNC - http://www.tightvnc.com/
Ultra VNC - http://www.uvnc.com/

Existem várias outras Versões com características específicas como o Chicken of the VNC e ChromiVNC para Mac OS X, Helpdesk VNC, PalmVNC, OSXvnc, eSVNC entre outros.

Para utilização em ambiente misto Windows e Linux, recomendamos a utilização do Tight VNC, tem recursos bastante completos, além de uma melhor velocidade que o Real VNC por utilizar uma compactação baseada em Jpeg. Com o Tight VNC podemos ter qualquer tipo de plataforma integrada ou seja cliente Linux conectado a um servidor Windows, cliente Windows conectado em servidor Linux. Podemos por exemplo utilizar o Tight em nosso servidor Linux e acessa-lo através de máquinas Windows utilizando o Ultra VNC.

Para utilização em ambiente puramente Windows, ou seja, servidor e cliente Windows, a versão que mais se destaca, na nossa opinião opinião, é o Ultra VNC, pois agrega diversos recursos não disponíveis em outras versões, como transferência de arquivos, plugin de encriptação open-source completo, chat de texto, barra de ferramentas, reconexão automática, driver de vídeo, entre diversas outras, além de ser totalmente gratuíto.


Instalando o UltraVNC

Até o momento da elaboração deste guia, a versão mais recente do UltraVNC é a 1.02. Esta será a versão que iremos utilizar para exemplificar a instalação, configuração e utilização do VNC. Para obter a versão mais atual do UltraVNC, acesse os links abaixo e faça o download.

http://www.uvnc.com/download/index.html
http://sourceforge.net/project/showfiles.php?group_id=63887
http://www.guiadocftv.com.br/modules/wfdownloads/singlefile.php?cid=4&lid=16

O arquivo de instalação do UltraVNC é completo, tem o Cliente, Servidor, Driver de Video e outras ferramentas, tudo em um único arquivo executável com aproximadamente 1,67MegaBytes. Durante o processo de instalação podemos selecionar cada item que será instalado, como veremos a seguir.

Infelizmente ainda não existem versões em português do UltraVNC, mas na página de desenvolvimento já está em andamento a tradução do Cliente que é o primeiro passo para uma tradução completa do aplicativo.

1.Execute o arquivo de instalação.



2.Selecione o Idioma de instalação (Inglês é o mais recomendado) e clique em OK, para prosseguir.



3.Clique em Next na janela de apresentação.



4.Na próxima página é apresentada a licensa de uso do software. Clique em Accept para concordar com os termos e em Next para prosseguir com a instalação.



5.Nesta tela são apresentadas as notas da versão, clique em Next para continuar.



6.Selecione a pasta (diretório) de destino, onde o UltraVNC vai ser instalado, e depois clique em Next para continuar



Clique em Browse para pesquizar as pastas do sistema e selecionar o diretório de destino manualmente. Você pode ainda digitar o nome da pasta de destino diretamente no campo.

7.Selecione os componentes que deverão ser instalados.



Existem algumas opções de instalação pré-configuradas:

Full Installation: Instala todos os componentes do UltraVNC, incluindo o cliente e servidor.
Server Only: Instala somente o servidor do UltraVNC, incluindo o Plugin de Encriptação DSM.
Viewer Only: Instala somente o cliente do UltraVNC e o Plugin de Encriptação DSM.
E ainda a Custom onde podemos escolher individualmente os componentes a instalar.

Definidos o tipo de instalação clique em Next para passar ao próximo passo.


8.Selecione a pasta do Menu Iniciar onde os atalhos serão inseridos e clique em Next.



9.Selecione as opções de instalação, conforme indicado abaixo



Neste passo podemos selecionar as seguinte opções de instalação e execução do UltraVNC,
Selecionar se o Servidor do UltraVNC deve ser registrado como um serviço do sistema, dessa forma irá rodar em segundo plano e não poderá ser finalizado diretamente. *
Seleciona se o servico do UltraVNC deve ser iniciado ou reiniciado. *
Seleciona se o MSLogon II deve ser configurado.
Define se as Propriedades do Administrador devem ser configuradas.
Define se as entradas antigas do UltraVNC no registro devem ser removidas.
Permite a criação de icones na área de trabalho para os aplicativos Cliente e Servidor.*
Seleciona se os arquivos com extensão .vnc devem ser associados com o UltraVNC viewer.*

* Indica as opções recomendadas

Uma vez definidas as opções desejadas, pressione Next para prosseguir com a instalação.

10.Na janela seguinte é apresentado um resumo das opções configuradas nos passos para uma rápida conferência. Pressione Install para iniciar a cópia dos arquivos.



11.Uma vez finalizada a cópia dos arquivos, a configuração dos serviços e a inserção das entradas no registro, serão apresentadas as notas da versão, clique em Next para prosseguir e finalmente em Finish para sair do utilitário de instalação.





Neste ponto o UltraVNC já está completamente instalado e pronto para ser utilizado, podendo ser iniciados através dos icones na área de trabalho ou do menu iniciar.



Inicie o servidor ou cliente, de acordo com a sua necessidade de acesso remoto ou no caso do Viewer, pode ser colado um atalho no menu iniciar na pasta Inicializar, preferencialmente para o UltraVNC Viewer Listening Mode, o qual ficará pronto para efetuar e receber conexões remotas.


Configurando o UltraVNC

Uma vez iniciados os aplicativos Servidor e Cliente do UltraVNC, teremos os respectivos icones apresentados no Tray Bar. O icone do Viewer só é mostrado no modo Listening.




Instalando o Driver de Vídeo

Instale o Driver de Video no Servidor do UltraVNC, este driver acelera muito a taxa de visualização, melhorando bastante a utilização do desktop remoto. Além de fornecer um suporte direto ao framebuffer reduzindo a utilização de CPU no servidor, maior velocidade e uma ótima precisão nas atualizações de tela.



Quando o UltraVNC é instalado, é inserido o atalho para a configuração do Driver de Vídeo, dentro do grupo de programas UltraVNC, basta acessa-lo e clicar em Install Driver.


Configurando o Servidor

O servidor do UltraVNC, possui um menu contextual, com todas as suas opções e configurações. Para acessar o menu clique com o botão direito no icone do servidor, e depois selecione a opção desejada, conforme indicado abaixo:



Close VNC: Fecha o Servidor.

About VNC: Créditos e informações sobre o aplicativo e desenvolvedores.

Home Page e Online Help: Links para as páginas de suporte e desenvolvimento do UltraVNC na Web.

List All Clients: Lista as máquinas clientes que estão atualmente conectadas a este servidor.



Kill All Clients: Desconecta todos os clientes do servidor.

Add New Client: Efetua uma conexão reversa, enviando a tela para um cliente remoto do UltraVNC Viewer em Listening Mode (modo de espera). Insira o IP ou nome de DNS ou DDNS do Cliente em Host Name e insira :porta caso não seja a padrão.




Properties

Temos as configurações de propriedades atuais de tela e atualização de janela do UltraVNC, além de definir as opções para o driver de vídeo. Normalmente as configuções padrões já estão adequadas para a utilização.



Server Screen Updates Handling

Aqui são as opções que controlam a taxa de atualização da tela do nosso servidor.

Poll Full Screen: Esta habilita a captura em tela cheia, como se estivéssemos na frente do servidor.

Poll Foreground Window: Esta opção marcada como padrão, deixa a captura dentro da janela como se fosse uma página web.

Poll Window Under Cursor: Não mostra o cursor do mouse na janela do nosso browser. Deixar desabilitada.

Poll Console Windows Only: Esta opção deve ser marcada como padrão.

Poll On Event Only: Habilita a opção de receber instantaneamente qualquer evento no desktop.

System Hook DDI: Função de DDI hooking, usada especialmente no Windows 9x.

Video Hook Driver: O video hook driver permite alta velocidade e baixo uso de CPU no Windows 2000/XP/2003.

Check the Video Hook Driver: Verifica a instalação do Driver de Vídeo.

Low Accuracy: Fornce alta velocidade com baixa precisão.

Share only the Server Window Named: Não compartilha todo o desktop, somente a janela com o nome especificado.

Após efetuar todas as alterações necessárias, devemos pressionar OK para que as mesmas sejam aplicadas.

Admin Properties

O item "Admin Properties" do menu refere-se as Propriedades Padrões do Sistema Local (modo de serviço) ou opções atuais do usuário (modo aplicativo) e permite a configuração de diversos parâmetros:



Este é o painel de configurações para a conexão e acesso remoto ao servidor. Neste ponto as configurações padrões de instalação já deixam o servidor pronto para aceitar conexões externas, não sendo necessário normalmente alterar nenhum parâmetro além da senha, que conforme indicamos anteriormente deve ter no mínimo 8 dígitos. Se você não tem nenhum motivo especial para utilizar os demais recursos, você já pode passar para a seção de configuração do cliente e estabelecimento de conexões.

A título de complemento e ampliação do uso dos recursos do UltraVNC iremos descrever brevemente as demais configurações.

Incoming Conections (Conexões de Entrada)

Accept Socket Connections
Deve estar ativada em operação normal. O número do display e as portas podem ser configuradas ou definidas como Auto que definirá com os padrões Display 0, Porta 5900 e Porta JavaViewer 5800.

Display: O padrão é 0 em sistemas Windows, mas em sistemas Linux podem ser até 6.

Ports: Padrões para o servidor VNC 5900 e 5800 para HTTP. Modifique conforme nossa indicação de segurança, aqui ou no redirecionamento de portas do roteador.

Enable JavaViewer (HTTP connect): Deixe esta opção marcada, para habilitar o servidor Java e permitir o acesso a partir de um Navegador Web com suporte a linguagem Java, através do endereço:

http://maquina-remota:http-port/


Allow Loopback Connections e Loopback Only
Opções Utilizadas para testes e conexões locais no próprio computador.

When last client disconnects:
Nesta opção podemos escolher, o que o nosso servidor irá fazer após a finalização da conexão de uma máquina cliente. Muito útil em ambiente corporativo para administração de servidores por questões de segurança, porém sem propósito no suporte remoto.

Do Nothing: Nada, após desconectar do servidor, o mesmo continuará na Internet como se nem houvesse sido acessado remotamente. Deixe esta opção marcada.

Lock Workstation: Após desconectar, o “servidor” será bloqueado, evitando conexões indevidas.

Logoff Workstation: Imediatamente após desconectar, o servidor efetuará Logoff.

Query on incoming connection (Confirmar Conexão de Entrada)
Quando habilitado, abre uma janela em cada acesso do Viewer pedindo a confirmação do usuário se ele aceita ou bloqueia a conexão. O Timeout define o tempo de confirmação e em Default Action selecionamos a ação padrão após esse tempo é definida por Refuse para negar e Accept para aceitar.

Keyboard & Mouse (Teclado e Mouse)
Em algumas situações como treinamentos remotos ou apresentações, é interessante que o computador local ou o remoto não recebem os comandos de teclado e mouse. Isto pode ser configurado selecinando "Disable Viewer inputs" para bloquear os comandos remotos ou "Disable Local inputs" para os comandos locais.

Multi viewer connections (Mútiplas Conexões)
Aqui podemos configurar a forma como o servidor vai receber várias conexões de clientes.

Disconnect all existing connections: permite uma conexão por vez, e sempre a última conexão prevalece.

Keep existing connections: permite várias conexões simultâneas.

Refuse the new connection: Não permite novas conexões quando já existe uma conexão estabelecida.

Authentication (Autenticação)

"VNC Password" é a senha de conexão da estação, é de uso obrigatório e extremamente importante para a segurança da estação.

Require MS Logon: Ativa o MS-Logon I. Compatível com as plataformas Windows 9x e Windows NT4/2000/XP. Necessário para logar em dominios do NT.

New MS Logon: Ativa o MS-Logon II. Ativa a autenticação em domínios cruzados utilizada na plataforma Windows NT4/2000/XP (tipicamente usando Active Directory).

DSM Plugin: Configura o uso de Plugins DSM (Data Stream Modification), que são chaves de encriptação que visam aumentar a segurança na transmissão.
Miscellaneous (outras configurações)

Remove Wallpaper for Viewers: Reduz o tráfego de rede através da remoção do papel de parede durante a conexão remota.

Enable Blank Monitor on Viewer Request: Permite que o monitor seja desabilitado pelo Viewer.

Enable File Transfer: Habilita a transferência de arquivos pelo UltraVNC.
Log debug infos to the WinVNC.log file: Habilita a criação de um arquivo de histórico de todas as operações do Ultra VNC. Armazenado em C:\WinNT\system32 quando rodando no modo de serviço.

Disable TrayIcon: Desabilita o Icone no tray bar do Windows

Forbid the user to close down WinVNC: Impede o usuário de fechar o UltraVNC.

Disable clients options in tray icon menu: Desabilita o menu "Properties" do menu do system tray.

Enable Alpha-Blending Screen Blanking: Outro método de desabilitar o monitor.

Default Server Screen Scale: Permite ajustar o tamanho da janela de conexão do UltraVNC. Ex. 1/2



Configurando o UltraVNC Viewer



O cliente ou simplesmente UltraVNC viewer possui um menu contextual, da mesma forma que o servidor, com as suas opções e configurações. Para acessar o menu clique com o botão direito no icone do Viewer, e depois selecione a opção desejada. Porém o menu assume formas diferentes quando conectado e desconectado.

Close TrayIcon: Fecha o Atalho do Viewer no Traybar.

About VNCViewer: Créditos e informações sobre o aplicativo.

Toggle Listen Mode (On/Off): Permite habilitar e desabilitar o modo de espera de conexões reversas (Listening mode).

Default Connections Option: Abre a janela de configurações padrões para as conexões dos clientes, incluindo as seguintes opções:



Format and Encoding

Esta é a configuração mais importante, que vai definir o desempenho do VNC. Nesta primeira seção é defido formato de compactação e a codificação, utilizada para a conexão com o servidor, assim como algumas opções de profundidade de cores e protocolo.



Cada um dos algoritmos diferentes apresenta um certo balanço entre uso da banda da rede e carga de processamento.

Nota: Grey colors só operam com resoluções de 32 bits de cores.

No padrão vem habilitada a opção “Auto select best settings” a qual ajusta os parâmetros de conexão da melhor maneira possível junto ao servidor, de acordo com a conexão disponível. Esta é a configuração mais recomendada para uma melhor compatibilidade do UltraVNC Viewer não só com o UltraVNC Server, como com outros servidores, como por exemplo o Tight VNC ou o Real VNC.

Tight: Este algoritmo é utilizado para conectar com o TightVNC, que pode ser usado para acessar esta versão de servidor. O Tight oferece uma dupla compressão de dados, uma semelhante ao PNG, buscando pixels repetidos e substituindo-os por um único código e uma segunda camada, baseada no algoritmo zlib, que maximiza a compressão. É possível ativar ainda a compressão via JPG, estipulando um nível de perda. O Tight é o ideal para redes lentas, sobretudo conexões via modem mas tem um alto uso de CPU. Altamente recomendado para conectar com servidores Linux.
Hextile: Este algoritmo é o usado pela versão tradicional do VNC. A imagem da tela é dividida em áreas de 16x16 pixels e apenas as áreas atualizadas vão sendo enviadas aos cliente de forma compactada. Este algoritmo é o que oferece o melhor balanço entre uso da rede e do processador.

RRE: É um algoritmo mais simples de compactação, que se resume a substituir seqüências de pixels da mesma cor por um único valor, indicando apenas que o cliente deve repetir o pixel x vezes. É eficiente para visualizar menus, textos, mas não para imagens.

CoRRE: Esta é uma variação do RRE que limita o número de repetições de pixels a 255, permitindo enviar um único bit de dados. Combina um uso relativamente baixo da banda da rede com pouco processamento. É o algoritmo que oferece melhores resultados em máquinas lentas.

Zlib (+xor): Usa o algoritmo zlib para compactar as imagens, sem perda de qualidade. É um dos mais eficientes em nível de compressão para as versões convencionais do VNC, porém tem uma grande carga de uso de CPU.

ZlibHex (mix): Combina o Zlib com o Hexlite para quebrar a tela em pequenos pedaços, mantendo a compressão com o Zlib. O uso do processador é semelhante ao Zlib, mas possui um ganho perceptível de velocidade quando pequenos partes da tela são atualizados como em abertura de menus por exemplo, mas nas atualizações de tela inteira o Zlib é melhor.

Raw: Sem compactação, as imagens são enviadas via rede sem compressão alguma, minimizando a carga sobre o processador. Pode ser útil em redes de 100 megabits mas com computadores muito lentos. A quantidade de dados enviada através da rede é de 50 a 100 vezes maior que a Ultra ou Tight , mas por outro lado, a carga de processamento é nula.

Mouse buttons: Define a operação dos botões do mouse, emulando um mouse de 3 botões clicando nos dois ao mesmo tempo, ou ainda permitindo trocar as funções dos 2 e 3.

Mouse cursor: Opções de configuração do cursor remoto.

Display: Opções de visualização remota, incluindo mostrar barra de ferramentas superior (toolbar), conectar somente para visualização (View only), abrir conexão em tela cheia (full screen), ou ajustar tamanho da tela de visualização (Viewer scale), permitindo ajustar a janela de visualização de acordo com as configurações de vídeo disponíveis, selecionando a porcentagem de redução ou ampliação. Temos também a configuração do escalonamento da tela do servidor para a visualização em Server Screen Scale By, onde podemos definir por exemplo 1/2 ou 1/3.

Miscellaneous: Aqui temos outras configurações específicas, como a opção Share the Server, ou simplesmente compartilhar o servidor e a desabilitação de cópias através da área de transferência.



Usando o UltraVNC para Conexões Remotas

Para iniciar o UltraVNC Viewer e conectar com um servidor precisamos inicialmente nos certificar de algumas informações:

Endereço do Servidor: seja o endereço IP na rede local, endereço IP da conexão de internet, nome de domínio ou nome de DDNS. Por exemplo 192.168.0.102, 200.143.84.124, guiadocftv.com.br ou guiadocftv.no-ip.info.

Porta de conexão: Os padrões são cliente 5900 e Web 5800, mas por questões de segurança deve-se utilizar portas altas diferentes do padrão.

Roteamento: O redirecionamento das portas utilizadas deve estar devidamente configurado no roteador da conexão de internet do servidor.
Servidor Ativo: O servidor deve estar devidamente configurado e rodando para poder ser acessado.

Para ativar UltraVNC Server, podemos inicia-lo através do menu iniciar, pelos ícones da área de trabalho ou ainda pela linha de comando do DOS. Se o servidor tiver sido configurado como serviço do sistema, não será necessário inicia-lo uma vez que o mesmo será iniciado automaticamente na inicialização do Windows, mesmo que não seja feito o logon do usuário, está é uma das grandes vantagens de rodar o servidor como um serviço do sistema. Uma vez que o servidor estiver rodando, o ícone do servidor será ativado no traybar do windows ao lado do relógio do sistema, e o computador estará pronto para ser acessado.



Para iniciar o UltraVNC Viewer, clique no respectivo icone do menu iniciar, no ícone da área de trabalho ou ainda pela linha de comando do DOS. Se o cliente estiver configurado para inicializar com o sistema em Listening Mode o icone estará disponível no traybar, basta clicar duas vezes no icone para abrir a janela de conexão.



Para acessar um servidor remoto uma vez que módulo cliente UltraVNC Viewer estiver em execução, digite o endereço IP do servidor ou nome de dominio clique em connect e forneça a senha. Se você não souber o endereço IP da conexão, entre no prompt do MS-DOS e digite “ipconfig/all” ou "netstat -r", estes comandos irão indicar o endereço IP da sua conexão atual.

Inicialmente devemos preencher o campo VNC Server com o endereço IP da rede local, endereço IP da conexão de internet, o nome de domínio ou nome de DDNS. Como por exemplo 192.168.0.102, 200.143.84.124, guiadocftv.com.br ou guiadocftv.no-ip.info. Caso utilizamos a porta padrão não é necessário especifica-la no endereço. Por outro lado caso tenha sido modificada, que é a opção mais recomendada para conexões via internet, devemos especificar a porta, após o endereço do servidor no formato servidor:porta, como por exemplo 192.168.0.102:16990, 200.143.84.124:8900, guiadocftv.com.br:8888 ou guiadocftv.no-ip.info:35123.

Na janela do Viewer temos as seguintes opções referentes a conexão que vamos efetuar:

Quick Options

Ou em português Opções Rápidas definem o formato, codificação e compactação a ser utilizada, contendo as seguintes definições:



Se clicarmos no botão Options, poderemos configurar manualmente os parâmetros pré-configurados indicados acima.

View Only
Nenhum movimento do mouse ou digitação no teclado é enviado pelo viewer (cliente) ao servidor. A tela do servidor poderá ser somente visualizada, porém não será controlada.

Auto scaling
A janela do viewer é automaticamente escalonada para o melhor tamanho de forma a encaixar na tela do computador local.

Use DSM Plugin
Permite escolher um Plugin DSM (Data Stream Modification) e configura-lo. Este plugin irá inserir uma maior segurança efetuando a encriptação dos dados transmitidos. Para utilizar um plugin de encriptação, habilite esta opção e selecione um dos plugins disponíveis na caixa de seleção. O arquivo DSMPlugin deve estar na mesma pasta que o aplicativo cliente vncviewer.exe. E obviamente, o mesmo plugin deve ser usado pelo UltraVNC server que será conectado.

Proxy/Repeater
Aqui deve ser especificado o endereço do repetidor, utilizado para conexões redirecionadas através de diferentes rotas.

Save connection settings as default
Salvar configurações da conexão como padrão. Se habilitada, as configurações atuais serão gravadas como opções padrões em um arquivo de configuração. Desta forma na próxima vez que o viewer for executado, não será necessário selecionar as opções novamente, pois já serão pré-selecionadas pelo padrão salvo.


Para acessar um servidor remoto uma vez que módulo cliente UltraVNC Viewer estiver em execução e devidamente configurado, selecione as opções de configuração da conexão, digite o endereço IP do servidor ou nome de dominio, especifique a porta e clique em Connect, uma vez que o servidor for localizado será exibida uma janela para a digitação da senha de acesso. Digite a senha e pressione Log On para abrir a conexão.

Uma vez que a senha for confirmada será finalmente mostrada a janela do servidor remoto, conforme nosso exemplo abaixo.


Na parte superior temos a Barra de Ferramentas do UltraVNC Viewer, e dentro da janela o mouse e teclado do computador cliente irão controlar o mouse e teclado do servidor e terá praticamente a mesma operação que teriamos em frente ao computador servidor, com acesso aos menus, ícones, janelas, etc.


Barra de Ferramentas do VNCViewer



Temos aqui uma breve descrição dos comandos da Barra de Ferramentas do UltraVNC Viewer, e suas funções, na sua respectiva ordem.

• Enviar comando CTRL+ALT+DEL
• Passar para o Modo Tela Cheia
• Mostrar Opções de Conexão (Connection Options)
• Atualizar Tela
• Enviar comando 'Menu Iniciar' (CTRL+ESC) ao servidor
• Enviar comando de teclas personalizado
• Mostrar Janela de Status de Conexão
• Fechar Conexão
• Ocultar Barra de Ferramentas
• Bloquear Teclado, Mouse e Monitor remoto
• Abrir a janela de Transferência de Arquivos
• Selecionar Janela Única para Visualização (Fecha o desktop e as demais janelas)
• Seleciona a Visualização de todo o Desktop Remoto
• Abrir Janela de Chat

A direita da barra de ferramentas temos o endereço do servidor ao qual o viewer está conectado e um icone de indicação do trafego de dados TX e RX, que irá piscar em Verde quando transmitindo e em Vermelho quando recebendo.


Menu Contextual do VNCViewer

É o menu com opções de configuração e utilização do cliente na conexão atual, é aberto quando clicamos na barra de título do VNCViewer ou no icone do traybar.



File Transfer... (Teclas CTRL+ALT+F7): Abre a janela de transferência de arquivos.

Chat... (Teclas CTRL+ALT+F8): Abre a janela de diálogo via chat.



Show/Hide Toolbar (Teclas CTRL+ALT+F9):Mostrar/Ocultar a barra de ferramentas do VNCViewer.

Disable/Enable Remote Input and Monitor: Desabilita o teclado, mouse e monitor do computador remoto.

Connection options... (Teclas CTRL+ALT+F6): Abre a janela com as opções configuração de conexão.

Connection info: Abre a janela de informações da conexão atual.

Request screen refresh (Solicita Atualização de Tela): Redesenha toda a tela do VNCViewer. Algumas vezes a visualização do VNCViewer perde algumas atualizações e a tela fica corrompida, especialmente em conexões lentas. Uma atualização da tela assegura que a tela do VNCViewer e a do computador remoto estão sincronizadas.

View only (Visualizar Somente): Desabilita o envio de comandos do mouse e teclado do VNCViewer para o computador remoto.

Various screen size options (Opções gerais de tamanho de tela)

Full screen mode (Teclas CTRL+ALT+F12), é o modo tela cheia que mostra a tela do computador remoto ocupando toda a área disponível na tela do computador local. Este comando em conjunto com a função ocultar a barra de ferramentas, teremos a sensação de estarmos praticamente em frente ao computador remoto.
Half Size é modo de metade da tela do servidor.
No modo Scale Screen temos o escalonamento da visualização da tela do computador remoto, ajustando a janela com tamanho definido pelo usuário.
O modo escalonado do servidor gera um menor tráfego de dados no lado do servidor utilizando um algoritmo de mistura de pixels para otimizar a visualização.
O modo Fuzzy screen combina o escalonamento do servidor e cliente buscando fornecer um visual rasoável e uma boa velocidade, mesmo em conexões lentas.
O modo Autoscaling ajusta a tela do servidor de forma a encaixar completamente na tela do viewer.
O modo Normal screen (Teclas CTRL+F11) mostra a tela do servidor em tamanho natural 1:1.

Full/256 Colors: Modifica a profundidade de cores da tela.

Send various key combinations: Envia comandos de teclas CTRL+ALT+DEL (Teclas CTRL+ALT+F4), CTRL+ESC (abre o menu iniciar), CTRL+Seta Baixo, CTRL+Seta Cima, ALT+Seta Baixo or ALT+Seta Cima.

New connection...: Inicia uma nova conexão.

Save connection info as... (Teclas CTRL+ALT+F5): Salva as opções e configurações da conexão atual em um arquivo .vnc.

About VNC Viewer...: Créditos e informações sobre o aplicativo VNCViewer.


Teclas de Atalho Adicionais
Pressione ALT ou CTRL envia ALT/CTRL diretamente para o VNCServer, da mesma forma se selecionarmos “CTRL DOWN/CTRL UP/ALT DOWN/ALT UP" a partir do menu contextual do viewer.

Quando a função SCROLL-LOCK está selecionada, todas as combinações de tecla (exceto CTRL+ALT+DEL) são enviados diretamente para o computador remoto, como indicado abaixo:

• Ao invés de alternar entre aplicativos no lado do cliente, o ALT+TAB alterna aplicativos no Servidor.
• Ao invés de abrir o menu iniciar no lado do cliente, o CTRL+ESC é enviado ao VNCServer.
• Ao invés de abrir o menu do sistema no lado do cliente, o ALT+SPACE é enviado ao VNCServer.
• Pressionando a tecla Break/Pause alterna a ativação/desativação do modo tela cheia.
• Pressionando a tecla PRINT-Screen é solicitada uma atualização completa de tela (mesmo comando do menu do viewer)

Todas estas funções podem ser desabilitas desligando a função SCROLL-LOCK pressionando a respectiva tecla.

Para finalizar a conexão basta fechar a janela do UltraVNC Viewer diretamente (Alt+F4) ou abrir o menu e clicar em Close.


Conectando via Browser

O UltraVNC ainda dispões do JavaViewer, que pode ser extremamente útil para conexões de emergência em computadores temporários, como em cyber-cafés por exemplo, qualquer browser atual como o Internet Explorer, Firefox, Mozilla, Opera, entre outros, pode ser utilizado para essa conexão. Desde que o servidor esteja com o JavaViewer habilitado. Na barra de endereço digitamos o endereço do servidor não esquecendo da porta, que por padrão é 5800. Abaixo temos a imagem de uma conexão através do Browser Mozilla Firefox.



Temos praticamente todas as funções disponíveis além de uma capacidade de conectar com nosso servidor utilizando qualquer Sistema Operacional, como Linux, Unix, Mac Os, etc. A única desvantagem é a pequena perda de velocidade mas que não chega a comprometer a sua utilização.


Conclusão

Verificamos aqui as principais características, formas de instalação e utilização desta fantástica ferramenta de suporte remoto chamada VNC. Através do VNC temos condições de facilitar e muito a manutenção de sistemas de informática mesmo a distância. Isso em sistemas de CFTV, é uma excelente vantagem e nos permite dar uma assistência muito mais ágil a nossos clientes, seja na manutenção corretiva, preventiva ou no treinamento inicial ou mesmo na solução de dúvidas operacionais.

Apesar de todas estas vantagens, verifique sempre junto ao seu cliente se o mesmo permite a utilização desta ferramenta, respeite a sua privacidade e proteja-se de qualquer tipo de implicação. Caso utilize um contrato, insira cláusulas referentes a manutenção remota. Como forma de segurança você pode deixar o VNC instalado no servidor de CFTV sem instala-lo como serviço ou inicializando automaticamente e eventualmente caso o cliente necessite algum tipo de assistência, solicite que ele inicialize o UltraVNC Server.

Dentro dos projetos de Addons do UltraVNC existem alguns softwares especiais como o Single Click que gera um mini servidor do VNC que não necessita de redirecionamento de portas pois efetua a conexão reversa, ou seja a conexão parte do servidor para o Viewer no modo Listening, esta é uma outra ótima ferramenta. Mais recentemente foi lançado o PCHelpware que tem funções similares ao UltraVNC Single Click. Outros Addons são o Repeater e o Nat To Nat (NAT2NAT) para possibilitar a operação do Ultra VNC sobre redes de maior complexidade.

Downloads:

Ultra VNC Server e Cliente


Ultra VNC Driver de Video p/ Servidor do UltraVNC

Arquivo de tradução para Pt Br

Um comentário:

Anônimo disse...

Valeu irmão, seu tutorial ficou muito bom, bem explicativo e ilustrado.