Que fai TUN e que aínda ten que facer o protocolo VPN
TUN move paquetes IP entre o núcleo e un programa. O transporte, a autenticación e o cifrado pertencen ao protocolo que fala ese programa.
Tratar tun0 e un protocolo VPN como unha soa cousa leva a xente ao rexistro equivocado. A interface é unha fronteira local onde un programa do espazo de usuario intercambia paquetes IP co núcleo. O protocolo é o que ese programa fai cos paquetes unha vez os ten: transporte, autenticación, cifrado e un par. Crear o dispositivo non escolle nada diso.
Dous compoñentes, unha soa ruta de paquetes
O núcleo escribe un paquete IP no dispositivo e o programa leuno dun descritor de ficheiro. Na outra dirección o programa escribe un paquete de volta e o núcleo encamíñao como se chegase por unha interface real. TUN transporta IP, mentres que TAP transporta tramas Ethernet. Ler un paquete nesa fronteira mostra a encapsulación, que é exactamente para o que serve o dispositivo.
Todo o que hai máis alá desa fronteira é asunto do programa. Dous programas poden usar o mesmo concepto de interface e facer cousas completamente distintas cos paquetes. O dispositivo en si non ten opinión sobre o que pasa despois. O descritor de ficheiro é o único agarradoiro que o programa ten do lado do núcleo.
Cree o dispositivo e logo observe a fronteira
Cree un dispositivo a propósito cando probe a fronteira. Un dispositivo persistente sobrevive ao proceso que o creou, o que resulta útil para experimentos e unha fonte habitual de confusión despois. Revise as bandeiras e o propietario antes de culpar a VPN.
sudo ip tuntap add dev tun9 mode tun user alice
ip -d link show tun9O detalle da ligazón mostra o tipo de dispositivo e o propietario asociado. Se ningún proceso o ten aberto, os paquetes que se escriben nel non van a ningures. Un dispositivo sen proceso asociado pode parecer san nunha listaxe de ligazóns mentres non pasa nada.
O que non pode prometer o nome da interface
O nome da interface non di nada sobre o cifrado nin a autenticación. Un programa pode envolver os paquetes en TLS, nun protocolo propio, en IPsec ou en nada. Escoller TUN en lugar de TAP cambia a encapsulación na fronteira, non o deseño de seguridade. A elección de encapsulación é real, e é moito menor que a cuestión de seguridade.
A detección funciona igual: un observador ve o protocolo exterior no cable, non unha etiqueta que diga que dispositivo local o produciu. Un túnel que parece outra cousa faino polo seu protocolo exterior, non polo nome da súa interface. Un observador non pode ver que dispositivo local produciu un paquete, só como é o paquete. Manteña esas dúas preguntas separadas cando compare produtos, porque unha resposta nunca implica a outra.
Axuste a solución á etapa que falla
Separe as etapas de fallo cando algo se rompe. Un dispositivo ausente, un erro de permisos e un inicio de sesión rexeitado producen probas e solucións distintas. Lea primeiro o estado local, logo o rexistro do propio programa e logo a visión do par. Lea os tres antes de cambiar nada.
ip -d link show tun0
journalctl -u openvpn-client@corp --since '10 min ago'Se o dispositivo existe e un proceso o sostén, a fronteira local funciona e o problema está máis alá. Se falta o dispositivo, ningunha cantidade de comprobación de credenciais axudará. Unha etapa que pode nomear é unha etapa que pode probar. A documentación de TUN/TAP describe a fronteira e o modelo do dispositivo.