Om tun0 en 'n VPN-protokol as een ding te behandel, stuur mense na die verkeerde log. Die koppelvlak is 'n plaaslike grens waar 'n program in die gebruikerspasie IP-pakkette met die kern uitruil. Die protokol is wat daardie program met die pakkette doen sodra hy hulle het: vervoer, verifikasie, versleuteling en 'n eweknie. Om die toestel te skep, kies nie een daarvan nie.

Twee komponente, een pakketpad

Die kern skryf 'n IP-pakket in die toestel, en die program lees dit uit 'n lêerbeskrywer. In die ander rigting skryf die program 'n pakket terug en die kern stuur dit verder asof dit op 'n werklike koppelvlak aangekom het. TUN dra IP, terwyl TAP Ethernet-rame dra. Om 'n pakket by daardie grens te lees, wys die rame, en dit is presies waarvoor die toestel is.

Alles anderkant daardie grens is die program se saak. Twee programme kan dieselfde koppelvlakkonsep gebruik en heeltemal verskillende dinge met die pakkette doen. Die toestel self het geen mening oor wat volgende gebeur nie. Die lêerbeskrywer is die enigste handvatsel wat die program aan die kernkant het.

Skep die toestel, kyk dan na die grens

Skep 'n toestel doelbewus wanneer jy die grens toets. 'n Bliwendetoestel oorleef die proses wat dit geskep het, wat nuttig is vir eksperimente en daarna 'n algemene bron van verwarring. Kyk na die vlae en die eienaar voordat jy die VPN blameer.

sudo ip tuntap add dev tun9 mode tun user alice
ip -d link show tun9

Die skakelbesonderhede wys die toesteltipe en die aangehegte eienaar. As geen proses dit oop het nie, gaan pakkette wat daarin geskryf word nêrens heen nie. 'n Toestel sonder 'n proses wat daaraan gekoppel is, kan in 'n skakellys gesond lyk terwyl dit niks deurlaat nie.

Wat die koppelvlaknaam nie kan belowe nie

Die koppelvlaknaam sê niks oor versleuteling of verifikasie nie. 'n Program kan pakkette in TLS, in 'n pasgemaakte protokol, in IPsec of in niks hoegenaamd toedraai. Om TUN eerder as TAP te kies, verander die rame by die grens, nie die sekuriteitsontwerp nie. Die keuse van rame is werklik, en dit is baie kleiner as die sekuriteitsvraag.

Opsporing werk op dieselfde manier: 'n waarnemer sien die buitenste protokol op die draad, nie 'n etiket wat sê watter plaaslike toestel dit geproduseer het nie. 'n Tonnel wat soos iets anders lyk, doen dit weens sy buitenste protokol, nie weens sy koppelvlaknaam nie. 'n Waarnemer kan nie sien watter plaaslike toestel 'n pakket geproduseer het nie, net hoe die pakket lyk. Hou daardie twee vrae apart wanneer jy produkte vergelyk, want een antwoord impliseer nooit die ander nie.

Pas die regstelling by die fassende stadium

Skei die fases van mislukking wanneer iets breek. 'n Ontbrekende toestel, 'n toestemmingsfout en 'n verwerpte aanmelding lewer verskillende bewyse en verskillende regstellings. Lees eers die plaaslike toestand, dan die program se eie log, dan die eweknie se siening. Lees al drie voordat jy enigiets verander.

ip -d link show tun0
journalctl -u openvpn-client@corp --since '10 min ago'

As die toestel bestaan en 'n proses hou dit, werk die plaaslike grens en die probleem lê verder uit. As die toestel ontbreek, sal geen hoeveelheid geloofsbriewe-kontrole help nie. 'n Fase wat jy kan benoem, is 'n fase wat jy kan toets. Die TUN/TAP-dokumentasie beskryf die grens en die toestelmodel.

Verwante artikels