Nega tasdiqlangan Tailscale quyi tarmoq marshruti hali ham vaqt tugashi bilan yakunlanadi
Marshrutni tasdiqlash faqat quyi tarmoq marshrutini tarqatadi. Agar xizmat hali ham vaqt tugashi bilan yakunlansa, klientdagi marshrutni qabul qilish, uzatish va u uchun kirish qoidasini tekshiring.
Administrator konsolidagi tasdiq oxirgi qadamdek ko'rinadi, lekin unday emas. Avval ilova vaqt tugashi bilan yakunlanadi, shundan keyingina marshrutizator tarmoqda va marshrut tasdiqlanganini bilib olasiz. Tasdiq tarqatish bosqichi, ruxsat ham emas, uzatish kafolati ham emas. Paket quyi tarmoq marshrutizatori orqasidagi xostga yetib borishidan oldin to'rt bosqich mos kelishi kerak va har biri keyingisi muvaffaqiyatsiz bo'lganda ham muvaffaqiyatli bo'lishi mumkin. Ularni tartib bilan ko'rib chiqing va bardosh bermaydigan birinchi bosqichda to'xtang.
To'rt bosqich, bitta nosozlik
Marshrutizator prefiksni e'lon qiladi, tailnet bu e'lonni tasdiqlaydi, klient olgan marshrutni qabul qiladi va kirish siyosati aniq ulanishga ruxsat beradi. Bu uch xil komponent qabul qiladigan to'rt alohida qaror. Shuning uchun tasdiqlangan marshrut faqat tarmoq endi tailnet marshrutlash jadvalining bir qismi ekanini bildiradi.
To'rtinchi bosqich ko'pincha o'tkazib yuboriladi, chunki birinchi uchtasi ko'rinadigan holat yaratadi. Marshrutizatorning o'z tailnet manzilini qamrab olgan ruxsat uning orqasidagi xususiy quyi tarmoqni avtomatik qamrab olmaydi. Bu turli manzillar va siyosat har bir manzil uchun alohida baholanadi.
Linux'da uchinchi bosqichda odamlarni hayratga soladigan standart ham bor: quyi tarmoq marshrutlarini qabul qilish ixtiyoriy. Bir nechta GUI klient e'lon qilingan marshrutlarni standart bo'yicha qabul qiladi, shuning uchun aralash parkda bitta mashina nosoz ko'rinishi mumkin, qolganlari ishlayotganda.
Platformani taxmin qilish o'rniga nosoz mashinada sozlamani tasdiqlang. Ishlayotgan mashinalarda marshrut hech qachon yetishmayotgan qism bo'lmagan, shuning uchun tailnet tomoni sog'lom ekanini ular isbotlasin. Tailscale'ning quyi tarmoq marshrutizatorlari haqidagi hujjatlari tasdiqni, klientning marshrut qabul qilishini va siyosat bosqichini qamrab oladi.
Marshrutni klient ishlaydigan joyda tekshiring
Marshrutizatordan emas, nosoz klientdan boshlang. Marshrut mavjudligini va klient sozlamasi marshrutlarni qabul qilishga umuman ruxsat berishini tasdiqlang.
tailscale status
tailscale debug prefs | grep -i route
ip route get 10.20.0.42
Birinchi buyruq tengdoshlar ro'yxatini va quyi tarmoq marshrutizatoriga yetib borish mumkinligini ko'rsatadi, ikkinchisi marshrut qabul qilish bayrog'i bilan birga klient sozlamalarini chop etadi, uchinchisi quyi tarmoqdagi haqiqiy xost uchun qaysi interfeys ishlatilishini yadrodan so'raydi. Agar oxirgi buyruq Tailscale interfeysi o'rniga jismoniy interfeysni aytsa, marshrut jadvalga hech qachon kirmagan. Yetishmayotgan marshrut klient tomonidagi muammo, tasdiq muammosi emas. Siyosatga qarashdan oldin uni tuzating.
Linux'da marshrutlarni qabul qilish uchun bayroq o'rnatilgan deb taxmin qilish o'rniga u bilan qayta ulanib oling: tailscale up --accept-routes. Boshqa bayroqlar bilan qo'shilgan klient ular o'zgartirilmaguncha saqlaydi, shuning uchun yana birini qo'shishdan oldin joriy sozlamani tekshiring. O'zgarishdan keyin birinchi buyruqni qayta ishga tushirish marshrutni jadvalda ko'rsatishi kerak.
Uzatish va qaytish yo'lini isbotlang
Tasdiq marshrutizatorni paketlarni uzatishga sozlamaydi va javobni tashkil qilmaydi. Ikkalasi ham marshrutizatorning LAN tomonidagi xost darajasidagi masalalar. Ularni klientda emas, marshrutizatorda sinab ko'ring.
sysctl net.ipv4.ip_forward
iptables -t nat -L POSTROUTING -n -v
tcpdump -ni any host 10.20.0.42 and port 443
Birinchi buyruq 1 deb xabar berishi kerak, aks holda yadro uzatilgan paketni tashlab yuboradi. Ikkinchisi quyi tarmoq marshruti maskirovkasi manbani qayta yozayotganini ko'rsatadi, bu standart xatti-harakat va odatda siz xohlagan narsa. Uchinchisi so'rov manzilga yetib borishini va biror narsa qaytishini ko'rsatadi; javobsiz so'rov qaytish yo'li muammosi, tasdiq muammosi emas. Ulardan birini o'zgartirishdan oldin uch natijani birgalikda o'qing.
Agar maskirovka o'chirilgan bo'lsa, manzil tarmog'i tailnet manzillariga qaytish marshrutiga muhtoj va oradagi har bir sakrash buni bilishi kerak. Maskirovkani qayta yoqish bitta xizmat uchun eng tez tuzatish, ammo klientning asl manzili manzildan yashiriladi. Bu almashinuv manzil audit uchun manba manzillarini jurnalga yozganda muhim, shuning uchun hodisa paytida bayroqni aylantirish o'rniga ongli ravishda qaror qiling. Qaysi variantni tanlaganingizni hujjatlashtiring, chunki keyingi odam ikkita xatti-harakatdan faqat bittasini ko'radi.
Resurs uchun kirish qoidasini o'qing
Marshrut mavjud va uzatish isbotlangan bo'lsa, qolgan gumondor siyosat. Ulanishga ruxsat berishi kerak bo'lgan ruxsatni o'qing va uning manzilini tekshiring, faqat manbani emas. Klientning o'z shaxsi ham siyosat selektoriga mos kelishi kerak, shuning uchun uni nosoz bo'lgan o'sha mashinadan oling.
tailscale status --json | head -40
tailscale ping <router-name-or-tailnet-ip>
ping -c 3 10.20.0.42
Holat chiqishi klientning o'z manzillarini va u ko'radigan tengdoshlarni aniqlaydi, siyosatning manba selektori shularga mos kelishi kerak. tailscale ping tailnet yo'lini quyi tarmoq marshrutizatorining o'zigacha isbotlaydi; u tengdosh nomlari va tailnet manzillarini hal qiladi, e'lon qilingan quyi tarmoq ichidagi xostlarni emas. Uchinchi buyruq quyi tarmoq marshruti orqali oddiy ICMP aks-sadosini yuboradi, shuning uchun natijasi marshrutizatorni emas, manzilni tasvirlaydi. tailnet darajasidagi rad javobi odatda rad javobi sifatida qaytadi, chiqib hech qachon qaytmaydigan paket esa vaqt tugashi bilan yakunlanadi.
Muvaffaqiyatsiz nom muvaffaqiyatsiz manzildan boshqa savol; marshrutni ayblashdan oldin xostni to'g'ridan-to'g'ri hal qiling. Ruxsatni butun quyi tarmoqqa emas, resursning haqiqiy ehtiyojiga qarab yozing. Bitta ilova ishlashi uchun butun /24 ni ochish tor so'rovning keyinchalik hech kim o'chirishga jur'at etmaydigan keng ruxsatga aylanish yo'lidir.
Agar maqsad xususiy quyi tarmoq emas, internetga chiqish bo'lsa, to'g'ri komponent chiqish tuguni, quyi tarmoq marshrutizatori emas, va siyosat hamda marshrutlash shunga mos ravishda farq qiladi. Ruxsatni kengaytirishdan oldin o'sha qarorni tekshiring. Chiqish tuguni standart marshrutni o'zgartiradi; quyi tarmoq marshrutizatori faqat prefiks e'lon qiladi.