Siz Linux noutbukidasiz, tailscale status boshqa mashinalarni sanaydi, 10.80.0.25'dagi NAS esa hali ham vaqt tugashi bilan to'xtaydi. Tailnet sog'lom, subnet router tarmoqda, va mijoz chiqishida uning orqasidagi LAN nega yetib bo'lmaydigan ekanligini aytadigan hech narsa yo'q. Quyidagi yo'riqnoma o'sha belgidan tashqariga qarab boradi: bu mijoza bayroq, keyin routerdagi e'lon, keyin tasdiq, keyin siyosat, va shundan keyingina manzilning o'zi. Har bir darvoza bir xil vaqt tugashi bilan ishlamaydi, shuning uchun tartib buyruqlardan muhimroq.

Linux mijozi o'rnatishdan bosh tortadigan narsa

Linux'dagi Tailscale mijozlari siz so'ramasangiz e'lon qilingan subnet marshrutlarini qabul qilmaydi. Bu sozlama bo'lmasa mijoz tailnetga qo'shiladi va tengdosh manzillariga yetadi, router e'lon qilgan har bir prefiks esa foydalanilmay qoladi. Standart qiymat ataylab shunday, va shuning uchun belgi mahalliy qaror emas, buzilgan router kabi ko'rinadi.

Bu yerda ikki xil narsa marshrutlash deb ataladi, va faqat bittasi sizniki. Router tailnetga prefiks e'lon qiladi; sizning mashinangiz uni o'rnatish-o'rnatmaslikni hal qiladi. Ikkalasidan birida nosozlik bir xil vaqt tugashini beradi, shuning uchun taxmin qilish yarim kunni behuda o'tkazadi. Biror narsani o'zgartirishdan oldin qaysi tomon rad etayotganini aniqlang.

Bu mashina uchun marshrut qabulini yoqing

Mijozda afzallikni o'rnating, keyin buyruq ishladi deb o'ylash o'rniga nima o'zgarganini ko'ring. Hozirgi shakl sozlamani kirish jarayonini takrorlamasdan qo'llaydi, bu sessiya o'rtasida bo'lganingizda muhim.

sudo tailscale set --accept-routes
tailscale status
ip route show table 52

Tailscale Linux'da qabul qilingan marshrutlarni o'z jadvaliga o'rnatadi, shuning uchun 52-jadvalda ko'ringan prefiks bu mijoz e'lonni o'rnatganining bevosita dalilidir. Agar diapazoningiz o'sha jadvalda bo'lmasa, to'xtang: muammo mahalliy va routerdagi hech qanday ish uni o'zgartirmaydi.

Eski mijozlar bir xil afzallikni kirish buyrug'ining bayrog'i sifatida taklif qiladi, shuning uchun tailscale set yo'q bo'lsa sudo tailscale up --accept-routes zaxira variant. Marshrutlarni qo'lda tahrirlash o'rniga undan foydalaning, chunki demon o'z jadvalini qayta yozadi va tahriringiz keyingi qayta ulanishda yo'qoladi. Eski postdan buyruq ko'chirishdan oldin versiyani tekshiring.

E'lon va tasdiqni alohida tekshiring

Subnet routerda prefiks e'lon qilinishi kerak, yadro esa interfeyslar orasida paketlarni uzatishi kerak. Uzatishsiz e'lon sizga trafikni jimgina tashlaydigan tasdiqlangan marshrut beradi, va bu eng keng tarqalgan yarim tugallangan sozlama.

sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr

E'lon qilingan prefiksni siz haqiqatan yetib bormoqchi bo'lgan manzil bilan harfma-harf solishtiring. 10.70.0.0/24 e'lon qiladigan router 10.80.0.25'dagi NAS haqida hech narsa demaydi, va ikkala raqam bir xil ishonchli ko'ringani uchun bu nomuvofiqlik hech qanday holat chiqishida ko'rinmaydi. Buzilgan marshrut haqidagi hisobotlarning ko'pchiligi shu yerda tugaydi. Pastdagi biror narsaga tegishdan oldin e'lonni tuzating.

Tasdiq keyingi darvoza, va router shell'dan sozlangan bo'lsa uni o'tkazib yuborish oson. Boshqa mashinalar foydalanishidan oldin admin konsolda o'sha qurilma uchun e'lonni yoqish kerak. Mijozda marshrutlarni qabul qilish hech narsani tasdiqlamaydi va hech qanday kirish qoidasini chetlab o'tmaydi.

Xost nomidan oldin xususiy manzilni sinab ko'ring

Routerning o'z tailnet manziliga muvaffaqiyatli ulanish tailnet ishlayotganini isbotlaydi, buni siz allaqachon bilardingiz. Foydali sinov sizga haqiqatan kerak bo'lgan xizmat, avval xususiy manzilga qarshi, shunda DNS nosozligi marshrutlash nosozligi sifatida ko'rinmasin.

tailscale ping 10.80.0.1
ping -c 2 10.80.0.25
nc -vz 10.80.0.25 445
getent hosts nas.internal.example

Agar manzil javob bersa-yu xost nomi bermasa, sizda nomlarni hal qilish muammosi bor va buni marshrut muammosi deb hisoblashni to'xtating. Agar ikkalasi ham javob bermasa, bir bo'lim orqaga qaytib, e'lon manzilni qamrab olishini tasdiqlang. Ikkala nosozlik ilovadan bir xil ko'rinadi va turli joylarda tuzatiladi.

Tailnetni ayblashdan oldin bitta mahalliy tekshiruv o'rinli. Joriy LAN'ingiz uzoqdagi subnet bilan bir xil prefiksdan foydalansa, yadro to'g'ridan-to'g'ri ulangan marshrutni afzal ko'radi va trafik hech qachon mashinadan chiqmaydi; uy va ofis ikkalasi ham 192.168.1.0/24 tanlaganda shunday bo'ladi.

Nega mijoz bayrog'i router sozlamasi emas

Bular turli talablarga ega turli rollar, va mijoz bayrog'ini routerga ko'chirish ishlaydigan tailnetning halqa olish usuli. Marshrutlarni e'lon qiladigan mashinaga uzatish, uzatilgan trafikka ruxsat beruvchi fayervol qoidalari va qaysi prefikslarni e'lon qilish haqida qaror kerak. Bularning hech biri --accept-routes bilan nazarda tutilmaydi.

Subnet routerlar hujjati bitta prefiksni e'lon qiladigan zaxira routerlarda marshrut qabulini yoqmaslikni ogohlantiradi, chunki kutish rejimidagi tugun allaqachon mahalliy bo'lgan trafikni faol tugun orqali tashqariga itarib yuborishi mumkin. Agar HA juftini boshqarsangiz, buni izoh emas, dizayn cheklovi deb qabul qiling va prefiks qaysi tugunga tegishli ekanini ikkalasida tasdiqlashdan oldin hal qiling. Bitta routerda o'sha ogohlantirish qabul mijozlarga tegishli, e'lon qiluvchi mashinaga emasligini eslatadi. Qaysi darvoza yopiq bo'lganini yozib qo'ying.

Oddiy mijoz uchun ketma-ketlik boshida muvaffaqiyatsiz bo'lgan ilova sinovi bilan tugaydi. Router uchun uzatish, e'lon, tasdiq va fayervolni shu tartibda ko'rib chiqing, chunki birinchi yetishmayotgani aynan siz boshlagan vaqt tugashini keltirib chiqaradi.

O'xshash maqolalar