Kaj počne TUN in kaj mora VPN-protokol še vedno početi
TUN premika pakete IP med jedrom in programom. Prenos, preverjanje pristnosti in šifriranje pripadajo protokolu, ki ga govori ta program.
Obravnavanje tun0 in protokola VPN kot ene stvari vodi ljudi do napačnega dnevnika. Vmesnik je lokalna meja, kjer program v uporabniškem prostoru izmenjuje pakete IP z jedrom. Protokol je tisto, kar ta program počne s paketi, ko jih ima: prenos, preverjanje pristnosti, šifriranje in partner. Ustvarjanje naprave ne izbere ničesar od tega.
Dve komponenti, ena pot paketa
Jedro zapiše paket IP v napravo, program pa ga prebere iz opisnika datoteke. V nasprotni smeri program zapiše paket nazaj in jedro ga usmeri, kot da je prispel na resnični vmesnik. TUN prenaša IP, medtem ko TAP prenaša okvire Ethernet. Branje paketa na tej meji pokaže okvirjanje, in naprava je prav za to.
Vse za to mejo je stvar programa. Dva programa lahko uporabljata isti koncept vmesnika in s paketi počneta povsem različne stvari. Naprava sama nima mnenja o tem, kaj se bo zgodilo naprej. Opisnik datoteke je edini prijem, ki ga ima program na strani jedra.
Ustvarite napravo in nato opazujte mejo
Napravo ustvarite namerno, ko preizkušate mejo. Trajna naprava preživi proces, ki jo je ustvaril, kar je koristno za poskuse in pozneje pogost vir zmede. Preden obtožite VPN, preverite zastavice in lastnika.
sudo ip tuntap add dev tun9 mode tun user alice
ip -d link show tun9Podrobnosti povezave pokažejo vrsto naprave in pridruženega lastnika. Če je noben proces ne drži odprte, paketi, zapisani vanjo, ne gredo nikamor. Naprava brez pridruženega procesa je lahko na seznamu povezav videti zdrava, medtem ko ničesar ne prepušča.
Česa ime vmesnika ne more obljubiti
Ime vmesnika ne pove ničesar o šifriranju ali preverjanju pristnosti. Program lahko pakete zavije v TLS, v lasten protokol, v IPsec ali v nič. Izbira TUN namesto TAP spremeni okvirjanje na meji, ne varnostne zasnove. Izbira okvirjanja je resnična in je veliko manjša od varnostnega vprašanja.
Zaznavanje deluje enako: opazovalec na žici vidi zunanji protokol, ne oznake, ki bi povedala, katera lokalna naprava ga je ustvarila. Tunel, ki je videti kot nekaj drugega, je tak zaradi svojega zunanjega protokola, ne zaradi imena vmesnika. Opazovalec ne more videti, katera lokalna naprava je ustvarila paket, samo kako paket izgleda. Ti dve vprašanji imejte ločeni, ko primerjate izdelke, ker en odgovor nikoli ne pomeni drugega.
Prilagodite popravek stopnji, ki odpove
Ko se kaj pokvari, ločite stopnje odpovedi. Manjkajoča naprava, napaka v dovoljenjih in zavrnjena prijava dajo različne dokaze in različne popravke. Najprej preberite lokalno stanje, nato dnevnik samega programa, nato pogled partnerja. Preberite vse tri, preden karkoli spremenite.
ip -d link show tun0
journalctl -u openvpn-client@corp --since '10 min ago'Če naprava obstaja in jo proces drži, lokalna meja deluje, težava pa je dlje. Če naprave ni, nobeno preverjanje poverilnic ne bo pomagalo. Stopnja, ki jo lahko poimenujete, je stopnja, ki jo lahko preizkusite. Dokumentacija TUN/TAP opisuje mejo in model naprave.