Pochopil jsem velmi základní koncept používání /etc/network/interfaces, ale vše, co najdu online, jsou příklady, příklad po příkladu, ze kterého mohu kopírovat a vložit. To, co mi chybí, je vysvětlení syntaxe, vysvětlení významu příkazů a pořadí, které 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 nemohu jen přepsat existující konfigurace, protože by to rozbilo spoustu věcí. man interfaces nebyl příliš užitečný, protože je napsán velmi komplikovaně.

Mám ukázkové otázky: co obsahuje inet iface řádek přesně znamená (nemohl jsem ho najít ani na stránce), co manual v přesně znamená (používá mnoho příkladů, ale podle manpage potřebuje speciální konfigurační soubor, který tyto příklady nepředstavují), kdy je použiji nebo potřebuji? Kdy ne? Když vytvořím most, co se přesně stane s rozhraními?

Komentáře

  • Manuální stránka říká, co následuje po názvu rozhraní, je rodina adres, kterou rozhraní obsahuje používá. " inet " je název pro IPv4, inet6 pro ipv6. Existuje ' s také ipx, x25, appletalk …, i když ifupdown se zabývá pouze inet / inet6 / ipx, jak vysvětluje manuálová stránka. manual znamená, že ifupdown don ' pokud s nimi nic neděláte, musíte to udělat sami.

odpověď

Pojďme to rozdělit na kousky, abychom lépe porozuměli /etc/network/interfaces:

Odkazová vrstva + možnosti typu rozhraní (obvykle první z každé stanzy rozhraní a metoda adresované rodiny + metoda interfaces(5) stránky):

auto interface – Spusťte rozhraní při spuštění. Proto rozhraní lo používá tento druh konfigurace propojení.

allow-auto interface – Stejné jako auto

allow-hotplug interface – Spustí rozhraní, když je zjištěna událost“ hotplug „. V reálném světě se to používá ve stejných situacích jako auto, ale rozdíl je v tom, že bude čekat na událost jako „detekce pomocí udev hotplug api“ nebo „kabelové propojení“ . Další informace najdete v části „ Související věci (hotplug) „.

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

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 

Takže tímto způsobem vytvořím agregaci odkazů a rozhraní k ní budou přidána a odstraněna ve stavech kabelových odkazů.

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

Všechny níže uvedené možnosti jsou příponou definovaného rozhraní (iface <Interface_family>). iface eth0 v zásadě vytvoří stanzu s názvem eth0 na zařízení Ethernet . iface ppp0 by měl vytvořit rozhraní point-to-point a mohl by mít různé způsoby, jak získat adresy jako inet wvdial který předá konfiguraci tohoto rozhraní do wvdialconf skriptu. Tuple inet / inet6 + option bude definovat verzi Protokol IP , který bude použit a jak bude nakonfigurována tato adresa (static, dhcp, scripts …). online příručky k Debianu vám poskytnou více podrobností.

Možnosti rozhraní Ethernet:

inet static – Definuje statickou adresu IP.

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

inet dhcp – Získejte IP adresu pomocí 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 zvýší eth0 a vytvoří Rozhraní VLAN s názvem vlan10, které na ethernetovém rámci zpracuje značku číslo 10.

Společné možnosti uvnitř stanzy rozhraní (vrstva 2 a 3):

address – IP adresa pro rozhraní nakonfigurované na statickou IP

netmask – maska sítě. Může být vynecháno, pokud používáte cidr adresu. 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 těchto lidí.

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 můžete místo rozhraní přejít dolů ifdown.

post-down – Akce provedené ihned po výpadku rozhraní.

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

up – Použijte následující příkaz k vylepšení rozhraní namísto ifup. Je na vaší fantazii, abyste použili jakoukoli možnost dostupnou na iputils. Jako příklad bychom mohli použít up ip link set $IFACE up mtu 9000 k povolení jumbo snímků během up (namísto použití samotné možnosti mtu). Můžete také volat jakýkoli jiný software, například up sleep 5; mii-tool -F 100baseTx-FD $IFACE a vynutit si 100 Mb / s Full duplex 5 sekund po zapnutí rozhraní.

hwaddress ether 00:00:00:00:00:00 – Změňte adresu MAC rozhraní namísto toho, který je napevno zakódován do rom nebo vygenerován algoritmy. K získání randomizované adresy mac můžete použít klíčové slovo random.

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

dns-search example.net – Připojte example.net jako doménu k dotazům hostitele a vytvořte plně kvalifikovaný název domény. Možnost domain z /etc/resolv.conf

wpa-ssid – Wireless: Set a bezdrátový identifikátor WPA SSID.

mtu MTU . mtu 9000 = Jumbo snímek. Užitečné, pokud je váš Linux box propojen s přepínači, které podporují větší velikosti MTU. Dokáže porušit některé protokoly (se snímky snmp a jumbo jsem měl špatné zkušenosti.)

wpa-psk – Bezdrátové připojení: Nastavte hexadecimální kódovaný PSK pro váš SSID. >

ip_rp_filter 1 Filtr reverzní cesty povolen. Užitečné v situacích, kdy máte k hostiteli 2 cesty, což donutí paket, aby se vrátil z místa, odkud přišel (stejné rozhraní, používá jeho trasy). Příklad: Jste připojeni na vaší lince (192.168.1.1/24) a máte server dlna s jedním rozhraním na vaší lince (192.168.1.10/24) a další rozhraní na dmz k provádění administrativních úkolů (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 budou viset navždy, protože váš server dlna se pokusí doručit odpověď přímo přes jeho LAN rozhraní. S povoleným rp_filter zajistí že připojení se vrátí z místa, odkud přišlo. Více informací zde .

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

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

Související věci :

Odkazy, které obsahují informace související s /etc/network/interfaces síťový konfigurační soubor:

Komentáře

  • Díky, toto moc pomáhá. Má inet něco společného s " internetem "?Někdo jsem četl, že to prostě znamená " IPv4 " a inet6 znamená " IPv6 ", ale výraz " inet " je opravdu matoucí, když to vidíte a zaměňujete to za zkratku pro " internet ". A jména, která člověk používá, jako eth0, jsou tato definována, nebo si je mohu vybrat sám? Pokud mám více než jeden adaptér LAN, jak zjistím, který eth patří ke kterému adaptéru LAN?
  • Oba. Společně definují způsob získání IP adresy (dhcp, static, ppp skripty, bez adresy) a verzi protokolu IP (inet = v4 a inet6 = v6). Názvy rozhraní do značné míry závisí na distribuci, kterou používáte, a na způsobu konfigurace udev. Debian používá eth* a wlan* ke kabelovým a bezdrátovým rozhraním. Fedora používá schéma biosdevname, kde em0 je první integrované ethernetové rozhraní na vaší základní desce a p<slot>p<eth port> název PCI nic. Názvy sítí můžete opravit na /etc/udev/rules.d/70-persistent-net.rules nebo vytvořit alias na interfaces.
  • Pokud jde o " gateway – výchozí brána serveru. dávejte pozor, abyste použili pouze jednu z těchto osob. " Je to jedna na každou stanzu nebo jedno rozhraní brány mezi všemi stanzami?
  • Měla by být jedna brána mezi všemi stanzami, nebo budete mít potíže s výchozí trasou. Abyste mohli pracovat s více branami / více linkami, budete potřebovat nějaké přemýšlení s iptables + značení balíčků + pravidla ip.
  • allow-hotplug nečeká na pozadí " kabelem propojené " události na ethernetových portech a nikdy tak neučinilo. unix.stackexchange.com/a/520633/29483

Odpovědět

Také bych dodal, že:

  • rozhraní je pro služby ifup / ifdown.
  • Když použijete allow-hotplug, nezačne to ifup / ifdown, protože potřebujete použít příznak –allow = hotplug.

Můžete sledovat, co je děje se s ifup pomocí –verbose vlajky.

Nejsem 100% shure toho, ale zdá se, že v podstatě, když se volá ifup u, provede vše z / etc / network / interfaces s up … pokud není uvedeno jinak.

Nerozumím tomu, jak to souvisí: síť služeb …

Bylo by hezké, kdyby někdo po volání ukázal, co se děje:

service networking restart 

ve vztahu k ifup / ifdown.

Odpověď

Pokud potřebujete přidat možnosti při použití balíčku resolvconf, tj. na Ubuntu umístíte tuto konfiguraci do /etc/resolvconf/resolv.conf.d/base:

# /etc/resolvconf/resolv.conf.d/base options timeout:1 attempts:1 rotate 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *