Como o @slm já escreveu, uma interface TUN é um loopback de software que emula uma interface de rede da mesma forma que uma interface TAP. Em termos práticos, uma interface TUN é a emulação de uma interface da camada 3 . Ou seja, é um dispositivo de emulação de camada de rede que pode encapsular pacotes de dados de natureza variada, seja TCP, UDP, SCTP ou pacotes encapsulados, como PPP, PPTP, AH / IPSEC, qualquer que seja. Por outro lado, uma interface TAP é a emulação de uma interface de camada 2 , ou seja, é um dispositivo de emulação de link de dados que pode funcionar como uma Ethernet bruta, arco, anel de token etc.
Isso tem implicações práticas diferentes. Por exemplo, ao projetar um firewall, se você deseja criar uma rede interna NAT com endereços não roteáveis, você utilizaria interfaces TUN para criar sua ponte de filtragem. Se você possui um conjunto de endereços IP públicos que podem ser atribuídos a hosts internos, mas ainda assim deseja firewall todo o tráfego, utilizaria as interfaces TAP para emular uma ponte Ethernet na qual filtrar os pacotes de dados. Isso, aliás, é a base do que é chamado de "firewall transparente".