Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

15. diel - Linuxový terminál (Bash) - administrácia sitového rozhrania

V predchádzajúcej lekcii sme si vysvetlili, ako sa program v Linuxe distribuuje, kde je uložený, ako sa k nemu dostať a ako s ním pracovať.

Dnes sa pozrieme na sieťové rozhranie v Linuxe. Ukážeme si, ako získať informácie o našej sieti a ako nastaviť sieťové rozhranie zápisom do konfiguračného súboru. Na nastavenie siete existujú množstvo možností v grafickom prostredí. Nie vždy je ale nastavenie cez grafické prostredie možné. Niektoré virtualizačné programy, napríklad Proxmox, vyžadujú nastavenie siete iba cez konfiguračný súbor, iné neuznávajú. My sa dnes naučíme administrovať sieť v Ubuntu pomocou Terminálu.

Ip ##

Príkaz ip je užitočný nástroj na zisťovanie informácií o sieti a jej nastavení. Dnes si ukážeme, ako zistiť informácie o jednotlivých rozhraniach našej siete, koľko dát sieťovým rozhraním preteká, a ako rozhranie zapnúť, popr. vypnúť.

Najprv si zistíme, aké rozhrania sa v našom PC nachádzajú a aké informácie nám o sebe poskytnú. Slúži na to príkaz ip link, príp. skrátene ip l. Rovnú pridáme prepínač -o (one line), ktorý nám výpis výrazne sprehľadní:

ip -o l

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

Ako vidíme, máme v našom počítači vždy minimálne dve sieťové rozhrania (v mojom prípade päť), keď každé má svoje vlastné číslo. Pod číslom 1 je vždy LOOPBACK alebo localhost. Ďalšie rozhrania, ktoré vo výpise môžeme nájsť, sú fyzické rozhrania (port pre LAN kábel), virtuálne LAN (pokiaľ ide o virtuálne PC, v mojom prípade č. 2 a 3), ďalej WIFI, alebo napríklad rozhranie pre VPN (č. 10 a 26).

Nebudeme si vysvetľovať, čo ktorá informácia pri rozhraní znamená, to je skôr predmetom kurzu správy sietí. Nám stačí si na riadku fyzického rozhrania, príp. WIFI, všimnúť zápisu UP alebo DOWN. Informácie UP nám hovorí, že sieťové rozhranie je aktívne, DOWN naopak neaktívne. Pokiaľ nám po reštarte nefunguje napr. WIFI, môžeme týmto spôsobom skontrolovať, či je rozhranie zapnuté.

Ip address

Príkaz ip address, príp. skrátene ip a, funguje podobne ako ip link. Navyše ale ku každému rozhraniu vypíše priradenú IP adresu:

ip a

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

Ďalšia nová informácia, ktorú si môžeme všimnúť, je inet, popr. inet6. Ide o informácie, o aký IP protokol sa jedná. Tiež sa môžeme stretnúť s označením protocol family.

  • inet = internet protokol verzia 4 (IPv4)
  • ınet6 = internet protokol verzia 6 (IPv6)
Toto využijeme hneď v nasledujúcom príkaze. Pokiaľ spravujeme server, na ktorom je postavená virtualizácia, môže nás prekvapiť veľké množstvo rozhraní. Ku väčšine z nich ale nie je priradená žiadna IP adresa. Nájsť IP adresu napr. nášho fyzického rozhrania tak môže byť náročné. Prepínačom -4 si zobrazíme iba rozhranie s pridelenou IPv4 adresou, prepínačom -6 zase s IPv6:
ip -4 a

Posledný užitočný prepínač na ip address je -s (statistic). Vráti nám ku každému rozhraniu informáciu, koľko dát už cez neho pretieklo. V predvolenom nastavení sú dáta vypísané v bitoch, preto pridáme prepínač -h (human-readable), ktorý dáta prevedie do Megabitov, popr. Gigabitov:

ip -s -h a

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 (Transmited) nám hovorí, koľko dát bolo z tohto rozhrania odoslaných (v mojom prípade 62,1G), RX (Recived) zase koľko dát bolo prijatých (v mojom prípade 704G).

Ip route

Prikazom ip route alebo skrátene ip r si vypíšeme do konzoly všetky routy:

ip r

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

Na prvom riadku je uvedená IP adresa brány (najčastejšie náš router). IP adresa končiaca nulou vždy označuje IP adresu celej siete. Počet route sa môže líšiť v závislosti napr. na použitých VPN tuneloch.

Ip netns

Príkaz ip netns, príp. ip n, nám vráti ARP tabuľku alebo tabuľku IP všetkých zariadeniach a ich MAC adries, s ktorými naša sieťová karta mala česť sa stretnúť pri komunikácii v lokálnej sieti:

ip n

Vypnutie a zapnutie rozhrania

Príkazom ip môžeme vypínať a zapínať jednotlivé sieťové rozhrania. Pokiaľ je potrebné vypnúť nejaké rozhranie, využijeme na to ip link s ďalším nastavením. V tomto prípade je už potrebné oprávnenie roota. Vyskúšame si vypnúť fyzické rozhranie. Najprv je potrebné zistiť názov rozhrania, ktoré môže byť na každom PC iné. V mojom prípade je ens18:

ip -o l

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

Celý príkaz potom vyzerá takto:

sudo ip l set ens18 down

Po vypísaní zoznamu rozhraní zistíme, že UP sa zmenilo na DOWN.

Naopak pre zapnutie rozhrania využijeme rovnaký príkaz, len s prívlastkom up:

sudo ip l set ens18 up

Konfiguračný súbor

Teraz si ukážeme, ako pomocou terminálu nastaviť statickú, príp. dynamickú IP adresu pre naše rozhranie. To uskutočníme zápisom do konfiguračného súboru siete, ktorý sa nachádza v /etc/netplan/01-network-manager-all.yaml. Na zápis je potrebné oprávnenie roota:

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

V príklade je názov rozhrania ens18, každý si musí dosadiť to svoje. V konfiguračnom súbore nájdeme tento zápis:

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

Statická IP adresa

Pre nastavenie statickej IP adresy zmeníme zápis na tento:

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

Teraz si vysvetlíme, čo jednotlivé riadky znamenajú:

  • dhcp4: no - týmto hovoríme Linuxu, že chce vypnúť DHCP a využiť ručne nastavenú IP adresu
  • addresses - IP adresa, ktorú chceme rozhranie nastaviť, /24 je tzv. CIDR, skrátený zápis masky podsiete 255.255.255.0
  • gateway4 - predvolená brána siete, najčastejšie IP adresa routera
  • nameservers - DNS servery, v tomto prípade 8.8.8.8 a 8.8.4.4. Pokiaľ nemáme špecificky nastavenú sieť, tieto budú fungovať vždy.
Číslo 4 pri dhcp a gateway označuje, že sa jedná o IPv4

Dynamická IP adresa

Pridelenie IP adresy z DHCP servera je nastavené ako predvolené, preto nie je potrebné ho nastavovať ručne. Pokiaľ sa ale dostaneme do situácie, že je potrebné túto informáciu Linuxu oznámiť, celý zápis vyzerá takto:

network:
 version: 2
 renderer: NetworkManager
 ethernets:
  ens18:
   dhcp4: yes
   addresses: []

Ak máte inú distribúciu ako Ubuntu, umiestnenie, názov a zápis do konfiguračného súboru sa môže líšiť. Vždy si treba nájsť návod pre konkrétnu distribúciu.


 

Predchádzajúci článok
Linuxový terminál (Bash) - Správa aplikácií
Všetky články v sekcii
Základy Linuxu
Článok pre vás napísal Václav Franz
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity