Неге мақұлданған Tailscale қосалқы желі маршруты әлі де уақыт бітіп аяқталады
Маршрутты мақұлдау тек қосалқы желі маршрутын таратады. Егер қызмет әлі де уақыт бітіп аяқталса, клиенттегі маршрутты қабылдауды, жіберуді және оған арналған рұқсат ережесін тексеріңіз.
Әкімшілік консольдегі мақұлдау соңғы қадам сияқты көрінеді, бірақ олай емес. Алдымен қолданба уақыт бітіп аяқталады, содан кейін ғана маршруттауыштың желіде екенін және маршруттың мақұлданғанын көресіз. Мақұлдау — тарату қадамы, ол рұқсат та емес, жіберудің кепілдігі де емес. Пакет қосалқы желі маршруттауышының артындағы хостқа жетпей тұрып, төрт кезең сәйкесуі керек, және әрқайсысы келесісі сәтсіз болғанда сәтті болуы мүмкін. Оларды ретімен өткізіп, табанды болмайтын бірінші кезеңде тоқтаңыз.
Төрт кезең, бір сәтсіздік
Маршруттауыш префиксті жариялайды, tailnet сол жарияланымды мақұлдайды, клиент алған маршрутты қабылдайды, ал қатынау саясаты нақты қосылымға рұқсат береді. Бұл үш түрлі құрамдас қабылдаған төрт жеке шешім. Сондықтан мақұлданған маршрут тек желі енді tailnet-тің маршруттау кестесінің бөлігі болғанын айтады.
Төртінші кезең жиі өткізіліп кетеді, өйткені алғашқы үшеуі көрінетін күй жасайды. Маршруттауыштың өз tailnet мекенжайын қамтитын рұқсат оның артындағы жеке қосалқы желіні автоматты түрде қамтымайды. Бұл түрлі барар жерлер, ал саясат әр барар жер үшін жеке бағаланады.
Linux-те үшінші кезеңнің адамды таңқалдыратын әдепкі мәні де бар: қосалқы желі маршруттарын қабылдау міндетті емес. Бірнеше GUI клиенті жарияланған маршруттарды әдепкі бойынша қабылдайды, сондықтан аралас парк бір машинаның сәтсіздігін көрсетуі мүмкін, қалғандары жұмыс істеп тұрғанда.
Платформаны болжаудың орнына сәтсіз машинада параметрді растаңыз. Жұмыс істейтін машиналарда маршрут ешқашан жетіспейтін бөлік болған емес, сондықтан оларға tailnet жағының сау екенін дәлелдеуге рұқсат етіңіз. Tailscale-тің қосалқы желі маршруттауыштары туралы құжаттамасы мақұлдауды, клиенттің маршрутты қабылдауын және саясат кезеңін қамтиды.
Маршрутты клиент жұмыс істейтін жерде тексеріңіз
Маршруттауыштан емес, сәтсіз клиенттен бастаңыз. Маршруттың бар екенін және клиент параметрінің маршруттарды қабылдауға жалпы рұқсат беретінін растаңыз.
tailscale status
tailscale debug prefs | grep -i route
ip route get 10.20.0.42
Бірінші пәрмен серіктестер тізімін және қосалқы желі маршруттауышының қолжетімді екенін көрсетеді, екіншісі маршрутты қабылдау жалаушасын қоса клиент параметрлерін басып шығарады, ал үшіншісі ядродан қосалқы желідегі нақты хост үшін қай интерфейсті қолданатынын сұрайды. Егер сол соңғы пәрмен Tailscale интерфейсінің орнына физикалық интерфейсті атаса, маршрут кестеге ешқашан кірмеген. Жетіспейтін маршрут — клиент жағындағы мәселе, мақұлдау мәселесі емес. Саясатқа қарамас бұрын оны түзетіңіз.
Linux-те маршруттарды қабылдау үшін жалауша қойылған деп болжаудың орнына онымен қайта қосылыңыз: tailscale up --accept-routes. Басқа жалаушалармен қосылған клиент оларды өзгертілгенге дейін сақтайды, сондықтан тағы біреуін қоспас бұрын ағымдағы параметрді тексеріңіз. Өзгерістен кейін бірінші пәрменді қайта іске қосу маршрутты кестеде көрсетуі керек.
Жіберуді және қайтару жолын дәлелдеңіз
Мақұлдау маршруттауышты пакеттерді жіберуге баптамайды және жауапты реттемейді. Екеуі де маршруттауыштың LAN жағындағы хост деңгейіндегі мәселелер. Оларды клиентте емес, маршруттауышта тексеріңіз.
sysctl net.ipv4.ip_forward
iptables -t nat -L POSTROUTING -n -v
tcpdump -ni any host 10.20.0.42 and port 443
Бірінші пәрмен 1 деп хабарлауы керек, әйтпесе ядро жіберілген пакетті тастайды. Екіншісі қосалқы желі маршрутының маскасы дереккөзді қайта жазатынын көрсетеді, бұл әдепкі мінез-құлық және әдетте сіз қалаған нәрсе. Үшіншісі сұраныстың барар жерге жететінін және бірдеңенің қайтатынын көрсетеді; жауапсыз сұраныс — қайтару жолының мәселесі, мақұлдаудың емес. Олардың кез келгенін өзгертпес бұрын үш нәтижені бірге оқыңыз.
Егер маска өшірілген болса, барар жер желісіне tailnet мекенжайларына қайтатын маршрут керек, және аралықтағы әр секіріс мұны білуі тиіс. Масканы қайта қосу бір қызмет үшін ең жылдам түзету, бірақ клиенттің бастапқы мекенжайы барар жерден жасырылады. Бұл айырбас барар жер аудит үшін дереккөз мекенжайларын журналдағанда маңызды, сондықтан оқиға кезінде жалаушаны аударып тастаудың орнына саналы түрде шешіңіз. Қандай таңдау жасағаныңызды құжаттаңыз, өйткені келесі адам екі мінез-құлықтың тек біреуін көреді.
Ресурс үшін рұқсат ережесін оқыңыз
Маршрут бар және жіберу дәлелденген соң, қалған күдікті — саясат. Қосылымға рұқсат беруі тиіс рұқсатты оқып, оның барар жерін тексеріңіз, тек дереккөзін емес. Клиенттің өз сәйкестігі де саясат селекторына сай болуы керек, сондықтан оны сол сәтсіз машинадан жазып алыңыз.
tailscale status --json | head -40
tailscale ping <router-name-or-tailnet-ip>
ping -c 3 10.20.0.42
Күй шығысы клиенттің өз мекенжайларын және ол көретін серіктестерді анықтайды, саясаттың дереккөз селекторы осыларға сай болуы керек. tailscale ping tailnet жолын қосалқы желі маршруттауышының өзіне дейін дәлелдейді; ол серіктес атауларын және tailnet мекенжайларын шешеді, жарияланған қосалқы желі ішіндегі хосттарды емес. Үшінші пәрмен қосалқы желі маршруты арқылы кәдімгі ICMP жаңғырығын жібереді, сондықтан оның нәтижесі маршруттауышты емес, барар жерді сипаттайды. tailnet деңгейіндегі бас тарту әдетте бас тарту ретінде қайтады, ал шығып ешқашан қайтпайтын пакет уақыт бітіп аяқталады.
Сәтсіз атау — сәтсіз мекенжайдан өзгеше сұрақ; маршрутты кінәламас бұрын хостты тікелей шешіңіз. Рұқсатты бүкіл қосалқы желіге емес, ресурстың нақты қажеттілігіне қарай жазыңыз. Бір қолданба жұмыс істеуі үшін бүкіл /24-ті ашу — тар сұраныстың кейін ешкім жоюға батылы бармайтын кең рұқсатқа айналу жолы.
Егер мақсат жеке қосалқы желі емес, интернетке шығу болса, дұрыс құрамдас — шығу торабы, қосалқы желі маршруттауышы емес, және саясат пен маршруттау соған сәйкес өзгереді. Рұқсатты кеңейтпес бұрын сол шешімді тексеріңіз. Шығу торабы әдепкі маршрутты өзгертеді; қосалқы желі маршруттауышы тек префиксті жариялайды.