Překlad(y): angličtina – Español – Français – Italiano – 简体 中文

Reader Předpoklady: získat co nejvíce z tohoto článku, pochopit následující pojmy před čtením: základní unix příkazového řádku nástroje, textové editory, DNS, TCP/IP, DHCP, maska sítě, brány

Obsah

většina nastavení sítě může být provedeno prostřednictvím rozhraní konfigurační soubor v /etc/network/interfaces., Zde můžete dát síťové kartě IP adresu (nebo použít dhcp), nastavit informace o směrování, nakonfigurovat maskování IP, nastavit výchozí trasy a mnoho dalšího.

nezapomeňte přidat rozhraní, která chcete vyvolat v době zavádění do řádku „auto“.

viz rozhraní man pro více možností.

Spuštění a Zastavení Rozhraní

Rozhraní nakonfigurován s /etc/network/interfaces může být podána nahoru a dolů pomocí ifup a ifdown příkazy.,

Některé zastaralé návody pokyn k restartování síťové služby chcete-li použít změny do /etc/network/interfaces, nicméně to byl kritizován, protože je možné, že ne všechna rozhraní bude restartován. Místo toho použít ifup a ifdown použít změny pro každé rozhraní, například rozhraní s názvem enp7s0:

# ifdown enp7s0# ifup enp7s0

Síťové Rozhraní Názvy

Viz NetworkInterfaceNames. Od Stretch nové systémy ve výchozím nastavení již nepoužívají názvy rozhraní starého stylu, jako jsou eth0, eth1, wlan0, wlan1., Nový systém používá názvy založené na hardwaru, umístění, jako eno0, enp0s31f6, wlp1s7 (nebo v případě USB klíčů, MAC adresa: enx2c56ac39ec0d).

můžete uvést rozhraní s: ls / sys / class / net

různé níže uvedené příklady nadále používají „eth0“ jako výchozí název rozhraní, i když je nepravděpodobné, že by existoval v moderním systému.

Názvy upgradu a síťového rozhraní

Stretch a Buster si stále zachovávají podporu starého systému pojmenování, pokud soubor/etc/udev / rules.d / 70-local-persistent-net.,pravidla jsou stále na svém místě, ale uživatelům se doporučuje přejít před upgradem na Bullseye.

Použití protokolu DHCP pro automatickou konfiguraci rozhraní

Pokud jste právě pomocí DHCP, pak vše, co potřebujete, je něco jako:

 auto eth0 allow-hotplug eth0 iface eth0 inet dhcp

Pro DHCPv6 (pro IPv6), připojit také následující iface stanza

 iface eth0 inet6 dhcp

Případně, IPv6 může být autoconfigured pomocí stateless address autoconfiguration, nebo SLAAC, který je specifikován pomocí automatické namísto dhcp v inet6 sloka:

 iface eth0 inet6 auto

Také uvidíte, IPv6PrefixDelegation.,

Konfigurace rozhraní ručně

Pokud konfigurujete ručně, pak se něco takového bude nastavena výchozí brána (sítě, broadcast a gateway jsou volitelné):

 auto eth0 iface eth0 inet static address 192.0.2.7/24 gateway 192.0.2.254

Pokud chcete přidat IPv6 adresu, přidat něco jako:

 iface eth0 inet6 static address 2001:db8::c0ca:1eaf/64 gateway 2001:db8::1ead:ed:beef

Viz man rozhraní pro více možností.

nezapomeňte zakázat všechny služby DHCP, např.

míchání ruční a automatické konfigurace je také možné, např., použít IPv6 SLAAC pro připojení k internetu a statické adresy v rámci sítě:

# manual unique local addressiface eth0 inet6 static address fdc3:cafe::3/64 # use SLAAC to get global IPv6 address from the router # we may not enable ipv6 forwarding, otherwise SLAAC gets disabled autoconf 1 accept_ra 2

Nastavení rychlost a duplex

Autonegotiation opakovaně selhává, je často příznakem vadné kabely, tak vyšetřovat fyzické záležitosti, než za předpokladu, že rozhraní‘ autonegotiation algoritmy jsou neslučitelné. Pokud jste vypnout autonegotiation, a nastavit rychlost a duplex ručně partner rozhraní na druhém konci kabelu bude předpokládat, že absence autonegotiation označuje rychlost 10Mbps a duplex půl., Pro bezchybný provoz pokud nastavíte rychlost a duplex ručně, musíte zajistit, aby na partnerském rozhraní byla nakonfigurována přesně stejná rychlost a duplex.

Pokud nastavíte rychlost a duplex vašeho rozhraní ručně, může být vyžadováno několik pokusů a omylů. Zde jsou základní kroky:

  • nainstalujte balíčky ethtool a net-tools, abyste měli programy ethtool a mii-tool. Jeden nebo oba z nich může fungovat pro vaše rozhraní.

  • ujistěte Se, že máte způsob, jak se přihlásit do systému v případě, že síťové rozhraní se stává nefunkční., Spojení SSH by mohlo být přerušeno, takže byste měli mít strategii zpětného chodu.

  • Identifikujte příslušné rozhraní (často bude eth0). Podle toho upravte zbytek těchto pokynů.
  • zkuste zjistit, jaká je jeho aktuální rychlost a duplexní nastavení. Zde se pobaví:
    • jako root zkuste nejprve ethtool eth0 a zjistěte, zda řádky „Speed:“ a „Duplex:“ vypadají platně. Pokud tomu tak není, ethtool nemusí být podporován zařízením.

    • jako root zkuste mii-tool-v eth0 a zjistěte, zda jeho výstup vypadá správně., Pokud tomu tak není, je mii-tool nemusí být podporován zařízením.

    • Pokud není podporován ani jeden, možná budete muset nastavit parametry přímo na modulu ovladače jádra. Zjistěte, který modul ovladače používáte čtením výstupu dmesg a lsmod. Poté můžete zkusit modinfo MODULENAME zjistit, jaké parametry přijímá, pokud existuje. (Modinfo můžete použít i na moduly, které nejsou načteny, pro srovnání.) ToDo: kde nastavíte parametry modulu jádra?

  • dále zkuste změnit nastavení rozhraní během jeho provozu. Budete muset být kořen, samozřejmě., Buď:
    • ethtool -s eth0 speed 100 duplex full autoneg off (za předpokladu 100 Mbps a full duplex)

    • mii-tool-F režimu 100basetx-FD eth0 (stejný předpoklad)

    V každém případě, re-zkontrolujte, zda nastavení rozhraní změnil, a pak zkusit poslat nějaká data v systému, aby zjistili, zda NIC funguje správně.

  • Pokud jeden z těchto příkazů se úspěšně nastavit NIC, pak si můžete dát je do /etc/network/interfaces, takže to běží, když si přinesete rozhraní (např. při bootu)., Než to však uděláte, měli byste pochopit, že některé ovladače a zařízení se chovají jinak než ostatní. Když je modul ovladače načten, NIC může zahájit autonegotiaci bez jakéhokoli způsobu, jak jej zastavit (zejména u ovladačů, které nepřijímají parametry). Nastavení z rozhraní se aplikují v určitém okamžiku poté, což může být přímo uprostřed vyjednávání. Někteří lidé tedy považují za nutné odložit příkaz ethtool nebo mii-tool o několik sekund. Tedy:

     iface eth0 inet static address .../... gateway ... up sleep 5; ethtool -s eth0 ...

    nebo analogický příkaz mii-tool.,

  • Restartujte počítač, aby se ujistěte se, že jde správně, a být připraveni zasáhnout ručně (např. pomocí Ctrl-Alt-Del a pak boot do single-user režimu z GRUB nebo LILO) pokud věci nefungují.

vychovávají rozhraní bez IP adresa

vytvořit síťové rozhraní bez IP adresy na všechny použít ruční metodu a použít pre-a post-dolů příkazy, aby na rozhraní nahoru a dolů.

 iface eth0 inet manual pre-up ifconfig $IFACE up post-down ifconfig $IFACE down

Pokud je rozhraní VLAN rozhraním, musí být příkazy nahoru/dolů provedeny po / Před háčky vlan., (Musíte také nainstalovat balíček vlan.)

 iface eth0.99 inet manual post-up ifconfig $IFACE up pre-down ifconfig $IFACE down

Poznámka: Pokud jste vytvoření VLAN rozhraní, jen dát to do mostu, není třeba definovat VLAN rozhraní ručně. Stačí nakonfigurovat most a rozhraní VLAN bude vytvořeno automaticky při vytváření mostu (viz níže).

Definování (DNS) dns servery

předtím, Než se počítač může připojit k externí síťový zdroj (řekněme, například, webový server), musí mít prostředky pro konverzi jakékoliv alfanumerické názvy (např. wiki.debian.org) do číselné síťové adresy (např. 140.211.166.,4). (Internet používá tyto strukturované číselné IP adresy jako síťové adresy.)

knihovna C a další knihovny resolveru vypadají na / etc / resolv.conf pro seznam jmenovatelů. V nejjednodušším případě je soubor, který chcete upravit, nastaven seznam jmenných serverů. Ale všimněte si, že různé programy pro dynamickou konfiguraci vám rádi přepsat nastavení:

  1. resolvconf program

  2. network-manager daemon

  3. DHCP klientů

Ve většině situací, soubor k editaci je konfigurační soubor pro tento program.,

v nejsložitějších situacích je použití resolvconf opravdu způsob, jak jít, i když v jednodušších konfiguracích je to pravděpodobně přehnané.

resolv.conf konfigurační soubor

konfigurační soubor resolv.conf at / etc / resolv.conf obsahuje informace, které umožňují počítači připojenému k síti vyřešit Názvy na adresy. (Poznámka: nezaměňujte tento konfigurační soubor s programem resolvconf, který má bohužel téměř totožný název.)

resolv.,conf soubor obvykle obsahuje IP adresy nameserverů (DNS resolvery), že se pokusí přeložit názvy na adresy pro každý uzel v síti k dispozici. Tam bude řádek nebo řádky, které vypadají jako tento:

nameserver 12.34.56.78nameserver 12.34.56.79

V tomto příkladu systém používá nameservery na IP adresy 12.34.56.78 a 12.34.56.79. Jednoduše upravte soubor a zadejte IP adresy dns servery musíte použít po každém nameserver. Pokud máte více jmenných serverů, přidejte další řádky serveru. Tuto metodu nepoužívejte, pokud máte nainstalovaný program resolvconf.,

resolv.konfigurační soubor conf má mnoho dalších možností pro definování toho, jak resolver vyhledává jména. Viz man resolv.conf pro podrobnosti.

program resolvconf

program resolvconf sleduje systémové informace o aktuálně dostupných názvech. Neměl by být zaměňován s konfiguračním souborem resolv.conf, který má bohužel téměř totožný název. Program resolvconf je v systému Debian volitelný.

konfigurační soubor resolv.conf obsahuje informace o jménech, které má systém používat., Pokud však více programů potřebuje dynamicky upravit resolv.konfigurační soubor conf mohou na sebe šlápnout a soubor se může stát mimo synchronizaci. Program resolvconf řeší tento problém. To funguje jako prostředník mezi programy, které poskytují informace nameserver (např. klienti dhcp) a programy, které používají nameserver informace (např. resolver).

Pokud je resolvconf správně nainstalován, resolv.konfigurační soubor conf na / etc / resolv.conf je nahrazen symbolickým odkazem na / etc / resolvconf/run / resolv.,conf a resolver místo toho používá konfigurační soubor, který je dynamicky generován resolvconf at / etc / resolvconf / run / resolv.conf.

program resolvconf je obvykle nutný pouze v případě, že systém má více programů, které potřebují dynamicky upravovat informace o serveru nameserver. V jednoduchém systému, kde se jmenné servery často nemění nebo se mění pouze jedním programem, resolv.konfigurační soubor conf je adekvátní.

Pokud je nainstalován program resolvconf, neměli byste resolv upravovat.,konfigurační soubor conf ručně, protože bude dynamicky měnit programy v systému. Pokud budete muset ručně definovat nameservery (stejně jako u statické rozhraní), přidejte řádek něco jako následující rozhraní konfigurační soubor v /etc/network/interfaces:

dns-nameservers 12.34.56.78 12.34.56.79

Umístěte řádek odsazen rámci iface strofy, např. hned po gateway line. Zadejte IP adresy nameserverů, které musíte použít po dns-nameservers. Dejte je všechny na jeden řádek oddělený mezerami. Nezapomeňte na “ s “ na konci DNS-nameservers.,

resolvconf program je poměrně nový přírůstek do Debian a mnoho starších programů je třeba aktualizovat nebo překonfigurovat tak, aby pracovat správně. Pokud máte problémy, viz / usr / share / doc / resolvconf / README. Má spoustu informací o tom, jak ostatní programy vycházejí s resolvconf.

Konfigurace DNS pro NetworkManager

NetworkManager přepíše nastavení dhcp, přepíše resolv.conf i když jste nakonfigurovali DNS v/etc / dhcp / dhclient.conf, např., způsobí, že DNS nejprve prohledá místní doménu, která může mít čas, než bude rozlišení DNS nadále způsobovat dlouhé časy rozlišení DNS. Můžete získat představu o tom, co NetworkManager si myslí, že nastavení by mělo být spuštěním nm-tool na příkazovém řádku.

můžete nakonfigurovat tato nastavení pomocí GUI spuštěním nm-connection-editor, který v současné době (13.11.23) není nalezen v Systémové Nástroje → menu pro Správu, spíše to musí být spuštěn ručně z příkazového řádku. Po spuštění:

  1. Vyberte připojení (na kartě kabelové nebo bezdrátové připojení) a klikněte na Upravit.,
  2. klikněte na záložku Nastavení IPv4
  3. zvolte „automatické (DHCP) adresy pouze „místo“ automatické (DHCP)“.
  4. zadejte servery DNS do pole „servery DNS“ oddělené mezerami (např. 208.67.222.222 pro OpenDNS).
  5. klikněte na “ Použít.“

NetworkManager uloží tato nastavení do/etc / NetworkManager / system-connections / name-of-connection. Příklad / etc / NetworkManager / system-connections / Wired connection 1:

spuštění nm-tool znovu by mělo ukázat, že NetworkManager má nyní správnou představu o tom, jak by měl být váš DNS vyřešen.,

konfigurace klienta DHCP

nastavení dalších serverů DNS

příklad: dhclient3 používá / etc / dhcp / dhclient.conf. V nastavení je

supersede domain-name-servers 12.34.56.78, 12.34.56.79;

nebo možná

prepend domain-name-servers 12.34.56.78, 12.34.56.79;

Nastavení další domény ve vyhledávání

přidání domény ve vyhledávání pro Vpn nebo lokální virtuální sítě:

append domain-name " virt vpn";

Poznámka: na přední místa, protože řetězec je doslova připojen k doméně vyhledávání poskytována jiných konfiguracích.

viz dhclient.conf(5) manuální stránka pro podrobnosti.,

přemostění

přemostění vloží více rozhraní do stejného segmentu sítě. To je velmi populární při připojení serveru k více přepínačům pro vysokou dostupnost nebo virtualizaci. V druhém případě se obvykle používá k vytvoření mostu v hostiteli(např. dom0) a vložte virtuální rozhraní hostů (doma) do mostu.

  • balíček bridge-utils je nutný k vytvoření přemostěných rozhraní.,

Příklad: Připojení na server pro 2 spínače (přes eth0 a eth1) definováním most 0 a poskytnout serveru IP adresa v tomto podsítě:

auto br0iface br0 inet static address 10.10.0.15/24 gateway 10.10.0.1 bridge_ports eth0 eth1 up /usr/sbin/brctl stp br0 on

Pokud je server připojen k více přepínačů, pak je obvykle nutné spustit spanning tree protokol, aby se zabránilo smyčky. Proto musí být STP zapnuto pomocí příkazu „nahoru“, jak je uvedeno výše.

Příklad: Most nastavení bez konfigurace IP adresy (použijte „příručku“ místo „statické“), aby „dopředu“ rozhraní pro hodnocení PP. (Statická konfigurace mostu obsahuje pouze 1 fyzické rozhraní., Virtuální rozhraní bude přidáno do mostu při spuštění VM.

auto br1iface br1 inet manual bridge_ports eth4 up /usr/sbin/brctl setageing br1 0 up /usr/sbin/brctl stp br1 off

Poznámka: Linux bridge podporuje pouze STP, no RSTP (Rapid Spanning Tree). Proto podporuje pouze staré náklady STP, nikoli nové náklady RSTP (viz Spanning_Tree_Protocol). To je obvykle v pořádku s přepínači Cisco, ale např. Jalovcové spínače používají náklady na RSTP, a proto to může vést k různým výpočtům stromů a problémům se smyčkou. To lze opravit nastavením nákladů ručně, buď na přepínači nebo na serveru., Nastavení nákladů na přepínači je výhodné, protože Linux se přepne zpět na výchozí náklady, kdykoli se rozhraní spustí dolů / nahoru.

přemostění bez přepínání

ve výchozím nastavení funguje Linux bridge jako přepínač. To znamená, že si pamatuje MAC adresy za port přepínače a pokud je známa Cílová MAC adresa, datové pakety nebo pouze předá příslušnému portu-jinak budou vysílány pakety.

v některých nastaveních je to špatné. Například pokud most spojuje 2 kmenová rozhraní a stejné MAC adresy mohou být vidět z obou rozhraní, v závislosti na VLAN., Jako Linuxový bridge nepodporuje Vlan (vyhrazené MAC adresy tabulky za každou VLAN), v těchto nastavení, budete muset vypnout MAC address learning a dát můstek do skutečné „most“ režim s:

 up /sbin/brctl setageing br0 0 up /sbin/brctl stp br0 off

Jak používat vlan (dot1q, 802.,1q, kufr) (Etch, Lenny)

Ruční config

modprobe 8021qapt install vlanvconfig add eth0 222 # 222 is vlan numberifconfig eth0.222 upifconfig eth0.222 mtu 1496 #optional if your network card doesn't support MTU 1504Bifconfig eth0.222 10.10.10.1 netmask 255.255.255.0

Síť init skript config

Do /etc/modules přidat řádek:

8021q

V /etc/network/interfaces do sekce iface přidat parametr:

 vlan-raw-device eth0

název rozhraní by mělo být syrové název rozhraní (stejné stanovené vlan-raw-device), pak tečky, pak VLAN ID, například eth0.100. Může to být místo toho „vlan“, pak VLAN ID, například vlan100. V obou případech je VLAN ID na konci a toto je jediné místo, které je nakonfigurováno.,

Poznámka: pokud pojmenujete rozhraní VLAN ethX.YYY, pak není třeba specifikovat vlan-raw-device, protože surové zařízení lze získat z názvu rozhraní.

Například:

auto eth0.222iface eth0.222 inet static address 10.10.10.1/24 vlan-raw-device eth0

Mosty a Vlan

Pokud se vám vytvořit VLAN rozhraní jen dát je do mostu, není třeba definovat VLAN rozhraní ručně. Stačí nakonfigurovat most a rozhraní VLAN bude vytvořeno automaticky při vytváření mostu, e.,g:

auto br1iface br1 inet manual bridge_ports eth0.99 eth1.99 up /usr/sbin/brctl stp br1 on

Upozornění při použití srovnávací a vlan

Pokud používáte brigded nastavení VLAN, což je pravděpodobně užitečné pro vytváření sítí v prostředí virtualizace, postarat se, aby pouze připojit buď most, zařízení nebo VLAN zařízení k příslušné fyzické zařízení – jako je uvedeno výše. Připojení fyzického rozhraní (eth0)k mostu (např. bri1) při použití stejného fyzického rozhraní na zjevně odlišných VLAN bude mít za následek, že všechny pakety zůstanou označeny. (Jádro novější než 2.6.37 a starší než 3.2).,

Jak vytvořit chybám lepení s vlan (Etch – Stretch)

debian_bonding.dia

Jak nakonfigurovat jeden z výše uvedených server aktivní zálohy lepení 3 vlan {vlan10,vlan20,vlan30} Debian sítí bez SPOF bez nativní vlan.

aptitude install vlan ifenslave-2.6

Network config

Cisco přepínače rozhraní příklad config

interface GigabitEthernet1/2 description eth1 switchport switchport trunk encapsulation dot1q switchport trunk allowed vlan 10,20,30 switchport mode trunk no ip address no cdp enable spanning-tree portfast trunk

propojení s active backup

Vytvořte soubor /etc/modprobe.d / lepení.,conf s obsahem:

alias bond0 bondingoptions bonding mode=active-backup miimon=100 downdelay=200 updelay=200 primary=eth1

/etc/network/interfaces

# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto bond0iface bond0 inet manual up ifconfig bond0 0.0.0.0 up slaves eth1 eth0auto vlan10iface vlan10 inet static address 10.10.10.12/24 vlan-raw-device bond0 gateway 10.10.0.1 dns-search hup.hu dns-nameservers 10.10.0.2auto vlan20iface vlan20 inet static address 10.20.10.12/24 vlan-raw-device bond0auto vlan30iface vlan30 inet static address 10.30.10.12/24 vlan-raw-device bond0

Jak nastavit MTU (Maximální přenosová jednotka / velikost paketu) s VLAN přes lepené rozhraní

MTU musí být nakonfigurován na lepení rozhraní a slave rozhraní po resetu konfigurace byla použita na lepení rozhraní. To se provádí pomocí post-up linky v konfiguraci lepení rozhraní.

auto bond0iface bond0 inet manual up ifconfig lacptrunk0 0.0.0.0 up slaves eth0 eth1# bond-mode 4 = 802.3ad bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-lacp-rate 1 bond-xmit-hash-policy layer2+3 post-up ifconfig eth0 mtu 9000 && ifconfig eth1 mtu 9000 && ifconfig bond0 mtu 9000#vlan devices will use the MTU set on bond0 deviceauto vlan101iface vlan101 inet static address 10.101.60.123/24 gateway 10.155.60.1 vlan-raw-device bond0auto vlan151iface vlan151 inet static address 192.168.1.1/24 vlan-raw-device bond0

Více IP adres na jednom Rozhraní

Rozhraní aliasing umožňuje jednomu rozhraní více IP adres., To je užitečné, když více než jeden server má být viditelný přes Internet. Všimněte si, že virtuální hostitelé mohou podporovat více serverů Apache s jednou IP adresou. Apache reaguje na název domény dodaný klientem v záhlaví HTTP. V mnoha dalších situacích je pro každý server pomocí portu zapotřebí jedna externí IP.

starší metoda

tento text/etc/network / interfaces přiřadí eth0 tři IP adresy.

rozhraní aliasu by nemělo mít „bránu“ nebo „DNS-nameservers“; dynamické přiřazení IP je přípustné.,

výše uvedená konfigurace je předchozí tradiční metoda, která odráží tradiční použití ifconfig ke konfiguraci síťových zařízení. ifconfig představil koncept aliasovaných nebo virtuálních rozhraní. Tyto typy virtuálních rozhraní mají názvy rozhraní formuláře: integer a ifconfig s nimi zachází velmi podobně jako se skutečnými rozhraními.

ifupdown v současné době používá nástroj ip z balíčku iproute2 namísto ifconfig. Novější nástroj ip nepoužívá stejný koncept aliasů nebo virtuálních rozhraní., Podporuje však přiřazení libovolných jmen k rozhraním (nazývají se štítky). ifupdown používá tuto funkci pro podporu aliased rozhraní při používání ip.

iproute2 method

také ifupdown podporuje zadání více rozhraní opakováním sekcí iface se stejným názvem rozhraní. Hlavní rozdíl od výše popsané metody je, že všechny tyto úseky jsou ošetřeny ifupdown jako jediného rozhraní, takže uživatel nemůže přidávat nebo odebírat jednotlivě. Příkazy nahoru / dolů, stejně jako skripty, jsou však volány pro každou sekci, jak bývala.,

Všimněte si však, že tato metoda je nebezpečná! Některé kombinace ovladače / hardwaru mohou někdy selhat, pokud nejsou k rozhraní aliasu přiřazeny žádné štítky. (Vidět to na Debian Wheezy a Jessie s RTL8111 / 8168 / 8411 PCI Express Gigabit Ethernet Controller (rev 01) auto-vyjednávání na 10/plný. Podobné varování od jiné osoby existuje v historii této stránky.)

tento text/etc/network / interfaces přiřadí eth0 tři IP adresy.

auto eth0allow-hotplug eth0iface eth0 inet static address 192.168.1.42/24 gateway 192.168.1.1iface eth0 inet static address 192.168.1.43/24iface eth0 inet static address 192.168.1.44/24# adding IP addresses from different subnets is also possibleiface eth0 inet static address 10.10.10.14/24

manuální přístup:

CategoryNetwork CategorySystemAdministration