Сиз 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'ду ошол тартипте карап чыгыңыз, анткени биринчи жок болгону сиз баштаган ошол эле убакыт бүтүүсүн жаратат.

Тектеш макалалар