Зашто Tailscale клијент на Linux-у игнорише објављене руте подмреже
Табела 52 је знак: Tailscale клијент на Linux-у инсталира објављену руту подмреже тек након --accept-routes, а одобрење уређаја је одвојена капија.
На Linux преносном рачунару сте, tailscale status приказује остале машине, а NAS на 10.80.0.25 и даље завршава истеком времена. Tailnet је здрав, рутер подмреже је на мрежи, и ништа у излазу клијента не каже зашто је LAN иза њега недоступан. Водич испод креће од тог симптома ка споља: заставица на овом клијенту, затим објава на рутеру, затим одобрење, затим правила, и тек онда сама одредишна адреса. Свака капија пада са истим истеком, па је редослед важнији од команди.
Шта Linux клијент одбија да инсталира
Tailscale клијенти на Linux-у не прихватају објављене руте подмреже осим ако их то затражите. Без те поставке клијент се придружује tailnet-у и достиже адресе партнера, док сваки префикс који рутер објави остаје неискоришћен. Задана вредност је намерна и зато симптом изгледа као покварен рутер, а не као локална одлука.
Две различите ствари се овде зову рутирањем, а само једна је ваша. Рутер објављује префикс у tailnet; ваша машина одлучује да ли ће га инсталирати. Квар у било којој од њих даје исти истек, зато нагађање троши цело поподне. Откријте која страна одбија пре него што било шта уредите.
Укључите прихватање рута за ову машину
Поставите преференцију на клијенту, а затим погледајте шта се променило уместо да претпоставите да је команда деловала. Тренутни облик примењује поставку без понављања пријаве, што је важно када сте усред сесије.
sudo tailscale set --accept-routes
tailscale status
ip route show table 52
Tailscale инсталира прихваћене руте у своју табелу на Linux-у, па префикс који се појави у табели 52 јесте директан доказ да је овај клијент инсталирао објаву. Ако вашег опсега нема у тој табели, зауставите се: проблем је локални и никакав рад на рутеру га неће променити.
Старији клијенти излажу исту преференцију као заставицу на команди за пријаву, па је sudo tailscale up --accept-routes резервна опција када tailscale set недостаје. Користите је уместо ручног уређивања рута, јер демон преписује своју табелу и ваша измена нестаје при следећем повезивању. Проверите верзију пре него што копирате команду из старијег текста.
Проверите објаву и одобрење одвојено
На рутеру подмреже префикс мора бити објављен, а језгро мора прослеђивати пакете између интерфејса. Објава без прослеђивања даје вам одобрену руту која тихо одбацује саобраћај, а то је најчешћа недовршена поставка.
sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr
Упоредите објављени префикс са адресом којој заиста покушавате да приступите, знак по знак. Рутер који објављује 10.70.0.0/24 не говори ништа о NAS-у на 10.80.0.25, а неподударност је невидљива у сваком статусном излазу јер оба броја изгледају једнако уверљиво. Већина извештаја о поквареној рути завршава овде. Поправите објаву пре него што дирнете било шта низводно.
Одобрење је следећа капија и лако се прескочи када је рутер конфигурисан из љуске. Објава мора бити омогућена за тај уређај у административној конзоли пре него што га друге машине смеју користити. Прихватање рута на клијенту ништа не одобрава и не надјачава ниједно правило приступа.
Проверите приватну адресу пре имена хоста
Успешна веза са сопственом 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 тим редом, јер први који недостаје производи тачно онај истек са којим сте почели.