Como estabelecer Tuneis para a Informática da UFRGS

O que é necessário

Putty: ferramenta usada para estabelecer um tunel seguro com o máquina portal de entrada da Informática. Ferramenta essencial.
WinScp: ferramenta usada para fazer a transferência de arquivos. Ferramenta a ser usada se o objetivo for de download/upload de arquivos.
Firefox: browser usado para navegar na internet. Ferramenta necessária se o objetivo for o de navegar na Internet através da Informática.

Configuração do Putty

putty1
Figura 1 - Janela básica de configuração

Observar os seguintes campos:
Host Name (or IP address): nome (endereço) do gateway de entrada na rede do Instituto
Port: deve ser 22, pois é a porta padrão de conexão para o protocolo SSH
Connection type: SSH

Na Category SSH, escolher Tunnel: clicar no sinal "+" a esquerda do SSH no item Connection e selecionar "Tunnel". O resultado aparece abaixo:

putty2
Figura 2 - Janela de configuração dos tuneis

Observar a lista em "Forward ports". Na figura, aparecem duas portas. Em cada uma delas está descrito a porta na máquina local, onde inicia o tunel (no caso L2222 e L3128) e o endereço de destino do tráfego que será enviado pelo tunel (no caso 143.54.13.131:22 e power-proxy.inf.ufgrs.br:3128).

O início do tunel é a máquina local (representada pelo nome "localhost" ou endereço "127.0.0.1") e pela porta na máquina local. Nos exemplos "L2222"  e "L3128". (a letra "L" significa "Local"). O tráfego que deve atravessar o túnel será enviado para a máquina "localhost" na porta indicada.

O destino do tunel (e náo se pode dizer o final do tunel porque a comunicação é bidirecional) é o gateway de entrada na rede local da Informática. Esse gateway receberá a comunicação enviada através do tunel. Entretanto, essa máquina tem que ser informada sobre o que fazer com o tráfego recebido através desse túnel. Essa informação do destino do tráfego que passa através do túnel é informada na segunda coluna de cada linha da lista de "Forwarded ports". No primeiro exemplo apresentado o tráfego destinado para a porta 2222 do localhost será enviado através do túnel. Esse tráfego será recebido pelo gateway, que vai repassá-lo para a porta 22 da máquina 143.54.13.131. No segundo exemplo, o tráfego direcionado para a porta 3128 do localhost será recebido pelo gateway e encaminhado para a porta 3128 da máquina power-proxy.inf.ufrgs.br.

Na figura abaixo está um esquema em que aparece a máquina cliente (localhost), o gateway de entrada na rede, a máquina destino, o túnel e o tráfego de dados originado ma máquina cliente e direcionado para o servidor. Os valores apresentados na figura correspondem a situação configurada na linha "L2222    143.54.13.131:22".

tunel
Figura 3 - Exemplo de configuração do tunel (sessão SSH)

O que falta fazer é configurar o Cliente (que está rodando na Máquina Cliente) para que o tráfego originado seja enviado através do túnel. Para isso, o tráfego deve ser enviado para a porta local configurada. No exemplo apresentado na figura anterior, isso significa configurar o envio do tráfego para a porta 2222. Cada aplicação cliente possui uma forma diferente de se fazer essa configuração. No caso do WinScp, a configuração é feita conforme a janela que aparece na figura 4: basta configurar o campo "Port number" com o valor configurado no túnel. No caso do exemplo, é a porta 2222.

WinSCP1
Figura 4 - Configuração da porta de saída so WinSCP, para usar o tunel

No caso de se desejar usar o navagador, deve-se obter o endereço e a porta a ser usado para essa finalidade. No caso do Instituto de Informática, deve-se direcionar o tráfego para "power-proxy.inf.ufgrs.br:3128". Notar que a máquina destino do tráfego assim como a porta são específicos e só será possível navegar se forem utilizados esses valores. No exemplo apresentado na configuração da figura 2 está sendo configurada a porta local 3128 para formar um túnel até a máquina que possibilida a navegação. Essa configuração é vista na figura 5.

tunel http
Figura 5 - Exemplo de configuração do tunel (sessão HTTP)

Finalmente, é necessário configurar o browser de maneira que utilize a porta 3128 para enviar e receber o tráfego. Novamente, isso depende de cada browser. No caso do Firefox, deve-se escolher o meno "Tools", "Options", o que leva a tela apresentada na figura 6.

firefox tools options
Figura 6 - Janela de configuração das opções do Firefox

Na janela apresentada na figura 6, escolher "Advanced" e, dentro da nova tela apresentada, escolher a tab "Network", conforme apresentado na figura 7.

Firefox Advanced Network
Figura 7 - Janela de configuração Advanced, Network

Nessa tela, clicar no botão "Settings", o que levará a janela onde será informada a porta a ser usada, conforme apresentado na figura 8. Normalmente, a opção "No proxy" está selecionada. Entretanto, para navegar através do túnel, é necessário seleciona a opção "Manual proxy configuration". Então, digitar o endereço para onde enviar o tráfego. No caso exemplo, deve-se usar "localhost" e a porta 3128 (que é a porta local escolhida).

Adicionalmente, configurou-se para usar o mesmo endereço de destino para os outros protocolos (além do HTTP): SSL, FTP, Gopher e SOCKS

Firefox - Setup da porta
Figura 8 - Configuração da porta de saída do tráfego

Depois de configurado o Firefox, basta iniciar a navegar e todas as solicitações de página serão enviadas através da porta 3128 do localhost.