Proxy
Um proxy é um serviço ou sistema que é um "homem no meio" - ele recebe solicitações destinadas a algo diferente de si e entrega de acordo.
Normalmente, para um proxy, o protocolo não muda, o servidor proxy recebe o tráfego de um determinado protocolo e encaminha o uso do mesmo protocolo para o destino.
Os proxies HTTP fazem isso para o protocolo HTTP. O SOCKS faz isso no nível do TCP.
Tunelamento
O tunelamento está enviando o tráfego de um protocolo envolvido em outro protocolo. Você precisa de um software em ambas as extremidades do túnel que possa envolver os dados a serem enviados no protocolo desejado e, em seguida, desembrulhar no final do recebimento.
Se o protocolo "externo" suportar criptografia, o encapsulamento fornece um benefício de segurança. O SSH é um protocolo que suporta encapsulamento - você pode encapsular o HTTP através dele, e alguém que só pode ver a conexão SSH não poderá ver seu tráfego.
iodo é um exemplo de software que permite encapsular o HTTP por meio de solicitações de DNS.
VPN
Uma VPN real e real é baseada no conceito de tunelamento. O software na extremidade de envio ou "cliente" adiciona um adaptador de rede virtual ao seu sistema, geralmente exigindo suporte do sistema operacional ou um driver a ser instalado. Esse adaptador de rede virtual envolverá o tráfego de saída em um protocolo criptografado antes de encaminhá-lo para um servidor VPN por meio de sua NIC física. (Vários protocolos incluem PPTP, L2TP e OpenVPN).
Como isso se parece com qualquer outra NIC no seu sistema, os aplicativos e o sistema operacional podem usá-lo como qualquer outro NIC sem precisar estar ciente disso.
No terminal de recepção ou servidor , o software irá desembrulhar o tráfego recebido e, em seguida, encaminhar o tráfego para hosts em uma rede interna protegida ou para a Internet como um todo.