169.254 přes VPN: adresa nikdy nebyla směrovatelná
Cíl z rozsahu link-local se zahodí dřív, než dojde k tunelu, takže přidání tras jen rozšiřuje selhání. Vyberte mezi opravou podsítě a můstkem.
Přidáte trasu, tunel naskočí, a ping na druhou stranu přesto umírá úplnou ztrátou, ne hláškou «network unreachable». Ten rozdíl je důležitý: odvádí pohled od směrovací tabulky k samotné adrese. Cíl 169.254 je link-local a jeho rozsah podle návrhu končí na prvním hopu, ne kvůli špatné konfiguraci.
Rozhodnutí, které z toho plyne, je úzké a stojí za to ho učinit výslovně: opravit podsíť na straně serveru, nebo rozšířit segment vrstvy 2, aby adresa znovu dávala lokální smysl. Všechno ostatní, včetně přidání širší trasy, jen rozmnožuje stejné selhání na další cíle.
Adresa není bez trasy, je nesměrovatelná
Adresy IPv4 link-local si uzly přidělují samy, když nic lepšího neodpoví; odtud pochází automatické privátní adresování ve Windows i odpovídající záloha v jiných systémech. Rozsah se používá na každém spoji současně, a právě proto funguje: dva hostitelé v témže segmentu spolu mluví bez jakékoli koordinace.
Kvůli téže vlastnosti nesmí router tyto pakety přeposílat mezi sítěmi. Přijmout paket adresovaný link-local cíli a odeslat ho jiným rozhraním by vytvořilo nejednoznačnost, protože «lokální» u odesílatele a «lokální» u příjemce jsou různá místa. Žádné hledání nerozhodne, které z nich odesílatel myslel. Přeposílání tu není politická volba, kterou by správce mohl zapnout; třída adres to vylučuje.
Brána, která 169.254.1.10 zavede jako dostupnou přes tunel, tedy žádá jádro o něco, co formát adresy zakazuje. Paket se zahodí dávno předtím, než dorazí k vzdálenému hostiteli, a žádná přesnost trasy to nezmění.
Proč tunel zviditelní problém rozsahu
Rozhraní TUN přenáší IP pakety mezi dvěma protějšky a nemá za sebou sdílený segment. Není tu broadcast, žádné ARP pro druhou stranu ani objevování sousedů, které by link-local cíl přeložilo na adresu linkové vrstvy.
Příznaky do sebe zapadnou, jakmile víte, co hledat. Trasa v tabulce je, ping hlásí úplnou ztrátu místo nedostupné sítě a tabulka sousedů ukazuje neúplný nebo neúspěšný záznam. Zachycení na tunelu ukáže paket odcházet, což lidi posílá k vzdálenému konci místo k třídě adresy.
Ve Windows je druhý, zdánlivě nesouvisející příznak se stejným kořenem: adaptér, kterému zůstala jen link-local adresa, nemá použitelnou bránu, takže identifikace sítě nemůže připojení zařadit a profil firewallu skončí na veřejném. Tunel není příčina; příčinou je adresa.
Rozhodněte třemi otázkami
Volba mezi opravou podsítě a přemostěním spoje závisí na třech podmínkách a kterákoli z nich ji může vyřešit dřív, než otevřete konfigurační soubor.
| Question | If yes | If no |
|---|---|---|
| Can the far-side host be given a routable address? | Change the host or fix DHCP and route normally | Continue to the next question |
| Does the device accept a static address at all? | Assign one from the site's real prefix | Bridging is the only remaining option |
| Can you accept broadcast crossing the tunnel? | A bridge is viable for a small segment | Replace the device or accept no remote access |
Většina případů skončí u první otázky. Hostitel s link-local adresou obvykle znamená, že DHCP neodpověděl, kabel nebo VLAN jsou špatně, nebo někdo adresu napsal ručně. Oprava je levnější než jakákoli práce s tunelem a zbaví problému každého budoucího klienta, ne jen tohoto.
Než něco předpokládáte, zkontrolujte stranu serveru. Spusťte ip addr show a ip route na hostiteli a arp -n nebo route print -4 na klientovi, abyste viděli, zda prefix vůbec existuje, nebo to tvrdí jen starý záznam.
Co můstek stojí, když je správnou odpovědí
Přemostění fyzického adaptéru s adaptérem TAP udělá ze vzdáleného klienta část místní broadcastové domény. Broadcast i objevování sousedů pak fungují a link-local adresa znovu dává smysl, protože klient je opravdu lokální na tom spoji.
Náklady jsou reálné a je třeba je říct, než někdo přitaká. Broadcast prochází tunelem, klient je vystaven místnímu segmentu pro cokoli, ne jen pro služby, které potřebuje, a server musí přeposílat rámce místo směrovat pakety. Pro laboratorní stůl nebo zařízení bez směrovatelné cesty konfigurace je to rozumná výměna, pro vzdálený přístup špatný výchozí stav.
Když most postavíte, potřebujete obě poloviny: most na serveru a trasu v profilu klienta, která řekne, které cíle jsou na druhé straně. Samotný most nechá klienta hádat a samotná trasa třídu adresy nespraví.