Сіз Linux ноутбугындасыз, tailscale status басқа машиналарды тізімдейді, ал 10.80.0.25 мекенжайындағы NAS әлі де уақыт бітімімен аяқталады. Tailnet сау, субжелілік маршрутизатор желіде, және клиент шығысында оның артындағы LAN неге қолжетімсіз екенін айтатын ештеңе жоқ. Төмендегі шолу сол симптомнан сыртқа қарай жылжиды: осы клиенттегі жалауша, содан кейін маршрутизатордағы жариялау, содан кейін мақұлдау, содан кейін саясат, және содан кейін ғана барар жердің өзі. Әр қақпа бірдей уақыт бітімімен сәтсіз аяқталады, сондықтан реттілік бұйрықтардан маңыздырақ.

Linux клиенті нені орнатудан бас тартады

Linux-тегі Tailscale клиенттері жарияланған субжелілік маршруттарды сіз сұрамасаңыз қабылдамайды. Бұл баптау жоқ болса, клиент tailnet-ке қосылып, теңдес мекенжайларға жетеді, ал маршрутизатор жариялаған әрбір префикс пайдаланылмай қалады. Әдепкі мән әдейі қойылған, сондықтан симптом жергілікті шешім емес, бұзылған маршрутизатор сияқты көрінеді.

Мұнда екі түрлі нәрсе маршруттау деп аталады, және оның тек біреуі сіздікі. Маршрутизатор tailnet-ке префикс жариялайды; сіздің машина оны орнату-орнатпауды шешеді. Кез келгеніндегі ақау бірдей уақыт бітімін береді, сондықтан болжау жарты күнді ысырап етеді. Бірдеңені өңдеуден бұрын қай жақ бас тартып отырғанын анықтаңыз.

Осы машина үшін маршрут қабылдауды қосыңыз

Баптауды клиентте орнатыңыз, содан кейін бұйрық әсер етті деп болжаудың орнына не өзгергенін қараңыз. Ағымдағы нысан баптауды кіру ағынын қайталамай қолданады, бұл сессияның ортасында болғанда маңызды.

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

Tailscale Linux-те қабылданған маршруттарды өз кестесіне орнатады, сондықтан 52-кестеде пайда болған префикс осы клиенттің жариялауды орнатқанының тікелей дәлелі. Егер сіздің ауқымыңыз сол кестеде болмаса, тоқтаңыз: мәселе жергілікті және маршрутизатордағы ешқандай жұмыс оны өзгертпейді.

Ескі клиенттер сол баптауды кіру бұйрығының жалаушасы ретінде ұсынады, сондықтан tailscale set болмағанда sudo tailscale up --accept-routes қосалқы нұсқа. Маршруттарды қолмен өңдеудің орнына оны пайдаланыңыз, өйткені демон өз кестесін қайта жазады және өңдеуіңіз келесі қосылуда жоғалады. Ескі жазбадан бұйрық көшірмес бұрын нұсқаны тексеріңіз.

Жариялауды және мақұлдауды бөлек тексеріңіз

Субжелілік маршрутизаторда префикс жариялануы керек, ал ядро интерфейстер арасында пакеттерді жіберуі керек. Жіберусіз жариялау сізге трафикті үнсіз тастайтын мақұлданған маршрут береді, және бұл ең көп кездесетін жартылай дайын конфигурация.

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

Жарияланған префиксті шын мәнінде жетуге тырысып отырған мекенжаймен әріп-әріп салыстырыңыз. 10.70.0.0/24 жариялайтын маршрутизатор 10.80.0.25-тегі NAS туралы ештеңе айтпайды, және сәйкессіздік әр күй шығысында көрінбейді, өйткені екі сан да бірдей сенімді көрінеді. Бұзылған маршрут туралы есептердің көбі осы жерде аяқталады. Төменде бірдеңеге тимес бұрын жариялауды түзетіңіз.

Мақұлдау — келесі қақпа, және маршрутизатор shell-ден конфигурацияланса, оны өткізіп жіберу оңай. Басқа машиналар оны пайдалана алуы үшін жариялау сол құрылғы үшін әкімшілік консольде қосылуы керек. Клиентте маршруттарды қабылдау ештеңені мақұлдамайды және ешбір қатынау ережесін айналып өтпейді.

Хост атынан бұрын жеке мекенжайды тексеріңіз

Маршрутизатордың өз tailnet мекенжайына сәтті қосылу tailnet жұмыс істейтінін дәлелдейді, мұны сіз бұрын білетінсіз. Пайдалы тест — сізге шынымен қажет қызмет, әуелі жеке мекенжайға қарсы, DNS ақауы маршруттау ақауы ретінде көрінбеуі үшін.

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

Егер мекенжай жауап беріп, хост аты бермесе, атауларды шешу мәселесі бар және оны маршрут мәселесі ретінде қарауды доғарыңыз. Егер екеуі де жауап бермесе, бір бөлім артқа шегініп, жариялау мекенжайды қамтитынын растаңыз. Екі ақау қолданбадан бірдей көрінеді және әр жерде түзетіледі.

Tailnet-ті кінәламас бұрын бір жергілікті тексеру жасаған жөн. Ағымдағы LAN алыс субжелімен бірдей префиксті қолданса, ядро тікелей қосылған маршрутты қалайды және трафик машинадан ешқашан шықпайды; бұл үй мен кеңсе екеуі де 192.168.1.0/24 таңдағанда орын алады.

Неге клиент жалаушасы маршрутизатор баптауы емес

Бұлар әртүрлі талаптары бар әртүрлі рөлдер, және клиент жалаушасын маршрутизаторға көшіру — жұмыс істеп тұрған tailnet-тің ілмек алу жолы. Маршруттарды жариялайтын машинаға жіберу, жіберілетін трафикке рұқсат беретін firewall ережелері және қандай префикстерді жариялайтыны туралы шешім қажет. Осының ешқайсысы --accept-routes-дан туындамайды.

Субжелілік маршрутизаторлар құжаттамасы бір префиксті жариялайтын артық маршрутизаторларда маршрут қабылдауды қоспауға ескертеді, өйткені резервтік түйін қазірдің өзінде жергілікті трафикті белсенді түйін арқылы сыртқа итеруі мүмкін. Егер HA жұбын жүргізсеңіз, мұны түсіндірме емес, жобалау шектеуі ретінде қарастырыңыз және екеуінде де мақұлдамас бұрын префикс қай түйінге тиесілі екенін шешіңіз. Бір маршрутизаторда сол ескерту қабылдау клиенттерге тиесілі, жариялаушы машинаға емес деп еске салады. Қай қақпа жабық болғанын жазып қойыңыз.

Қарапайым клиент үшін реттілік басында сәтсіз аяқталған қолданба тестімен бітеді. Маршрутизатор үшін жіберуді, жариялауды, мақұлдауды және firewall-ды осы ретпен қарап шығыңыз, өйткені бірінші жетіспейтін дәл сіз бастаған уақыт бітімін тудырады.

Қатысты мақалалар