GNU/Linux >> Znalost Linux >  >> Linux

Linux – Směrovací tabulka „220“ V linuxovém jádře 3.2.0-23-generic?

Mám počítač se systémem Linux s jádrem 3.2.0-23-generic a má pravidlo s prioritou 220 v RPDB, které ukazuje na směrovací tabulku s názvem „220“:

T42:~# ip rule show
0:      from all lookup local 
220:    from all lookup 220 
220:    from all lookup 220 
32766:  from all lookup main 
32767:  from all lookup default 
T42:~# ip route show table 220
T42:~# 

Je možné vidět, kde se toto pravidlo vzalo? Jaký smysl má prázdná směrovací tabulka? V neposlední řadě, jak může existovat více pravidel se stejnou prioritou?

Přijatá odpověď:

Je možné vidět Odkud toto pravidlo pochází?

Ne ve smyslu „kde najdu zdroj tohoto pravidla“.
Existuje několik způsobů, jak problém prozkoumat:nejzjevnější je grep všechny spouštěcí skripty ve vašem systému, abyste viděli, který používá ip rule vůbec a pak je začněte číst. Nebo můžete spustit systém v režimu pro jednoho uživatele a spouštět služby jednu po druhé z příkazového řádku pomocí strace . Nebo můžete spustit systém pomocí bash jako init (příkazový řádek jádra:init=/bin/bash ) a poté můžete spustit skutečný /sbin/init s strace . Jedná se o poměrně pokročilé způsoby sledování spouštěcích aktivit, nemusí být triviální vědět, které skripty spustit…

Neexistuje způsob, jak zjistit, kde se konkrétní pravidlo vzalo, jestli to byl správce nebo hacker, který je zadal ručně, a ne skript přítomný v systému.

Jaký smysl má prázdná směrovací tabulka?

Nic – dokud někdo nezačne zaplňovat tabulku. Může to být démon, který nejprve zadá pravidlo pro svou vlastní tabulku a poté dynamicky změní obsah své vlastní směrovací tabulky.

jak může existovat více pravidel se stejnou prioritou?

Návod na sadu IPROUTE2 Utility Suite

priorita PREFERENCE — priorita tohoto pravidla. Každé pravidlo by mělo mít explicitně nastavenou jedinečnou hodnotu priority. Priorita je 32bitové číslo bez znaménka, takže máme 4294967296 možných pravidel.

VAROVÁNÍ!

Z historických důvodů přidání pravidla ip nevyžaduje žádnou hodnotu priority a umožňuje, aby hodnota priority nebyla jedinečná. Pokud uživatel nezadal hodnotu priority, pak byla přiřazena jádrem. Pokud uživatel požádal o vytvoření pravidla s hodnotou priority, která již existovala, jádro požadavek neodmítlo a přidalo nové pravidlo před všechna stará pravidla stejnou prioritu. To je chyba současného designu, nic víc. Než si to přečtete, mělo by to být opraveno, takže se na tuto funkci nespoléhejte. Při vytváření pravidel byste měli vždy používat explicitní priority.


Linux
  1. Jak upgradovat jádro na ploše Linuxu

  2. Linux – Kernel:Podpora jmenných prostorů?

  3. Linux – Jsou různá jádra Linux/unix zaměnitelná?

  1. Životní cyklus testování linuxového jádra

  2. Jak nastavit statickou IP adresu a upravit směrovací tabulku v systému Linux

  3. Linuxové jádro nerozpoznalo tabulku oddílů

  1. Linux – Kernel IP Forwarding?

  2. Linux – poskvrněné jádro v Linuxu?

  3. Linux – směrování přes Iptables?