GNU/Linux >> Znalost Linux >  >> Linux

Linux – Zdá se, že vazba síťového rozhraní funguje pouze jako root?

Mám server CentOS 7 se dvěma síťovými rozhraními. Jeden ukazuje na naši LAN (ens32) a druhý na naši DMZ (ens33).

Zatímco rozhraní LAN funguje dobře, všiml jsem si, že se zdá, že provoz bude procházet rozhraním DMZ, pouze pokud se přihlásíte jako root, a nejsem si jistý, co to znamená nebo zda to má nějaký čistý dopad na jiné problémy, se kterými se setkávám. .

Pokud například spustím:

curl --interface ens32 ipecho.net/plain

jako uživatel bez oprávnění root získám veřejnou IP pro toto rozhraní.

Pokud spustím:

curl --interface ens33 ipecho.net/plain

jako uživatel bez oprávnění root se zdá, že se příkaz zastaví a já budu nucen proces ukončit.

Pokud spustím předchozí příkaz jako root, dostanu očekávaný výstup, což je veřejná IP pro toto rozhraní.

Může někdo vysvětlit, co se zde může odehrávat?

Přijatá odpověď:

Jak je vidět na oficiálním curl pro specifikaci/vazbu na konkrétní rozhraní je potřeba mít buď CAP_NET_RAW, nebo spustit jako root .

Tedy root být schopen provést vazbu/směrování a nepracuje za vás s běžným uživatelem.

Když běžný uživatel používá curl , aniž by bylo zakázáno používat --interface možnost, místo toho se na tuto operaci použijí výchozí pravidla směrování serveru.

Z oficiální stránky curl.1 manuálová stránka:

–rozhraní

Proveďte operaci pomocí zadaného rozhraní. Můžete zadat
název rozhraní, IP adresu nebo název hostitele. Příklad může vypadat takto:

curl –rozhraní eth0:1 https://www.example.com/

Pokud je tato možnost použita několikrát, použije se poslední.

V Linuxu jej lze použít k určení VRF, ale binární soubor musí
mít buď CAP_NET_RAW, nebo být spuštěn jako root.

Další informace o
Linux VRF:https://www.kernel.org/doc/Documentation/networking/vrf.txt


Linux
  1. Nakonfigurujte síťové rozhraní jako klienta DHCP na RHEL7 Linux

  2. Linux – Proč Setuid nefunguje?

  3. Průvodce IFTOP:Využití šířky pásma rozhraní Display Network v systému Linux

  1. Získat adresy místního síťového rozhraní pouze pomocí proc?

  2. Linux získává všechny názvy síťových rozhraní

  3. Udělejte soubor pouze pro čtení na Linuxu i pro roota

  1. Linux Setuid nefunguje?

  2. Linux – obsah /etc/network V obrazu Alpine Linux?

  3. Povolené znaky v názvech síťových rozhraní Linuxu?