Srp 31

systemd-networkd, správca internetového pripojenia

systemd-networkd je správca internetového pripojenia, ktorý prichádza priamo so systemd. Pracuje s káblovými i wifi sieťami. Taktiež dokáže spracovávať virtuálne zariadenia pomocou systemd-nspawn.

 

 

 

Potrebné súčasti

Ako už bolo spomínané, hlavnou potrebnou súčasťou je systemd. Na pripojenie k wifi sieťam sa dajú použiť dve možnosti: wpa_supplicat a iwd.

Oba balíčky sa nachádzajú v oficiálnych repozitároch:

sudo pacman -S wpa_supplicant
sudo pacman -S iwd
yay -S wpa_supplicant-git
yay -S wpa_supplicant_gui
yay -S wpa-cute
yay -S iwd-git

wpa_supplicant-gui a wpa-cute sú grafické nadstavby

 

Inštalácia bez použitia pomocníka:

git clone https://aur.archlinux.org/wpa_supplicant-git.git
cd wpa_supplicant-git
makepkg -sri
git clone https://aur.archlinux.org/iwd-git.git
cd iwd-git
makepkg -sri
git clone https://aur.archlinux.org/wpa_supplicant_gui.git
cd wpa_supplicant_gui
makepkg -sri
git clone https://aur.archlinux.org/wpa-cute.git
cd wpa-cute
makepkg -sri

 

Manuálová stránka:

man systemd.network

 

Povolenie služby

Predtým, než povolíme službu, potrebujeme zakázať všetky ostatné, ktoré súvisia so správou siete:

sudo systemctl disable NetworkManager.service
sudo systemctl disable wicd.service
sudo systemctl disable dhcpcd.service
sudo systemctl disable dhcpcd@ROZHRANIE.service
sudo systemctl disable netctl-ifplugd@ROZHRANIE.service
sudo systemctl disable netctl-auto@ROZHRANIE.service

 

Potrebná je aspoň základná služba:

sudo systemctl enable systemd-networkd.service

 

Ako doplnková služba sa odporúča system-resolved:

sudo systemctl enable systemd-resolved.service

Poznámky k tejto službe:

  • DNS v súbore .network
  • automatické získavanie adries DNS zo sieťového DHCP klienta
  • niektoré dôvody sú vysvetlené v systemd-resolved
  • systemd-resolved môže byť spustená nezávisle na systemd-networkd

 

Typy konfiguračných súborov

Všetky konfigurácie sa ukladajú ako SIEŤ.network v /etc/systemd/network/. Všetky typy súborov a ich popis sa dajú nájsť tu.

Konfiguračné súbory sa nachádzajú v /usr/lib/systemd/network, volatile runtime v /run/systemd/network a lokálnom sieťovom adresári /etc/systemd/network a tie majú najvyššiu prioritu.

 

Existujú tri typy konfiguračných súborov:

.network
.netdev
-link

.network sa použijú na konfiguráciu siete pre zodpovedajúce zariadenie
.netdev sa používajú na vytvoria virtuálnych sieťových zariadení pre zodpovedajúce prostredie
.link Keď sa zobrazí nejaké sieťové zariadenie, udev bude hľadať prvý súbor .link

 

Všetky dodržiavajú rovnaké pravidlá:

  • profil sa aktivuje iba v prípade, že sú splnené všetky podmienky v sekcii [Match]
  • prázdna sekcia [Match] znamená, že sa profil bude aplikovať v každom prípade
  • všetky konfiguračné súbory sú spoločne triedené a spracované v lexikálnom poradí bez ohľadu na adresár
  • súbory s rovnakým názvom sa navzájom nahrádzajú

 

.network súbory

Tieto súbory sú zameriavajú na nastavenia sietí, najmä pre servery a kontajnery. Viac informácií a príkladov sa dá nájsť v systemd.network.

Majú nasledujúce časti:

[Match]
[Link]
[Network]
[Address]
[Route]
[DHCP]

[Match]

Name= názov zariadenia
Host= názov počítača
Virtualization= skontrolujte, či je systém spustený vo virtualizovanom prostredí alebo nie

[Link]

MACAddress= užitočné pre spoofing MAC adresy
MTUBytes= nastavuje väčšej hodnoty MTU (Jumbo frames) kvôlu rýchleniu prenosu

[Network]

DHCP= povoľuje klient DHCP
DHCPServer= povoľuje DHCP server
DNS= adresa servera DNS
Bridge= názov mosta
IPForward= povoľuje odosielanie IP paketov
Domains= je zoznam domén, ktoré sa majú na tomto prepojení vyriešiť

[Address]

Address= táto voľba je povinná, pokiaľ sa nepoužíva DHCP

[Route]

Gateway = táto voľba je povinná, pokiaľ sa nepoužíva DHCP
Destination= cieľová predpona trasy, po ktorej môže nasledovať lomka a dĺžka predpony

[DHCP]

UseDomains=true niekedy opravuje lokálne názvy pri systemd-resolved

 

.netdev súbory

Tieto súbory vytvoria virtuálne sieťové zariadenia.  Viac informácií a príkladov sa dá nájsť v systemd.network.

Majú nasledujúce časti:

[Match]
[NetDev]

[Match]

Host= názov hostiteľa
Virtualization= skontrolujte, či je systém spustený vo virtualizovanom prostredí alebo nie

[NetDev]

Medzi najčastejšie používané parametre patria:

Name= názov rozhrania. Parameter je povinný.
Kind= napríklad bridge, bond, vlan, veth, sit. Parameter je povinný.

 

.link súbory

Tieto súbory sú alternatívou k vlastným pravidlám udev a používajú sa v prípadeoch, keď je udev ako zariadenie zobrazené. Viac informácií a príkladov sa dá nájsť v systemd.network.

Majú nasledujúce časti:

[Match]
[Link]

[Match]

MACAddress= MAC adresa
Host= názov hostiteľa
Virtualization= skontrolujte, či je systém spustený vo virtualizovanom prostredí alebo nie
Typ= typ zariadenia, napr. vlan

[Link]

MACAddressPolicy= trvalé alebo náhodné adresy, alebo
MACAddress= špecifická adresa

Poznámka: /usr/lib/systemd/network/99-default.link vo všeobecnosti postačuje.

 

Príklady konfigurácií

Zistenie, aké rozhrania sú dostupné:

networkctl list

Výstup v prípade nepoužívania:

IDX   LINK    TYPE      OPERATIONAL  SETUP 
  1   lo      loopback  carrier      unmanaged 
  2   enp3s0  ether     routable     unmanaged

2 links listed.

Výstup v prípade používania:

IDX   LINK    TYPE      OPERATIONAL  SETUP 
  1   lo      loopback  carrier      unmanaged 
  2   enp3s0  ether     routable     configured

2 links listed.

 

Káblové pripojenie používajúce DHCP:

/etc/systemd/network/20-wired.network
[Match]
Name=enp3s0

[Network]
DHCP=ipv4

 

Káblové pripojenie používajúce statickú IP adresu:

/etc/systemd/network/20-wired.network
[Match]
Name=enp3s0

[Network]
Address=192.168.0.178/24
Gateway=192.168.0.1
DNS=8.8.8.8

 

Bezdrôtové pripojenie používajúce DHCP:

/etc/systemd/network/25-wireless.network
[Match]
Name=wlp2s0

[Network]
DHCP=ipv4

 

Drôtové aj bezdrôtové pripojenie používajúce DHCP:

Toto nastavenie umožňuje vytvorenie káblového aj bezdrôtového pripojenie, ktoré využívajú smernicu metrických údajov, aby umožnili jadru rozhodnúť sa, ktorý typ pripojenia sa bude využívať.

Metrika trasy jadra (rovnako ako nakonfigurovaná s ip) rozhoduje o tom, ktorá trasa sa má použiť pre odchádzajúce pakety v prípadoch, keď sa viaceré zhodujú. Toto sa sáva, keď majú aktívne obe pripojenia (drôtové aj bezdrôtové). Na využívanie iba jedného z nich jadro používa tzv. metriku. Ak jedno z pripojení skončí, automaticky sa aktivuje ďalšie internetové pripojenie v poradí.

Poznámka: Metric sa používa pre statické adresy, RouteMetric sa používa pri dynamickom nastavení.

Vytvorenie drôtového pripojenia:

/etc/systemd/network/20-wired.network
[Match]
Name=enp1s0

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=10

Vytvorenie bezdrôtového pripojenia:

/etc/systemd/network/25-wireless.network
[Match]
Name=wlp2s0

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=20

 

Napsat komentář

Your email address will not be published.

%d blogerům se to líbí: