GNU/Linux >> Znalost Linux >  >> Linux

Dobré podrobné vysvětlení syntaxe /etc/network/interfaces?

Pochopil jsem úplně základní koncept, jak používat /etc/network/interfaces , ale vše, co najdu online, jsou příklady, příklad za příkladem, ze kterých mohu kopírovat a vkládat. Co mi chybí, je vysvětlení syntaxe, vysvětlení významu příkazů a jaké pořadí příkazy vyžadují. Chci to pochopit, protože kopírování a vkládání většinou nestačí, protože nepracuji na novém stroji, takže nemůžu jen přepsat existující konfigurace, protože by to rozbilo spoustu věcí. man interfaces nebylo příliš užitečné, protože je napsáno velmi složitě.

Příklady otázek, které mám:co dělá inet v iface řádek znamená přesně (ani jsem to nenašel v manuálové stránce), co znamená manual v iface řádek přesně znamená (používá to mnoho příkladů, ale podle manuálové stránky to pak potřebuje další konfigurační soubor, který příklady neobsahují), kdy je používám nebo potřebuji? Kdy ne? Když vytvořím most, co se přesně stane s rozhraními?

Přijatá odpověď:

Rozdělme to na kousky, abychom lépe porozuměli /etc/network/interfaces :

Vrstva propojení+volby typu rozhraní (obecně první z každé stanzy rozhraní a nazývaná skupina adres + metoda pomocí interfaces(5) manuálové stránky):

auto interface – Spusťte rozhraní při bootování. To je důvod, proč lo rozhraní používá tento druh konfigurace propojení.

allow-auto interface – Stejné jako auto

allow-hotplug interface – Spusťte rozhraní, když je detekována událost „hotplug“. V reálném světě se to používá ve stejných situacích jako auto rozdíl je ale v tom, že bude čekat na událost jako „bylo detekováno udev hotplug api“ nebo „kabel připojen“. Další informace naleznete v části „Související položky (hotplug)“.

Tyto možnosti jsou v podstatě možnosti „vrstvy 2“, nastavují stavy spojení na rozhraních a nesouvisí s „vrstvou 3“ (směrování a adresování). Jako příklad můžete mít agregaci odkazů, kde rozhraní bond0 musí být aktivní bez ohledu na stav propojení a jeho členové mohou být aktivní po události stavu propojení:

auto bond0
iface bond0 inet manual
        down ip link set $IFACE down
        post-down rmmod bonding
        pre-up modprobe bonding mode=4 miimon=200
        up ip link set $IFACE up mtu 9000
        up udevadm trigger

allow-hotplug eth0
iface eth0 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

allow-hotplug eth1
iface eth1 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

Tímto způsobem tedy vytvořím agregaci spojů a rozhraní se k ní přidají a odeberou ve stavech kabelových spojů.

Nejběžnější typy rozhraní:

Všechny níže uvedené možnosti jsou příponou k definovanému rozhraní (iface <Interface_family> ). V podstatě iface eth0 vytvoří stanzu s názvem eth0 na ethernetovém zařízení. iface ppp0 by mělo vytvořit rozhraní point-to-point a mohlo by mít různé způsoby získávání adres, jako je inet wvdial který předá konfiguraci tohoto rozhraní do wvdialconf skript. Nice inet /inet6 + option bude definovat verzi IP protokolu, který bude použit, a způsob, jakým bude tato adresa nakonfigurována (static , dhcp , scripts …).
Více podrobností o tom vám poskytnou online příručky Debianu.

Možnosti na rozhraní Ethernet:

inet static – Definuje statickou IP adresu.

inet manual – Nedefinuje IP adresu pro rozhraní. Obecně se používají rozhraní, která jsou členy mostu nebo agregace, rozhraní, která potřebují fungovat v promiskuitním režimu (např. zrcadlení portů nebo síťové TAP ), nebo na nich mít nakonfigurované zařízení VLAN. Je to způsob, jak udržet rozhraní v provozu bez IP adresy.

Související:Je ghí dobrou náhradou sádla?

inet dhcp – Získat adresu IP prostřednictvím protokolu DHCP.

inet6 static – Definuje statickou adresu IPv6.

Příklad:

# Eth0
auto eth0
iface eth0 inet manual
    pre-up modprobe 8021q
    pre-up ifconfig eth0 up
    post-down ifconfig eth0 down

# Vlan Interface
auto vlan10
iface vlan10 inet static
        address 10.0.0.1
        netmask 255.255.255.0
        gateway 10.0.0.254
        vlan-raw-device eth0
        ip_rp_filter 0

Tento příklad přinese eth0 nahoru a vytvořte rozhraní VLAN s názvem vlan10 který zpracuje značku číslo 10 na ethernetovém rámci.

Běžné volby ve stanze rozhraní (vrstva 2 a 3):

address – IP adresa pro rozhraní konfigurované se statickou IP

netmask – Síťová maska. Lze vynechat, pokud použijete adresu cidr. Příklad:

iface eth1 inet static
    address 192.168.1.2/24
    gateway 192.168.1.1

gateway – Výchozí brána serveru. Dávejte pozor, abyste použili pouze jednoho z tohoto muže.

vlan-raw-device – Na rozhraní VLAN definuje svého „otce“.

bridge_ports – Na rozhraní mostu definujte jeho členy.

down – Pomocí následujícího příkazu stáhněte rozhraní namísto ifdown .

post-down – Akce provedené ihned po vypnutí rozhraní.

pre-up – Akce před spuštěním rozhraní.

up – Použijte následující příkaz ke zvýšení rozhraní namísto ifup . Je na vaší fantazii, zda použijete jakoukoli možnost dostupnou na iputils . Jako příklad bychom mohli použít up ip link set $IFACE up mtu 9000 pro povolení velkých snímků během up operace (místo použití mtu možnost samotná). Můžete také zavolat jakýkoli jiný software, jako je up sleep 5; mii-tool -F 100baseTx-FD $IFACE pro vynucení 100Mbps Full duplex 5 sekund po zapnutí rozhraní.

hwaddress ether 00:00:00:00:00:00 – Změňte mac adresu rozhraní namísto použití adresy, která je napevno zakódována do ROM nebo vygenerována algoritmy. Můžete použít klíčové slovo random získat náhodnou mac adresu.

dns-nameservers – IP adresy jmenných serverů. Vyžaduje resolvconf balík. Je to způsob, jak soustředit všechny informace v /etc/network/interfaces místo použití /etc/resolv.conf pro konfigurace související s DNS.
Neupravujte soubor resolv.conf konfigurační soubor ručně
, protože bude dynamicky měněn programy v systému.

dns-search example.net – Připojte example.net jako doménu k dotazům hostitele a vytvořte FQDN. Možnost domain z /etc/resolv.conf

wpa-ssid – Bezdrátové:Nastavte bezdrátové WPA SSID.

mtu – velikost MTU. mtu 9000 =Jumbo rám. Užitečné, pokud je váš linuxový box připojen k přepínačům, které podporují větší velikosti MTU. Může porušit některé protokoly (měl jsem špatné zkušenosti se snmp a jumbo snímky).

wpa-psk – Bezdrátové:Nastavte pro SSID hexadecimální kódování PSK.

ip_rp_filter 1 – Filtr zpětné cesty povolen. Užitečné v situacích, kdy máte 2 cesty k hostiteli a to přinutí paket, aby se vrátil z místa, odkud přišel (stejné rozhraní, pomocí jeho tras). Příklad:Jste připojeni ke své síti LAN (192.168.1.1/24 ) a máte dlna server s jedním rozhraním na vaší LAN (192.168.1.10/24 ) a další rozhraní na dmz pro provádění administrativních úloh (172.16.1.1/24 ). Během relace ssh z vašeho počítače na dlna dmz ip se vám informace musí vrátit, ale zůstanou navždy, protože váš dlna server se pokusí doručit odpověď přímo přes své LAN rozhraní. S povoleným rp_filter zajistí, že se připojení vrátí tam, odkud přišlo. Více informací zde.

Související:Linuxové jádro pro Nintendo Wii?

Některé z těchto možností nejsou volitelné. Debian vás upozorní, pokud například vložíte IP adresu na rozhraní bez síťové masky.

Další dobré příklady konfigurace sítě naleznete zde.

Související věci :

Odkazy, které obsahují informace související s /etc/network/interfaces konfigurační soubor sítě:

  • JAK:Zabezpečení bezdrátového připojení – WPA1, WPA2, LEAP atd.
  • Jak mohu přemostit dvě rozhraní pomocí ip/iproute2?.
  • Co je událost hotplug z rozhraní?

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

  2. Jak se aktualizuje /etc/motd?

  3. Převést /etc/network/interfaces na Netplan?

  1. Změnit Mac adresu trvale uvnitř /etc/network/interfaces?

  2. Udev:přejmenování mého síťového rozhraní

  3. Rozdíl mezi /etc/hosts a /etc/resolv.conf

  1. Jak nastavit statickou IP adresu na Debian Linuxu

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Jak nastavit /etc/issues, aby zobrazoval IP adresu pro eth0