# Protocolo de tunelamento

Redes de computadores utilizam um protocolo de tunelamento quando um protocolo de rede (o protocolo de entrega) encapsula um protocolo de carga diferente. Por meio da utilização de tunelamento pode-se, por exemplo, transportar uma carga (dados) sobre uma rede de entrega incompatível, ou fornecer um caminho seguro através de uma rede não confiável. Lembra a ideia de um túnel entre uma origem e um destino.
Tunelamento normalmente contrasta com um modelo de protocolo em camadas como aqueles do modelo OSI ou TCP/IP. Geralmente, o protocolo de entrega opera em um nível igual ou maior no modelo em que o protocolo de carga opera.
Em se tratando de um ramo do protocolo TCP/IP, o SSH e o Telnet, pode-se criar uma conexão entre dois computadores, intermediada por um servidor remoto, fornecendo a capacidade de redirecionar pacotes de dados. Por exemplo, se alguém se encontra dentro de uma instituição cuja conexão à Internet é protegida por um firewall que bloqueia determinadas portas de conexão, não será possível, por exemplo, acessar e-mails via POP3, o qual utiliza a porta 110, nem enviá-los via SMTP, pela porta 25.
As duas portas essenciais são a 80, para HTTP e a 443, para HTTPS, as quais garantem uma navegação em páginas da Web sem restrições. Para evitar conexões indesejadas ou que comprometam a segurança da instituição as demais portas não são abertas pelo administrador de rede. Contudo, isso compromete a dinamicidade de aplicações na Internet. Um funcionário ou aluno que queira acessar painéis de controle de sites, arquivos via FTP ou amigos via Instant Messengers, por exemplo, não terá a capacidade de fazê-lo, uma vez que as respectivas portas para seus funcionamentos estão bloqueadas.
Para quebrar essa imposição rígida, porém necessária, o SSH oferece o recurso do Túnel. O processo se caracteriza por duas máquinas ligadas ao mesmo servidor SSH, que faz apenas o redirecionamento das requisições do computador que está sob firewall. O usuário envia para o servidor um pedido de acesso ao servidor pop.xxxxxxxx.com pela porta 443 (HTTPS), por exemplo. Então, o servidor acessa o computador remoto e requisita a ele o acesso ao protocolo, retornando um conjunto de pacotes referentes à aquisição. O servidor codifica a informação e a retorna ao usuário via porta 443. Sendo assim, o usuário tem acesso a toda a informação que necessita.
É importante salientar que a prática do Tunnelling não é ilegal caso o fluxo de conteúdo esteja de acordo com as normas da instituição.

## IP tunneling

Um IP Tunnel é um termo técnico para designar o encapsulamento de um pacote IP dentro de outro com o propósito de simular uma conexão física entre duas redes remotas através de uma outra rede.
Este processo é frequentemente usado com o protocolo IPsec para criar um meio de conectar duas redes usando uma VPN. O meio para que essas duas redes se vejam é, tipicamente, a Internet. Dessa forma o fator limitador que é a distância é praticamente eliminado, permitindo a utilizadores de uma rede dispôr dos recursos de outra rede remota como se fossem locais.

## Proxy tunnel

Um proxy tunnel é uma conexão SSH criada por meio de um proxy até um host com um servidor SSH. Através desse túnel podem ser trafegadas quaisquer informações sem possibilidade de bloqueio do proxy por filtro de conteúdo, uma vez que todos os dados estão criptografados.
O túnel proxy pode ser criado em cima de qualquer tipo de socket proxy ou http proxy que permita conexões SSL (https).

### Recursos

A conexão SSH permite a associação de portas em cada ponta, assim abrindo um novo gateway TCP em uma porta específica e ainda permite o uso de portas dinâmicas em uma das pontas, ou seja, através de uma porta estática pode-se sair em qualquer porta solicitada na outra ponta.
Claro como parece, toda rede com um proxy com suporte a SSL é passível de bypass em seu firewall.
Obviamente com uma conexão fechada de ponta a ponta o acesso também pode ser feito de fora para dentro, e um serviço interno de rede pode ser exposto para fora da rede com túnel proxy reverso.
A única forma de filtrar esse tipo de acesso é negar por padrão qualquer conexão SSL via proxy e liberar sites com SSL sob demanda.