Zakaj Linuxov odjemalec Tailscale prezre oglašene podomrežne poti
Tabela 52 je namig: Linuxov odjemalec Tailscale namesti oglašeno podomrežno pot šele po --accept-routes, odobritev naprave pa so ločena vrata.
Ste na prenosniku z Linuxom, tailscale status našteje druge stroje, NAS na 10.80.0.25 pa še vedno poteče. Tailnet je zdrav, usmerjevalnik podomrežja je na spletu in nič v izhodu odjemalca ne pove, zakaj je LAN za njim nedosegljiv. Spodnji vodič gre od tega simptoma navzven: zastavica na tem odjemalcu, nato oglaševanje na usmerjevalniku, nato odobritev, nato politika in šele nato sama ciljna točka. Vsaka vrata odpovejo z enakim potekom časa, zato je vrstni red pomembnejši od ukazov.
Česa Linuxov odjemalec noče namestiti
Odjemalci Tailscale v Linuxu ne sprejemajo oglašenih podomrežnih poti, razen če jih za to prosite. Brez te nastavitve se odjemalec pridruži tailnetu in doseže naslove enakovrednih vozlišč, medtem ko vsaka predpona, ki jo usmerjevalnik oglašuje, ostane neuporabljena. Privzeta vrednost je namerna, zato je simptom videti kot pokvarjen usmerjevalnik in ne kot krajevna odločitev.
Tu se dve različni stvari imenujeta usmerjanje in samo ena je vaša. Usmerjevalnik oglašuje predpono v tailnet; vaš stroj se odloči, ali jo bo namestil. Napaka v kateri koli od njiju da enak potek časa, zato ugibanje zapravi popoldne. Ugotovite, katera stran zavrača, preden karkoli spremenite.
Vklopite sprejemanje poti za ta stroj
Nastavite prednost na odjemalcu in nato poglejte, kaj se je spremenilo, namesto da bi domnevali, da je ukaz deloval. Trenutna oblika uporabi nastavitev brez ponavljanja prijavnega toka, kar je pomembno, ko ste sredi seje.
sudo tailscale set --accept-routes
tailscale status
ip route show table 52
Tailscale namesti sprejete poti v svojo tabelo v Linuxu, zato je predpona, ki se pojavi v tabeli 52, neposreden dokaz, da je ta odjemalec namestil oglaševanje. Če vašega obsega v tej tabeli ni, se ustavite: težava je krajevna in nobeno delo na usmerjevalniku je ne bo spremenilo.
Starejši odjemalci ponujajo isto prednost kot zastavico prijavnega ukaza, zato je sudo tailscale up --accept-routes nadomestilo, ko tailscale set manjka. Uporabite ga namesto ročnega urejanja poti, ker demon prepiše svojo tabelo in vaš popravek izgine ob naslednji povezavi. Preverite različico, preden kopirate ukaz iz starejšega prispevka.
Oglaševanje in odobritev preverite ločeno
Na usmerjevalniku podomrežja je treba predpono oglaševati, jedro pa mora posredovati pakete med vmesniki. Oglaševanje brez posredovanja vam da odobreno pot, ki tiho zavrže promet, in to je najpogostejša napol dokončana nastavitev.
sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr
Primerjajte oglašeno predpono z naslovom, do katerega se v resnici trudite priti, znak za znakom. Usmerjevalnik, ki oglašuje 10.70.0.0/24, ne pove ničesar o NAS na 10.80.0.25, in neskladje je v vsakem izhodu stanja nevidno, ker sta obe števili enako verjetni. Večina poročil o pokvarjeni poti se konča tukaj. Popravite oglaševanje, preden se dotaknete česar koli spodaj.
Odobritev so naslednja vrata in zlahka jih preskočite, ko je bil usmerjevalnik nastavljen iz lupine. Oglaševanje mora biti za to napravo omogočeno v upravljalni konzoli, preden jo druge naprave smejo uporabljati. Sprejemanje poti na odjemalcu ne odobri ničesar in ne zaobide nobenega pravila dostopa.
Zasebni naslov preizkusite pred imenom gostitelja
Uspešna povezava z lastnim naslovom usmerjevalnika v tailnetu dokazuje, da tailnet deluje, kar ste že vedeli. Koristen preizkus je storitev, ki jo res potrebujete, najprej na zasebnem naslovu, da se okvara DNS ne more predstaviti kot okvara usmerjanja.
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
Če naslov odgovori, ime gostitelja pa ne, imate težavo z razreševanjem imen in ne bi smeli tega obravnavati kot težavo poti. Če ne odgovori nobeno, pojdite en razdelek nazaj in potrdite, da oglaševanje pokriva naslov. Obe okvari sta iz aplikacije videti enaki in se popravljata na različnih mestih.
Ena krajevna preveritev je vredna truda, preden obtožite tailnet. Ko vaš sedanji LAN uporablja isto predpono kot oddaljeno podomrežje, jedro raje izbere neposredno povezano pot in promet nikoli ne zapusti stroja; to se zgodi, ko se dom in pisarna oba odločita za 192.168.1.0/24.
Zakaj zastavica odjemalca ni nastavitev usmerjevalnika
To so različne vloge z različnimi zahtevami, kopiranje zastavice odjemalca na usmerjevalnik pa je način, kako delujoč tailnet dobi zanko. Stroj, ki oglašuje poti, potrebuje posredovanje, pravila požarnega zidu, ki dovolijo posredovani promet, in odločitev, katere predpone oglašuje. Nič od tega ne izhaja iz --accept-routes.
Dokumentacija o usmerjevalnikih podomrežij svari pred vklopom sprejemanja poti na odvečnih usmerjevalnikih, ki oglašujejo eno predpono, ker lahko rezervno vozlišče porine že krajevni promet skozi aktivno. Če poganjate par HA, to obravnavajte kot oblikovno omejitev in ne kot opombo, ter se odločite, katero vozlišče ima predpono, preden jo odobrite na obeh. Na enem usmerjevalniku se isto opozorilo bere kot opomnik, da sprejemanje pripada odjemalcem, ne stroju, ki oglašuje. Zapišite, katera vrata so bila zaprta.
Za običajnega odjemalca se zaporedje konča s preizkusom aplikacije, ki na začetku ni uspel. Za usmerjevalnik preglejte posredovanje, oglaševanje, odobritev in požarni zid v tem vrstnem redu, ker prvi manjkajoči ustvari natanko tisti potek časa, s katerim ste začeli.