route přijme název rozhraní Wi-Fi, skončí bez stížnosti a host zůstane nedostupný. Nic není poškozeno; vztah v trase je prostě špatný: příznak rozhraní říká, na kterém spoji cíl leží, ne který router má přijímat provoz pro cíl, který je jinde. Příkaz uspěje, protože je syntakticky platný, ne protože popisuje funkční cestu.

Tento rozdíl rozhoduje, zda výjimka trasy vedle VPN bude fungovat, nebo bude jen vypadat věrohodně.

Rozhraní je východ, další skok je předání

Na Macu s adresou 192.168.50.20 a routerem na 192.168.50.1 je jiný stroj na stejném spoji dostupný přímo. Rámec je adresován tomu stroji a položen na drát. Router se neúčastní a trasa omezená na rozhraní vyjadřuje přesně to. Změňte vzdálený konec na host v jiné budově a stejný příkaz přestane dávat smysl. Mac nemá adresu druhé vrstvy, kterou by položil na drát, takže příznak rozhraní nemá co popsat.

Cíl mimo spoj je jiný. Mac nemůže položit na drát rámec adresovaný hostu, na který nedosáhne na druhé vrstvě; předá paket routeru, který to umí. Trasa proto potřebuje bránu a sama brána musí být dosažitelná na připojeném spoji.

Použití příznaku rozhraní pro cíl mimo spoj říká macOS, aby s cílem zacházel, jako by byl na drátě. Jádro pak pro něj nedokáže přeložit adresu druhé vrstvy a paket se zahodí bez čehokoli užitečného v chybě.

Co příznak rozhraní skutečně tvrdí

Referenční příručka Apple pro trasy definuje formu s rozhraním pro cíle dosažitelné přímo bez prostředníka. Je to tvrzení o modelu spoje, ne preference, který adaptér použít. Dosažení internetového hostu přes Wi-Fi stále vyžaduje router na tom Wi-Fi spoji a trasa ho musí pojmenovat.

Rozsah rozhraní je samostatný atribut. Přidružuje trasu k určitému rozhraní pro rozhodnutí o rozsahu, jako která zdrojová adresa platí, ale nevytváří dosažitelnost pro cíl, na který rozhraní samo nedosáhne. Ty dva atributy odpovídají na různé otázky.

Proto může být příkaz přijat, objevit se v tabulce a přesto selhat. Jádro neověřuje váš záměr; zaznamenává, co jste tvrdili, a tvrzení bylo, že cíl je na spoji. Tichý úspěch následovaný tichým zahozením je očekávaný výsledek, ne chyba. Přečtěte si tvrzení znovu, než obviníte síť.

Trasa, kterou cíl mimo spoj potřebuje

Pro schválenou cestu k dokumentační adrese, jako je 198.51.100.25, přes LAN router je zamýšlený vztah cíl, další skok 192.168.50.1 a LAN rozhraní, které k tomuto dalšímu skoku dosáhne. Rozhraní se odvozuje z vyhledání dalšího skoku, místo aby ho vynutil příkaz trasy.

V macOS je kontrola jen pro čtení route -n get 198.51.100.25. Čtěte řádky brány a rozhraní společně a ověřte, že brána je adresa, na kterou Mac skutečně dosáhne. Brána v jiné podsíti, nebo taková, která od poslední změny sítě zmizela, vytvoří trasu, která vypadá správně a nic nepředává.

Nezakódujme en0 natvrdo do trvalého pokynu. Názvy rozhraní se mění s adaptéry, doky a VPN klienty a trasa, která uvede špatný, selže způsobem snadno zaměnitelným s širší síťovou závadou.

Přečtěte si současnou volbu, než ji nahradíte

Než něco přidáte, prozkoumejte, co systém už vybral a proč. Tento výstup říká, zda provoz jde tunelem, přes LAN router, nebo nikam, a dává základ pro srovnání po změně. Bez něj nemůžete zjistit, zda nová trasa zabrala.

Pak zkontrolujte rodinu adres. Trasa přidaná pro IPv4 nic nedělá pro cíl IPv6 a služba, která se překládá do obou rodin, se může zdát občas dostupná. Směrovací tabulka a resolver odpovídají na různé otázky a obojí musí souhlasit se zamýšlenou cestou.

Nakonec si pamatujte, že trasa je volba, ne povolení. Spravovaný profil VPN nebo filtr klienta může přímou cestu stále zakázat, i když tabulka na ni ukazuje, takže testujte se skutečnou aplikací, místo abyste předpokládali, že úspěšný záznam v tabulce ukončí vyšetřování.

Tunely a politika mění tvar

Rozhraní bod-bod jsou vlastní případ. Tunel může nést trasu bez adresy brány ve stylu Ethernet a to není automaticky špatně. Použijte skutečný model spoje rozhraní, místo abyste příklad s Wi-Fi rozšiřovali na každý záznam v tabulce, který vidíte.

Pro žádosti o změnu zapište cíl, schválenou síťovou cestu, současnou bránu a rozhraní a kdo má výjimku udržovat. Vlastník je důležitý, protože jednorázová trasa zadaná na příkazovém řádku není politika a příští opětovné připojení ji smaže.

Pokud je požadavkem dosáhnout tohoto hostu, dokud je VPN zapnutá, poctivá odpověď je obvykle konkrétní trasa k hostu přes místní router, kterou nainstaluje správce sítě, jenž rozhraní vlastní. Pokud je požadavkem dosáhnout přímo na cokoli, potřebuje požadavek sám revizi politiky dřív, než potřebuje příkaz trasy.

Související články