Pokročilé dotazy na (nexthop+) (multi)routing

Pokročilé dotazy na (nexthop+) (multi)routing
« kdy: 16. 10. 2024, 22:42:02 »
Mám na mysli příkaz ip v linuxu, asi konkrétně podpříkaz route(ale třeba to ,co hledám je v jiných subech) a IPv4. Možná dojde i na asymetrický tok. man ip-route jsem studoval,... NH, NHFLAGS...


1. Existuje něco jako dočasné zakázaní route? Něco jako set down, nebo disable, mask? v man jsem našel jsem  disable/enable ,ale pro ttl-propagate. Protože když se smaže, musí se pak přidat se všemi svými parametry, kdyžto toggle by bylo (pro lidi) jednodušší.
+ Existuje něco jako komenřát u routy? podobně jako u iptables a nebo dokonce i ipset řádků-

2. Jak je možné, že se objevily 2 default routy ? ( tím spíš dvě routy se stejným target - lišily se v dev) šlo o Mubuntu s tím lepším Newtorkmanagerem  (umožňující přidat WG, vybírat pásmo u wifi, ale hotspot jsem tam neviděl) . šlo o počítač, s plně automatickou konfigurací připojenám současně k 2  sítím zároveň.. Je to nějaká novinka? Na 5.10 mi to při pokusu přidat píše RTLINKFILEEXISTS

3. existuje něco jako icmp update gateway paket?  Pro klienty. Modelový příklad: změní se default brána  (síť zůstává stejná), ale klient nedostal informaci že si má změnit gateway z 192.168.1.1 na 192.168.1.2 . S tím, že 192.168.1.1 si to zařídí (tím, že default gateway dá na nexthop 192.168.1.2)

Další se týká multi-homingu a dokonce, kdy se druhé spojení nenechází na jiném rozhraní, ale rovnou na jiném hostovi v síti. :
Kód: [Vybrat]
# ip route
default
        nexthop via 10.0.0.1 dev eth3 weight 1 onlink
        nexthop via 192.168.1.2 dev eth4 weight 4
172.16............
a
default
        nexthop via 10.0.0.1 dev eth3 weight 1 onlink dead linkdown
        nexthop via 192.168.1.2 dev eth4 weight 4
172.16............

5.Nenašel jsem nic jako prioritu, preferenci routy u multi-route (ip route add default nexthop via 192.168.1.2  weight 3 nexthop 10.0.0.3 dev eth4 onlink weight N) Weight nefunguje tak jak chci, nezohledňuje to aktuální situaci (když spojení přes danou cestu nejde). a nijak to nereaguje pružně. Nebo se to jmenuje jinak? Preference, pref, metric? asi to není to co chci. Ale metrika je pro celou routu, já hledám elegentní řešení,pokud je cesta použít tu multiroutu, tak tam se musí pro jednotlivé nexthopy, což je weight(jsem si myslel). Pak je nějaké pref(erence), ale mi hlásilo chybu syntaxe. (Je možné že syntaxe pro multi routu má jiné povolené sady parametrů v NH, ačkoliv podle BNF notace se NH opakuje v INFO_SPEC dvakrát  a například weight se ignoruje u routy bez nexthopů a  naopak asi něco nejde použít v nexthopech -viz man ip-route -hledat  "own syntax")

6. Navíc jsem zjistil, že tam je nějaké hysterze. změním default routu (na jedno nebo druhé nebo multiroutu s oběma nexthopy - těžko říct asi, tip bych mtu multiroutu) a z telefonu mi to prostě na jednoho hosta nešlo a problémy byl přímo v tom routeru - příkaz ip route get daný_host vracel starý záznam z té multirouty, ale pro jinou IP ip route get 16.10.20.24 to vrátilo už tu správnou ???
+ Zafungovala nějaká route cache? Jak ji flushnout? Existuje nějaké nastavení timeutu nebo ttl té route cache nebo pooling interval pro kontrolu správnosti/dostupnosti
+EDIT : možná to funguje úplně na principu náhody při stejném weight ( i když druhá je neprůchodná ),  >:(

7. JEDNOU jsem u té multi routy  u jendoho nexthop řádku viděl dead linkdown suffix. Nevím jak se to stalo. Ale nikdy jindy to nezafungovalo. Kde k tomu najdu info?

6. Zaznamenal jsem asi rozdíl ve verzi v linuxu, kdy pro vložení (default ?-asi nezáleží)route přes hosta, je onlink, ale není v rozsahu subnetu sítě (třeba že má přiřazenu masku /32) se musí routa vložit přes 2 příkazy - první pro hosta/32 a druhá via host onlink, zatímco v iném systému jde rovnou vložit ip route add default via 1.2.3.4 dev eth8 onlink bez předchozí známosti 1.2.3.4 v jednom příkazu

7.  na odlehčení: Fungují (hodně vágní analogie) routy  a nexthopy v linuxu  jako  CASCADE constraint v SQL? (dotaz asi jen pro ty ,kteří ví co je to zač)

8. Existuje nějaké nastavení režimu té multirouty? Například jako bonding/teaming má režimy failover, bond, round-robint, hash podle src/dst mac.... Souvisí s pětkou trochu, například další režim, když obě routy fungují, tak rozvažovat traffic poměrně podle weight u jednotlivých nexthopů . souvisí s trochu bodem 6+.



0. Nedostávám se tím nějak nad možnosti statického routingu? Jde to pořád takhle řešit (aspoň ta jediná věc, aby  ten router použil ten správný nexthop z té default multi-routy) . Nebo bych to měl spíš řešit na linkové vrstvě? Ale nedokážu si to představit, když druhý pc (druhá gateway) je v síti a je připojen přes stejný switch k routeru. Nebo se "vracet" k cronu, hook scriptům a pre-up.sh atd ? (což si stejně ale nedokážu představit, protože to by se ten vystrčený 2 .gateway musel připojit přes ssh na router a dát ip route del ...)..

Jak na to? Zkrátka jsem si myslel, že zaměním default via 10.0.0.1 za default nexthop via nexthop via (+ s hypotetickým per-nexthop parametrem weight, timeout, priority, check-interval a per-route parametrem režimem failover/round-robin/weighted/best-latendy) že to bude fungovat out of box.. Jo a neřeším žádný peeringový uzel v silicon valley ale síť na domácí žvýkání.
« Poslední změna: 16. 10. 2024, 22:48:08 od mikesznovu »


Karmelos

  • *****
  • 1 061
    • Zobrazit profil
    • E-mail
Re:Pokročilé dotazy na (nexthop+) (multi)routing
« Odpověď #1 kdy: 16. 10. 2024, 23:39:29 »
Ehm Nedostávám se tím nějak nad možnosti statického routingu? . Hlavní vlastnost statického routingu je podle mého názoru ehm to, že je tak nějak statický. To co požaduješ ty je, opět podle mého názoru, routing dynamický. Proto bych být tebou hledal termit "Dynamický routing", ale jestli je to to, co chceš dělat, ví bůch.
Gréta je nejlepší.

jjrsk

  • *****
  • 527
    • Zobrazit profil
Re:Pokročilé dotazy na (nexthop+) (multi)routing
« Odpověď #2 kdy: 17. 10. 2024, 08:50:22 »
...
Staticky routing je proto staticky ze se nemeni. Pokud chces reagovat na vypadky, tak bud si sesmolis samorobobastloscript, kterym budes to staticke routovani rozbijet (=menit, ale ono ti to v mnoha situacich prestane fungovat) nebo potrebujes pouzit ospf/bgp. To musi ovsem byt nasazeno na vsech stranach, takze nejen u tebe.

Jinak si zjisti neco na tema vice routovacich tabulek a pravidla rozdeleni provozu do nich. To se staticky udelat da.

Re:Pokročilé dotazy na (nexthop+) (multi)routing
« Odpověď #3 kdy: 18. 10. 2024, 22:21:40 »
Aha takže jsem sepsal 10bodový elaborát zbytečně, mohlo mi to dojít, že něco ten statický routing vlinuxu je definitivní a  takhle těžkopádný. To už ani se nemusím ptát 11, proč když u jednoho mám link down, tak proč "nejde internet", i když vesele mám dvě default routy, ale bohužel ta linkdown má zrovna nižší metriku. čekal jsem, že linkdown routy se nějak klidí z cesty samy- a druhá věc
12 .proč když mám dvě routy na stejné destination 4.0.0.0/8, lišící se jen metrikou nebo rozhraním /teď nevím z hlavy/
, tak proč ip route delete 4.0.0.0./8 smaže jen jednu z nich, a bůhví podle jakého pravidla

Tím jsem se chtěl zeptat, ty dynamické routovací protokoly taky využívaj "jako backend" ty statické routovací tabulky ,jenom ž je právě taky nějakým bastlodémonem snaživě poctivě fortelně aktualizují?

Stejně bych nejradši znal otázky všechny odpovědi 1-12 zvlášď. kromě:
2 - to už jsem si našel, že může být jiná metric nebo jiné rozhraní
3 - nevím jak to funguje v praxi
6(ii) je asi věcí userspace syntactic sugar v novější verzi
a tý nuly, která symbolicky byla poslední

Re:Pokročilé dotazy na (nexthop+) (multi)routing
« Odpověď #4 kdy: 19. 10. 2024, 07:09:39 »
Nevim o co se pokousis, ovsem dynamicka aktualizace route table je zalezitost pro routovaci protokoly. Aka BGP, OSPF, dale je zde moznost spojit BGP s ECMP. Routovacich protokolu je vice , is-is protokol se vyuziva temer vyhradne na “podvozku” ISP  tier 2/3 a pak dnes temer nepouzivany (aspon ja ho nikde nevidel) RIP. Ted k Linuxu - za me snad nejlepsi aplikace bird od cznic. 


Jinak dve def gw je zcela normalni v pripade mas napr. notebook pripojen k lan i wifi. Metrika urci kam pujde provoz.  Metrika je jina pro wifi, metaliku a zaroven i pro routy z ospf nebo bgp. Krome metriky muzes nastavit distance.