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.
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.
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í?