Prečo linuxový klient Tailscale ignoruje inzerované trasy podsietí
Tabuľka 52 je vodítko: linuxový klient Tailscale nainštaluje inzerovanú trasu podsiete až po --accept-routes a schválenie zariadenia je samostatná brána.
Ste na linuxovom notebooku, tailscale status vypisuje ostatné stroje a NAS na 10.80.0.25 stále vyprší. Tailnet je zdravý, smerovač podsiete je online a nič vo výstupe klienta nehovorí, prečo je LAN za ním nedostupná. Nasledujúci postup ide od tohto príznaku smerom von: prepínač na tomto klientovi, potom inzercia na smerovači, potom schválenie, potom politika a až potom samotný cieľ. Každá brána zlyháva s rovnakým vypršaním, preto je poradie dôležitejšie než príkazy.
Čo linuxový klient odmieta nainštalovať
Klienti Tailscale na Linuxe neprijímajú inzerované trasy podsietí, kým o to nepožiadate. Bez tohto nastavenia sa klient pripojí k tailnetu a dosiahne adresy partnerov, zatiaľ čo každý prefix, ktorý smerovač inzeruje, zostáva nevyužitý. Predvolená hodnota je zámerná, a preto príznak vyzerá ako pokazený smerovač, nie ako miestne rozhodnutie.
Dve rôzne veci sa tu nazývajú smerovaním a len jedna z nich je vaša. Smerovač inzeruje prefix do tailnetu; váš stroj rozhoduje, či ho nainštaluje. Zlyhanie v ktorejkoľvek z nich dáva rovnaké vypršanie, preto hádanie premárni popoludnie. Zistite, ktorá strana odmieta, skôr než čokoľvek upravíte.
Zapnite prijímanie trás pre tento stroj
Nastavte predvoľbu na klientovi a potom sa pozrite, čo sa zmenilo, namiesto toho, aby ste predpokladali, že príkaz zabral. Súčasná podoba aplikuje nastavenie bez opakovania prihlasovacieho toku, čo je dôležité, keď ste uprostred relácie.
sudo tailscale set --accept-routes
tailscale status
ip route show table 52
Tailscale inštaluje prijaté trasy do svojej vlastnej tabuľky na Linuxe, takže prefix, ktorý sa objaví v tabuľke 52, je priamym dôkazom, že tento klient inzerciu nainštaloval. Ak váš rozsah v tejto tabuľke chýba, zastavte sa: problém je miestny a žiadna práca na smerovači ho nezmení.
Starší klienti vystavujú rovnakú predvoľbu ako prepínač prihlasovacieho príkazu, takže sudo tailscale up --accept-routes je náhradou, keď tailscale set chýba. Použite ho namiesto ručnej úpravy trás, pretože démon prepisuje svoju tabuľku a vaša úprava zmizne pri ďalšom pripojení. Overte verziu, kým skopírujete príkaz zo staršieho článku.
Overte inzerciu a schválenie oddelene
Na smerovači podsiete musí byť prefix inzerovaný a jadro musí preposielať pakety medzi rozhraniami. Inzercia bez preposielania vám dá schválenú trasu, ktorá potichu zahadzuje prevádzku, a to je najčastejšie nedokončené nastavenie.
sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr
Porovnajte inzerovaný prefix s adresou, na ktorú sa skutočne snažíte dostať, znak po znaku. Smerovač, ktorý inzeruje 10.70.0.0/24, nehovorí nič o NAS na 10.80.0.25 a nesúlad je vo výstupe stavu neviditeľný, pretože obe čísla vyzerajú rovnako vierohodne. Väčšina hlásení o pokazenej trase končí tu. Opravte inzerciu, kým sa dotknete čohokoľvek nižšie.
Schválenie je ďalšia brána a ľahko sa preskočí, keď bol smerovač nakonfigurovaný zo shellu. Inzercia musí byť pre toto zariadenie povolená v administrátorskej konzole, kým ho iné stroje smú použiť. Prijímanie trás na klientovi nič neschvaľuje a neobchádza žiadne prístupové pravidlo.
Otestujte privátnu adresu skôr než názov hostiteľa
Úspešné pripojenie k vlastnej tailnet adrese smerovača dokazuje, že tailnet funguje, čo ste už vedeli. Užitočný test je služba, ktorú skutočne potrebujete, najprv proti privátnej adrese, aby sa zlyhanie DNS nemohlo vydávať za zlyhanie smerovania.
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
Ak adresa odpovedá a názov hostiteľa nie, máte problém s prekladom mien a mali by ste s ním prestať zaobchádzať ako s problémom trasy. Ak neodpovedá ani jedno, vráťte sa o sekciu späť a potvrďte, že inzercia adresu pokrýva. Obe zlyhania vyzerajú z aplikácie rovnako a opravujú sa na rôznych miestach.
Jedna miestna kontrola stojí za to, kým obviníte tailnet. Keď vaša súčasná LAN používa rovnaký prefix ako vzdialená podsieť, jadro uprednostní priamo pripojenú trasu a prevádzka nikdy neopustí stroj; to sa stane, keď si domov aj kancelária vyberú 192.168.1.0/24.
Prečo prepínač klienta nie je nastavením smerovača
Sú to rôzne úlohy s rôznymi požiadavkami a kopírovanie prepínača klienta na smerovač je spôsob, akým funkčný tailnet získa slučku. Stroj, ktorý inzeruje trasy, potrebuje preposielanie, pravidlá firewallu, ktoré preposielanú prevádzku povolia, a rozhodnutie, ktoré prefixy inzeruje. Nič z toho --accept-routes neimplikuje.
Dokumentácia k smerovačom podsietí varuje pred zapnutím prijímania trás na redundantných smerovačoch, ktoré inzerujú jeden prefix, pretože záložný uzol môže pretlačiť už miestnu prevádzku cez aktívny. Ak prevádzkujete pár HA, berte to ako návrhové obmedzenie, nie ako poznámku pod čiarou, a rozhodnite, ktorý uzol prefix vlastní, kým ho schválite na oboch. Na jedinom smerovači znie rovnaké varovanie ako pripomienka, že prijímanie patrí klientom, nie stroju, ktorý inzeruje. Zapíšte si, ktorá brána bola zavretá.
Pre bežného klienta sa postup končí testom aplikácie, ktorý na začiatku zlyhal. Pre smerovač prejdite preposielanie, inzerciu, schválenie a firewall v tomto poradí, pretože prvý chýbajúci presne vytvára vypršanie, s ktorým ste začali.