GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat nastavení sítě pomocí systémových rolí Ansible

Toto je druhý článek v sérii využívající systémové role Ansible. V předchozím článku jsem vám představil Ansible a systémové role a uvedl několik příkladů. Systémové role vám pomáhají spravovat úlohy na úrovni OS, jako je SELinux, správa síťových nastavení, NTP atd. V tomto článku jste viděli příklad, kdy jste změnili režim SELinux pomocí system.role-selinux role. V tomto článku se podrobně podívám na roli sítě, abyste mohli upravit síťová připojení vzdáleného počítače pomocí jediné příručky.

NetworkManager spravuje síťová nastavení, jako je konfigurace síťového rozhraní a připojení. V podstatě je to démon, který monitoruje a spravuje nastavení sítě. Používá soubor v /etc/sysconfig/network-scripts uložit je. nmcli je nástroj, který se používá k vytváření a úpravě souborů připojení z příkazového řádku. Chcete-li zobrazit seznam připojení vašeho místního počítače, použijte:

$ nmcli dev status

DEVICE		TYPE		STATE			CONNECTION
eno0		ethernet	connected		eno0
eno1		ethernet	disconnected		---
virbr0		bridge		connected		virbr0

Ve výše uvedeném výstupu můžete vidět různé sloupce. První sloupec, ZAŘÍZENÍ , označuje síťové rozhraní. TYPE sloupec ukazuje, o jaký typ připojení se jedná. STÁT sloupec označuje stav připojení a poslední sloupec CONNECTION , je kolekce nastavení, která lze pro zařízení nakonfigurovat. Každé připojení má název nebo ID, které jej identifikuje.

Chcete-li zobrazit seznam všech připojení, můžete použít:

$ nmcli con show

Pomocí nmcli můžete přidat síťová připojení a přiřadit adresy IPv4 nebo IPv6 pro vytvoření síťových připojení. Jak však víte, chcete automatizovat manuální úlohy, které byste normálně dělali s nmcli . Chcete spravovat síťové uzly pomocí Ansible playbooku.

V Ansible máte tři důležité moduly, které vám pomohou spravovat uzly:Služba, démon a nastavení systému. Tyto moduly můžete také použít ke správě sítí. V předchozím článku jsem diskutoval o systémových rolích Ansible. V systémových rolích máte rhel-system-roles.network role, což je nejjednodušší způsob konfigurace a správy nastavení sítě na spravovaných uzlech.

Začněte pomocí tohoto síťového systému role pro konfiguraci nastavení sítě na spravovaném uzlu.

Zde máte server1.example.com spravovaný stroj. Již jsem vytvořil záznam spravovaného uzlu v souboru inventáře.

Poznámka :Ujistěte se, že váš spravovaný uzel má dvě ethernetová připojení, protože přidává nové připojení. Toto druhé síťové rozhraní musí být dostupné.

Před provedením jakékoli operace se ujistěte, že je na spravovaném uzlu spuštěna a povolena služba NetworkManager. Udělejte to pomocí příručky. Pro tento úkol použijte servisní modul v service.yml soubor.

---
- name: playbook for starting and enabling the NetworkManager
  hosts: server1.example.com
  tasks:
  -    Name: start the service
       service:
         name: NetworkManager
         state: started
         enabled: true

Spusťte tuto příručku:

$ ansible-playbook service.yml

Pokud se playbook spustí úspěšně bez jakýchkoli chyb, služba se spustí a povolí na počítači se spravovaným uzlem.

Název sekundárního rozhraní je eno1 takže můžete najít adresu MAC tohoto rozhraní. Protože používáte tuto MAC adresu, váš playbook zjistí sekundární rozhraní. Zobrazit MAC adresu eno1 pomocí:

$ ip a

MAC adresa server1.example.com je 52:54:00:fe:2f:b8 . Použijte to v příručce.

Nyní, po servisní úloze, nainstalujte system-roles na ovladači:

$ yum install rhel-system-roles

Tento příkaz nainstaluje všechny systémové role do výchozího adresáře role.

Nyní napište playbook pro přidání nového připojení na spravovaný uzel:

---
- name: playbook for configuring second interface
  hosts: server1.example.com
  vars:
     target_mac: “52:54:00:fe:2f:b8”
     network_connection:
          -  name: static-network
             type: ethernet
             mac: “{{ target_mac }}”
             state: up
             ip :
               dhcp: no
               address:
                    -  192.168.0.5/24
  roles:
   -    rhel-system-roles.network

Toto je kompletní příručka. Vysvětlím vám každý parametr krok za krokem:

target_mac - Toto je MAC adresa druhého ethernetového rozhraní. To vám pomůže zjistit správné rozhraní na spravovaném uzlu.

síťové_připojení - Tato proměnná obsahuje informace o nových připojeních:

  • name:název nového připojení
  • typ:nový typ připojení
  • mac:proměnná target_mac
  • stav:aktivujte připojení pomocí up možnost
  • ip:deaktivujte možnost DHCP a přiřaďte IP adresu pomocí tohoto parametru

Použil jsem proměnné, které jsou nutné k provedení síťové systémové role. Nyní spusťte tuto příručku:

$ ansible-playbook networkconfiguration.yml

Tato příručka nakonfiguruje připojení k statické síti se statickou adresou IP.

Chcete-li zkontrolovat nastavení, přihlaste se na server1.example.com a potvrďte nově přidané připojení:

$ nmcli connection show

NAME		UUID		TYPE		DEVICE
eno0		adc52c70-…	ethernet	eno0   
static-network	1be30687-…	ethernet	eno1   
virbr0		0a9de672-…	bridge		virbr0

Zkuste ping IP adresu statické sítě připojení, a pokud bude úspěšné, pak jste úspěšně přidali nové síťové připojení.

Pomocí ad hoc příkazů z řídicí jednotky zkontrolujte, zda bylo nové připojení úspěšně přidáno či nikoli:

$ ansible server1.example.com  -m shell -a 'nmcli con show'

Tento příkaz vám zobrazí stejný výstup jako v předchozích krocích.

Sbalit

Tento článek ukazuje, že můžete konfigurovat síťová připojení pomocí systémových rolí Ansible. Tato malá příručka omezuje manuální úkoly a konfiguruje síťové připojení mnoha strojů najednou pouhým vytvořením skupiny hostitelů. Tyto systémové síťové role kontrolují mnoho parametrů při spouštění příručky, ověřují, zda je spuštěn NetworkManager, a testují připojení v samotné příručce. Toto je skvělý příklad toho, jak můžete použít systémové role k automatizaci konfigurací ve vašich systémech.


Linux
  1. Jak používat Ansible k nastavení monitorování systému pomocí Prometheus

  2. Jak nakonfigurovat virtualizaci na Redhat Linuxu

  3. Jak nakonfigurovat Systemd tak, aby jednoduchý skript pomocí Standardio převedl do síťové služby?

  1. Jak zálohovat a obnovit nastavení systému Linux pomocí Timeshift

  2. Jak na to:Začínáme s Ansible

  3. Jak získat systémové statistiky pomocí node.js

  1. Jak nakonfigurovat síťová nastavení CentOS

  2. Jak používat Ansible ke konfiguraci Vim

  3. Nakonfigurujte nastavení myši na systému Debian