NOVINKA: Kurz kybernetické bezpečnosti s akreditací MŠMT, nyní již od 0 Kč. Staň se žádaným profesionálem. Zjisti více:
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 15 - Linuxový terminál (Bash) - Administrace síťového rozhraní

V předchozím kvízu, Kvíz - Pokročilá správa systému Linux Ubuntu, jsme si ověřili nabyté zkušenosti z předchozích lekcí.

V tomto tutoriálu se zaměříme na síťová rozhraní v Linuxu. Ukážeme si, jak získat informace o síti a jak ji konfigurovat pomocí příkazového řádku a konfiguračních souborů.

Naučíme se pracovat s nástrojem ip, spravovat síťová rozhraní a nastavovat síť v Ubuntu pomocí nástroje Netplan. Tento přístup je důležitý zejména na serverech nebo ve virtualizaci, kde často není k dispozici grafické prostředí.

Nástroj ip

Příkaz ip představuje základní nástroj pro zjišťování informací o síti a její konfiguraci. Umožňuje zobrazit síťová rozhraní, jejich stav, IP adresy i statistiky provozu a také je zapínat nebo vypínat.

V této části si ukážeme nejčastější použití tohoto příkazu.

Pomocí příkazu ip link (zkráceně ip l) zjistíme, jaká síťová rozhraní se v systému nacházejí a v jakém jsou stavu.

Pro přehlednější výpis použijeme přepínač -o (one line), který zobrazí každé rozhraní na jeden řádek:

ip -o l

Ve výpisu uvidíme všechna dostupná rozhraní:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000\    link/ether ea:c6:c2:2a:0c:fd brd ff:ff:ff:ff:ff:ff

3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000\    link/ether 16:f8:2e:52:1c:01 brd ff:ff:ff:ff:ff:ff

10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 100\    link/none

26: tun1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 100\    link/ether 02:3c:82:1d:fd:d6 brd ff:ff:ff:ff:ff:ff

Každé rozhraní má své označení (např. lo, ens18) a stav UP (rozhraní je aktivní), případně DOWN (rozhraní je neaktivní).

Rozhraní lo (loopback) představuje localhost a je přítomné vždy. Ostatní rozhraní mohou být například:

  • fyzická síťová karta,
  • Wi-Fi adaptér,
  • virtuální rozhraní (např. ve virtualizaci),
  • VPN rozhraní.

Pokud nám například po restartu nefunguje síť, můžeme pomocí tohoto příkazu rychle ověřit, zda je rozhraní zapnuté.

Příkaz ip address

Příkaz ip address (zkráceně ip a) zobrazí detailní informace o síťových rozhraních včetně jejich IP adres:

ip a

U jednotlivých rozhraní najdeme mimo jiné položky inet (IPv4) a inet6 (IPv6), které označují použitý IP protokol:

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether ea:c4:c2:2e:0c:fd brd ff:ff:ff:ff:ff:ff
    inet 10.181.28.141/24 brd 10.181.28.255 scope global ens18
       valid_lft forever preferred_lft forever
    inet6 fe80::e8c4:c2ff:fe2e:cfd/64 scope link
       valid_lft forever preferred_lft forever

Pokud nás zajímají pouze rozhraní s přiřazenou IPv4 adresou, použijeme zápis:

ip -4 a

Podobně přepínač -6 zobrazí pouze IPv6 adresy.

Pro zobrazení statistik provozu použijeme přepínač -s (statistics). V kombinaci s -h (human-readable) získáme přehledný výpis velikostí dat:

ip -s -h a

Ve výpisu se například zobrazí:

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether ea:c4:c2:2e:0c:fd brd ff:ff:ff:ff:ff:ff
    inet 10.181.28.141/24 brd 10.181.28.255 scope global ens18
       valid_lft forever preferred_lft forever
    inet6 fe80::e8c4:c2ff:fe2e:cfd/64 scope link
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    704G       501M     0       8.78M   0       0
    TX: bytes  packets  errors  dropped carrier collsns
    62.1G      269M     0       0       0       0

Hodnota TX (transmitted) nám říká, kolik dat bylo z tohoto rozhraní odesláno, hodnota RX (received) uvádí objem přijatých dat.

Příkaz ip route

Pomocí příkazu ip route (zkráceně ip r) zobrazíme směrovací tabulku systému:

ip r

Ve výpisu uvidíme, jakým způsobem systém směruje síťový provoz:

default via 10.181.27.1 dev vmbr0 proto kernel onlink
10.181.27.0/24 dev vmbr0 proto kernel scope link src 10.181.27.50

Důležité jsou zejména tyto položky:

  • default via – výchozí brána (obvykle router),
  • síť ve tvaru 192.168.1.0/24 – označuje konkrétní síť,
  • dev – síťové rozhraní, přes které komunikace probíhá.

Směrovací tabulka může obsahovat více záznamů, například při použití VPN nebo více síťových rozhraní.

Příkaz ip neigh

Příkaz ip neigh (zkráceně ip n) zobrazí tzv. ARP tabulku, tedy přehled zařízení v lokální síti, se kterými systém komunikoval:

ip n

Ve výpisu uvidíme přiřazení mezi IP adresami a MAC adresami jednotlivých zařízení.

Tento příkaz se hodí například při řešení problémů se sítí nebo při zjišťování, jaká zařízení jsou dostupná v lokální síti.

Zapnutí a vypnutí rozhraní

Pomocí příkazu ip můžeme jednotlivá síťová rozhraní zapínat a vypínat. K tomu použijeme příkaz ip link, který je v tomto případě nutné spustit s oprávněním správce.

Nejprve zjistíme název rozhraní:

ip -o l

Z výpisu vybereme například rozhraní ens18:

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000\    link/ether ea:d1:c2:2c:0c:fd brd ff:ff:ff:ff:ff:ff

Následně můžeme rozhraní vypnout:

sudo ip l set ens18 down

Po opětovném vypsání rozhraní uvidíme, že se stav změnil z UP na DOWN.

Pro zapnutí rozhraní použijeme stejný příkaz s parametrem up:

sudo ip l set ens18 up

Konfigurační soubor

Nastavení sítě v Ubuntu se provádí pomocí nástroje Netplan, který využívá konfigurační soubory uložené v adresáři /etc/netplan/.

Konkrétní název souboru se může lišit, například:

  • 01-network-manager-all.yaml,
  • 50-cloud-init.yaml,
  • 01-netcfg.yaml.

Seznam souborů zobrazíme příkazem:

ls -la /etc/netplan/

Pro úpravu konfiguračního souboru potřebujeme oprávnění správce. Soubor otevřeme v textovém editoru nano:

sudo nano /etc/netplan/01-network-manager-all.yaml

Po otevření editoru se zobrazí obsah souboru. Ten může být již předvyplněný (například v Ubuntu Desktop), nebo může být zcela prázdný.

Typický obsah souboru vypadá takto:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

Konfigurační soubory Netplanu jsou ve formátu YAML, který je citlivý na odsazení.

Používáme mezery (nikoli tabulátory) a dodržujeme konzistentní odsazení (obvykle dvě mezery na úroveň). Chybná struktura vede k nefunkční konfiguraci.

Statická IP adresa

Pro nastavení statické IP adresy upravíme (případně vyplníme) konfigurační soubor:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens18:
      dhcp4: no
      addresses:
        - 192.168.72.140/24
      routes:
        - to: default
          via: 192.168.72.2
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

Nastavení je možné zkopírovat (Ctrl + C) a do editoru vložit klávesovou zkratkou Ctrl + Shift + V. Důležité je dodržet správné odsazení jednotlivých řádků.

V příkladu je název rozhraní ens18, každý si musí dosadit to svoje.

Nyní si vysvětlíme, co jednotlivé řádky znamenají:

  • dhcp4: no – vypnutí DHCP a použití statické IP adresy,
  • addresses – IP adresa rozhraní (/24 = maska podsítě 255.255.255.0),
  • routes – výchozí brána (router),
  • nameservers – DNS servery.

Číslo 4 u dhcp označuje IPv4.

Po úpravě soubor uložíme stisknutím Ctrl + O (Write Out) a potvrdíme klávesou Enter. Editor následně ukončíme kombinací Ctrl + X. Bez uložení změn se konfigurace neprojeví.

Aplikace změn

Po úpravě konfiguračního souboru je potřeba změny aplikovat:

sudo netplan try

Příkaz netplan try změny dočasně aplikuje a čeká na potvrzení. Pokud nedojde k potvrzení, konfigurace se vrátí do původního stavu.

Příkaz netplan apply provede změny okamžitě:

sudo netplan apply

Dynamická IP adresa

Přidělení IP adresy z DHCP serveru je ve většině případů výchozí nastavení, takže není nutné ho konfigurovat ručně. Pokud je ale potřeba toto nastavení explicitně uvést, konfigurační soubor může vypadat například takto:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens18:
      dhcp4: yes

V tomto případě systém automaticky získá IP adresu, bránu i DNS server z DHCP serveru.

NetworkManager

Pro řešení problémů se sítí se hodí znát základní příkazy pro práci se službou NetworkManager.

Stav služby zobrazíme příkazem:

systemctl status NetworkManager

Restart služby provedeme:

sudo systemctl restart NetworkManager

Pro zobrazení logů použijeme:

sudo journalctl -u NetworkManager -n 50

Pokud používáme jinou distribuci než Ubuntu, může se způsob konfigurace sítě lišit. Vždy je proto vhodné ověřit postup pro konkrétní distribuci.

Závěr

V této lekci jsme se seznámili se základy práce se síťovými rozhraními v Linuxu. Ukázali jsme si, jak získat informace o síti pomocí nástroje ip, jak spravovat síťová rozhraní a jak konfigurovat síť pomocí nástroje Netplan. Získané znalosti nám umožňují samostatně konfigurovat síť i v prostředí bez grafického rozhraní.

V následujícím kvízu, Kvíz - Základy Linuxu, si vyzkoušíme nabyté zkušenosti z kurzu.


 

Předchozí článek
Kvíz - Pokročilá správa systému Linux Ubuntu
Všechny články v sekci
Základy Linuxu
Přeskočit článek
(nedoporučujeme)
Kvíz - Základy Linuxu
Článek pro vás napsal Václav Franz
Avatar
Uživatelské hodnocení:
73 hlasů
Aktivity