GNU/Linux >> Znalost Linux >  >> Ubuntu

Kurz konfigurace sítě Netplan pro začátečníky

Netplan je nástroj vyvinutý společností Canonical, která stojí za Ubuntu. Poskytuje abstrakci konfigurace sítě přes aktuálně podporované dva „základní“ systémy (nebo „renderer“ v terminologii Netplan):networkd a NetworkManager . Pomocí Netplanu se fyzické i virtuální síťové rozhraní konfiguruje pomocí yaml soubory, které jsou přeloženy do konfigurací kompatibilních s vybraným backendem.

Na Ubuntu 20.04 Netplan nahrazuje tradiční metodu konfigurace síťových rozhraní pomocí /etc/network/interfaces soubor; jeho cílem je usnadnit a centralizovat věci (starý způsob konfigurace rozhraní lze stále používat:podívejte se na náš článek o tom, jak přepnout zpět síť do /etc/network/interfaces na Ubuntu 20.04 Focal Fossa Linux). V tomto článku se seznámíme se základními principy nástroje a jen jako příklad, jak jej můžeme použít ke konfiguraci statické adresy IPv4 pro síťové rozhraní.

V tomto tutoriálu se to naučíte :

  • Základní struktura konfiguračních souborů yaml používaných Netplanem
  • Jak vytvořit jednoduché pravidlo pro přiřazení statické adresy IP síťovému rozhraní
  • Jak použít konfigurace pomocí generovat , zkuste a použít dílčí příkazy

Kurz konfigurace sítě Netplan pro začátečníky

Použité softwarové požadavky a konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Ubuntu 20.04 (Focal Fossa)
Software Netplan (ve výchozím nastavení nainstalován)
Jiné Kořenová oprávnění k úpravě konfiguračních souborů
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo command
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Konfigurační soubory Netplan

Existují tři umístění, kam lze umístit konfigurační soubory Netplan; v pořadí podle priority jsou:

  1. /run/netplan
  2. /etc/netplan
  3. /lib/netplan

Přehled návrhu Netplan

Uvnitř každého z těchto adresářů jsou konfigurace vytvořeny pomocí souborů s příponou .yaml rozšíření, které jsou zpracovány lexikograficky pořadí, bez ohledu na adresář, ve kterém se nacházejí.

Priorita adresáře má roli pouze v případě, že existují soubory se stejným názvem:v těchto případech je analyzován pouze soubor obsažený v adresáři s vyšší prioritou.

Pokud je logická nebo skalární parametr je definován ve více než jednom konfiguračním souboru, převezme hodnotu definovanou v posledním souboru, který je analyzován; pokud jsou hodnoty sekvence , místo toho jsou zřetězeny.

Uživatelé by měli své konfigurace umístit do /etc/netplan adresář; ve výchozím nastavení je jediným souborem na nově nainstalovaném systému Ubuntu 20.04 /etc/netplan/01-network-manager-all.yaml . V další části uvidíme pokyny, které obsahuje, a jaký je jejich význam.

Soubor /etc/netplan/01-network-manage-all.yaml

Jediný existující konfigurační soubor /etc/netplan/ adresář na čerstvě nainstalovaném systému Ubuntu 20.04 je 01-network-manage-all.yaml . Pojďme se podívat na jeho obsah:

# Nechte NetworkManager spravovat všechna zařízení v této systémové síti:verze:2 renderer:NetworkManager

Jak naznačuje komentář v souboru, konfigurace je určena k nastavení všech síťových rozhraní v systému, která mají být spravována NetworkManager renderer. Můžeme pozorovat, že direktivy jsou uvnitř hlavního uzlu, network, odsazeny . Protože máme co do činění se soubory yaml, je odsazení zásadní.

Další dvě klíčová slova, která můžeme v souboru najít, jsou version a renderer :první určuje používanou verzi syntaxe, druhé pak systémový backend (síťové vs NetworkManager ).

V další části tohoto tutoriálu vytvoříme trochu složitější příklad konfigurace a použijeme jej k přiřazení statické adresy IPv4 síťovému rozhraní.

Příklad konfigurace – nastavení statické adresy IPv4

Konfigurační soubor, který jsme viděli výše, je docela základní; zkusme něco trochu složitějšího a uvidíme, jak můžeme nakonfigurovat statickou adresu IPv4 pomocí Netplan.

První věc, kterou musíme udělat, je vytvořit nový konfigurační soubor, který bude analyzován po výchozím souboru:nazvěme ho /etc/netplan/02-static-ip.yaml . Uvnitř souboru vytvoříme pravidlo, které bude odpovídat síťovým rozhraním, která chceme nastavit:úkol můžeme provést pomocí match sloka.

Uvnitř match sekce, můžeme vybrat řadu fyzických rozhraní na základě hodnoty zadaných vlastností. Aby bylo možné nastavení použít, musí všechny vlastnosti odpovídat pravidlu.

Do konfiguračního souboru zapíšeme:

# Nastavit statickou IP adresu pro rozhraní enp1s0síť:verze:2 renderer:NetworkManager ethernety:id0:shoda:název:enp1s0 dhcp4:falešné adresy:- 192.168.122.250/24 jmenné servery:adresy:- 192.168.9 gateway12:12 122.1

Podívejme se blíže na nové instrukce, které jsme použili v konfiguraci. Uvnitř hlavní network uzel, zařízení lze seskupit podle jejich typu:

  • ethernets
  • wifis
  • bridges

Protože v našem příkladu jednáme s ethernetovým zařízením, použili jsme ethernets sloka. Uvnitř match stanza, odkazovali jsme na rozhraní jeho name :enp1s0 . Pravidla shody mohou být také založena na macaddress a pouze při použití networkd jako renderer na driver což je název ovladače linuxového jádra používaný pro zařízení.

Abychom dosáhli požadované konfigurace, použili jsme řadu direktiv. Protože chceme přiřadit statickou adresu, zakázali jsme dhcp4 a použili addresses klíčové slovo pro přiřazení adresy IPv4 k rozhraní. Lze zadat více adres:musí být poskytnuty společně s maskou podsítě.

Nastavíme také adresy nameservers ve sloce se stejným názvem. Nakonec nastavíme IPv4 adresu brány, kterou by mělo rozhraní používat s gateway4 klíčové slovo.

Zjednodušení konfigurace

Konfigurace, kterou jsme použili ve výše uvedeném příkladu, může být mírně zjednodušena. K odkazování na rozhraní, kterému chceme přiřadit statickou adresu, jsme použili match sloka jsme ji však mohli vynechat. Protože chceme, aby se naše nastavení použilo pouze na jedno konkrétní zařízení, můžeme na něj přímo odkazovat pomocí jeho předvídatelného názvu (enp1s0 ) jako id :

síť:verze:2 renderer:NetworkManager ethernety:enp1s0:dhcp4:falešné adresy:- 192.168.122.250/24 jmenné servery:adresy:- 192.168.122.1 brána4:192.168.122.1 

Když se match používá se stanza, id (id0 v předchozím příkladu) je libovolný a používá se k odkazování na nakonfigurovaná zařízení z jiných částí konfiguračního souboru. Když se match stanza je vynechána místo toho id musí odpovídat předvídatelnému názvu zařízení. Při práci s virtuálními zařízeními, jako jsou mosty nebo vazby, id se nepoužívá k odkazování na existující rozhraní, ale představuje název, který by měl být použit při vytváření rozhraní.

V tomto okamžiku je naše konfigurace připravena; vše, co bychom měli udělat, je uložit a otestovat.

Testování a použití konfigurace Netplan

V předchozí části jsme viděli, jak vytvořit jednoduchou konfiguraci Netplan pro poskytnutí statické adresy IPv4 pro síťové rozhraní. Nyní je čas otestovat konfiguraci, abyste zjistili, zda funguje správně. K dosažení našeho cíle můžeme použít netplan a try dílčí příkaz.

try dílčí příkaz netplan utilita, jak její název napovídá, se používá k vyzkoušení konfigurace a případně k jejímu vrácení, pokud ji uživatel po určité době nepotvrdí. Výchozí časový limit je 120 sekund, ale lze to změnit pomocí --timeout možnost.

Jak můžete vidět z výstupu ip address příkaz, aktuální adresa IPv4 pro enp1s0 rozhraní je 192.168.122.200 :

$ ip address|grep enp1s02:enp1s0: mtu 1500 qdisc fq_codel state UP výchozí skupina qlen 1000 inet 192.168.122.200/292 brd global scopeprefix 1292 brd global.1 

Použijeme konfiguraci:

$ sudo netplan zkuste

Po spuštění příkazu se na obrazovce objeví následující výzva:

Chcete tato nastavení zachovat? Před vypršením časového limitu stiskněte ENTER, abyste přijali novou konfiguraci. Změny se vrátí za 120 sekund

Máme dost času na to, abychom zjistili, zda se IP adresa rozhraní změnila:

$ ip address|grep enp1s02:enp1s0: mtu 1500 qdisc fq_codel state UP výchozí skupina qlen 1000 inet 192.168.122.250/291 brd global rozsah
 Jak vidíme, IPv4 adresa se změnila podle očekávání. V tomto případě však po vypršení časového limitu příkaz nedokázal vrátit konfiguraci. Toto je známý problém, hlášený také v manuálové stránce nástroje. V takových případech by k úplnému návratu do původního stavu měl stačit restart.

Lze použít dva další příkazy:

  • netplan generate
  • netplan apply

netplan generate příkaz převede nastavení v souborech yaml na konfigurace vhodné pro používaný renderer, ale nepoužije je. Ve velké většině případů není určeno k přímému volání:je vyvoláno například netplan apply který navíc aplikuje změny bez časového limitu „revert“.

Závěry

V tomto tutoriálu jsme oslovili Netplan, nástroj vyvinutý společností Canonical, který je ve výchozím nastavení aktivní na Ubuntu 20.04 Focal Fossa. Účelem tohoto nástroje je abstrahovat konfigurace pro síťová rozhraní pomocí konfiguračních souborů yaml.

Tyto konfigurace jsou poté převedeny do konfigurací pro zadaný renderer, jako je NetworkManager nebo síťový. V tomto tutoriálu jsme viděli, jak napsat jednoduché pravidlo pro nastavení statické IP adresy pro síťové rozhraní, naučili jsme se některé uzly, které lze použít v konfiguračních souborech, a viděli jsme, jak aplikovat změny pomocí netplan try a netplan apply příkazy. Zde jsme sotva poškrábali povrch toho, čeho lze pomocí Netplanu dosáhnout, pokud se o něm chcete dozvědět více, podívejte se prosím na webovou stránku Netplan a na manuálovou stránku nástroje.


Ubuntu
  1. Výuka Python SciPy - Průvodce pro začátečníky

  2. Linux cd command tutorial pro začátečníky (8 příkladů)

  3. Linux Date Command Tutorial pro začátečníky (8 příkladů)

  1. Jenkinsův kurz:Základy pro začátečníky

  2. Podman výukový program – základy pro začátečníky

  3. Výuka příkazů Linux pro začátečníky (5 příkladů)

  1. Linux df Command Tutorial pro začátečníky (8 příkladů)

  2. Linux du Command Tutorial pro začátečníky (10 příkladů)

  3. Výukový program Linux echo Command pro začátečníky (5 příkladů)