Routa nepřejde do stavu linkdown/dead

Routa nepřejde do stavu linkdown/dead
« kdy: Dnes v 11:55:01 »
Mám na linuxu staticky definované routy. Jednu síť (třeba 77.0.0.0/8) mám via 192.168.1.50 přes pobočný PC, sám tento počítač je součástí 192.168.1.3/24.

je to propojeno switchem. Pokud vypnu switch nebo kabel z toho pobočného 50 a zkusím ho (...1.3) pingnout samozřejmě dostanu ICMP host unreachable.  a do této sítě se samozřejmě nedostanu (v případě default ani na internet)

Proč ale se toto nepropíše  (automaticky, klidně po nějakém zpoždění kvůli arp třeba) do ip route show na routeru?
Očekávám, že routy označené (vypsané, ne nastavené) s příznakem dead, deadlink, linkdown, linkinpark, deadcat, down (existuje opravdu vše, pátral jsem po rozdílu mezi nimi, linkdown je když manuálně vypnu interface) se nepoužijí a v tom případě použije routa s nižší metrikou. To je možné důležité, protože na tu síť se jde dostat i jinou routou, třeba i default routou.

Je nějaký mechanismus u statického routingu, že když mám 77/8 nebo default  via 192.168.0.50  a ten "via host" bude unreachable, že taková routa se prohlásí za dead nebo down a automaticky se přeskočí, aniž by se musela mazat z route tabulky? na multihop route jsem  se ptal a nedostal doporučení na tento účel. Myslel jsem, že v tomhle je linux chytrý, že pokud je nexthop unreachable, (a ping hlásí na tohoto hosta host unreachable), že takový routa bude očerněna.
Jenže ip route  vypisuje vše jako kdyby se nic nedělo


a existuje utilita ip sla?  Je něco z utilit ip *, co mi může pomoc v tomhle?
chová se default route v něčem jinak ?
« Poslední změna: Dnes v 11:59:04 od mikesznovu »


jjrsk

  • *****
  • 522
    • Zobrazit profil
Re:Routa nepřejde do stavu linkdown/dead
« Odpověď #1 kdy: Dnes v 12:16:59 »
A jak bys asi tak cekal, ze router zjisti, ze routa je nedostupna?

On to nema jak zjistit, na to potrebujes dynamicky routing.

Re:Routa nepřejde do stavu linkdown/dead
« Odpověď #2 kdy: Dnes v 12:52:43 »
Jestli bez náčrtku správně chápu tazatele, jde mu o to, že linux se snaží používat next-hop, figurující v kernelové routovací tabulce, přestože minimálně v ARP tabulce nemá pro tento next-hop ARP záznam (protože mít nemůže, protože někde L2 cestou zvadla konektivita). Já dodám, že se to tak chová zřejmě by default i v případě, že padnul dokonce L2 link na daném rozhraní, kde je "locally connected subnet" obsahující next hop. To sledování linku se tuším dá nějak ošetřit... každopádně za mě: dal bych na oba stroje Quaggu/frrouting, jakožto známku punku BGP s krátkým keepalive, a ať se hoši dohodnou...

timers bgp 4 17

BGP je sice nominálně exterior routing protocol, ale má tu příjemnou vlastnost, že nepotřebuje vidět pád linku, aby zareagoval - očuchá si konektivitu na své úrovni těmi keepalive zprávami. Na rozdíl od spousty IGP.