tun0 va VPN protokolini bitta narsa deb hisoblash odamlarni noto'g'ri jurnalga yo'naltiradi. Interfeys — bu foydalanuvchi fazosidagi dastur yadro bilan IP paketlarini almashadigan mahalliy chegara. Protokol — bu dastur paketlarni olgandan keyin ular bilan qiladigan ishi: transport, autentifikatsiya, shifrlash va sherik. Qurilmani yaratish bularning hech birini tanlamaydi.

Ikki komponent, bitta paket yo'li

Yadro qurilmaga IP paket yozadi, dastur esa uni fayl deskriptoridan o'qiydi. Qarama-qarshi yo'nalishda dastur paketni qaytarib yozadi va yadro uni haqiqiy interfeysga kelgandek marshrutlaydi. TUN IP tashiydi, TAP esa Ethernet freymlarini tashiydi. O'sha chegarada paketni o'qish freymlashni ko'rsatadi va qurilma aynan shu uchun kerak.

O'sha chegaradan narigi hamma narsa dasturning ishi. Ikki dastur bir xil interfeys tushunchasidan foydalanib, paketlar bilan butunlay boshqa ishlarni qilishi mumkin. Qurilmaning o'zi keyin nima bo'lishi haqida hech qanday fikrga ega emas. Fayl deskriptori — dasturning yadro tomonidagi yagona tutqichi.

Qurilmani yarating, so'ng chegarani kuzating

Chegarani sinab ko'rayotganda qurilmani ataylab yarating. Doimiy qurilma uni yaratgan jarayondan keyin ham qoladi, bu tajribalar uchun foydali va keyinchalik chalkashlikning odatiy manbai bo'ladi. VPNni ayblashdan oldin bayroqlar va egasini tekshiring.

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

Ulanish tafsilotlari qurilma turini va unga bog'langan egasini ko'rsatadi. Hech qanday jarayon uni ochiq ushlamasa, ichiga yozilgan paketlar hech qayerga ketmaydi. Jarayon bog'lanmagan qurilma ulanishlar ro'yxatida sog'lom ko'rinishi mumkin, lekin hech narsani o'tkazmaydi.

Interfeys nomi nima va'da qila olmaydi

Interfeys nomi shifrlash yoki autentifikatsiya haqida hech narsa aytmaydi. Dastur paketlarni TLS ga, o'z protokoliga, IPsec ga yoki hech narsaga o'rashi mumkin. TAP o'rniga TUN tanlash chegaradagi freymlashni o'zgartiradi, xavfsizlik dizaynini emas. Freymlash tanlovi haqiqiy va xavfsizlik savolidan ancha kichik.

Aniqlash ham xuddi shunday ishlaydi: kuzatuvchi simdagi tashqi protokolni ko'radi, qaysi mahalliy qurilma uni yaratganini aytadigan yorliqni emas. Boshqa narsaga o'xshab ko'rinadigan tunnel buni interfeys nomi tufayli emas, tashqi protokoli tufayli qiladi. Kuzatuvchi paketni qaysi mahalliy qurilma yaratganini ko'ra olmaydi, faqat paketning qanday ko'rinishini ko'radi. Mahsulotlarni taqqoslaganda bu ikki savolni alohida tuting, chunki bir javob hech qachon ikkinchisini anglatmaydi.

Tuzatishni muvaffaqiyatsiz bosqichga moslang

Biror narsa buzilganda muvaffaqiyatsizlik bosqichlarini ajrating. Yo'q qurilma, ruxsat xatosi va rad etilgan kirish turli dalillar va turli tuzatishlar beradi. Avval mahalliy holatni, keyin dasturning o'z jurnalini, keyin sherikning nuqtai nazarini o'qing. Biror narsani o'zgartirishdan oldin uchtasini ham o'qing.

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

Agar qurilma mavjud bo'lsa va jarayon uni ushlab tursa, mahalliy chegara ishlaydi va muammo uzoqroqda. Agar qurilma yo'q bo'lsa, hech qanday hisob ma'lumotlarini tekshirish yordam bermaydi. Nom bera oladigan bosqich — sinab ko'ra oladigan bosqich. TUN/TAP hujjatlari chegarani va qurilma modelini tavsiflaydi.

O'xshash maqolalar