- En Linux Neexistuje jeden univerzálny príkaz: perzistencia závisí od rozhraní, Netplan, ifcfg alebo NetworkManager.
- Identifikácia rozhrania a jeho zálohovanie pred úpravou je kľúčom k predídeniu strate pripojenia.
- Vždy skontrolujte IP adresu, trasy a ping; ak názov zlyhá, skontrolujte nastavenia DNS.
Nastavenie statickej IP adresy v Linuxe nie je jediný trik, ale súbor techník, ktoré závisia od distribúcie, verzie a sieťového zásobníka, ktorý ste povolili; neexistuje jeden univerzálny príkaz , ktorý by to riešil pre všetky prípady a trvalo.
Okrem toho existujú dva odlišné typy konfigurácií: dočasné nastavenia (ktoré sa stratia po reštarte siete alebo systému) a trvalé nastavenia (ktoré sa ukladajú do súborov alebo profilov a prežijú reštartovanie). V systémoch Debian/Ubuntu môžete upraviť `/etc/network/interfaces` alebo použiť Netplan; v systémoch Red Hat/Rocky/AlmaLinux sú preferovanými metódami NetworkManager a `ifcfg`; v Arch Linuxe môžete použiť `netctl` alebo `systemd-networkd` ; a vo všetkých z nich sa `nmcli`/`nmtui` javí ako moderná alternatíva.
Čo je statická IP adresa a prečo by vás to mohlo zaujímať?
Statická IP adresa sa časom nemení a nezávisí od DHCP servera; je kľúčová pre servery , presmerovanie portov, tunely, vzdialený prístup ( SSH , VPN ), NAS a služby s DDNS.
V domácom alebo laboratórnom prostredí zvyčajne postačuje dynamická IP adresa (DHCP), ale ak chcete stabilitu alebo publikovať interné služby, IP adresu si fixujete tak, aby sa nemenila; tým sa zabráni „prekvapeniam“, ako je napríklad priradenie inej adresy routerom a prerušenie fungovania presmerovania portov.

Predtým, ako sa čohokoľvek dotknete: Identifikujte rozhranie a vytvorte si zálohu
Prvým krokom je určiť, ktoré rozhranie konfigurujete (káblové: zvyčajne začína na „e“, napríklad enp0s3/enp2s0/eth0; Wi-Fi: začína na „w“, napríklad wlan0/wlp3s0). Na zobrazenie rozhraní s farbami môžete použiť príkaz `ip -c link show` a na zobrazenie adries použite `ip -c addr show` . Ak pracujete s virtuálnymi počítačmi , skontrolujte typy sietí vo VirtualBoxe a VMware a vyberte vhodnú konfiguráciu.
Ak uprednostňujete klasický výstup, je platný aj príkaz `ifconfig -a` (na moderných distribúciách možno budete musieť nainštalovať net-tools); skontrolujte cieľové rozhranie a potvrďte, či je momentálne pod DHCP alebo už má statickú IP adresu.
Pred úpravou systémových súborov si uložte zálohu: napríklad skopírujte súbor /etc/network/interfaces do adresára $HOME s dátumom, aby ste mali „plán B“ pre prípad, že by ste niečo pokazili.
sudo cp /etc/network/interfaces ~/interfaces.$(date +%Y%m%d).bk
Pri mnohých operáciách budete potrebovať administrátorské oprávnenia; môžete sa prihlásiť ako root alebo pridať sudo ku každému príkazu, čo je nevyhnutné pri úprave konfiguračných súborov siete.
Debian a deriváty: klasická metóda s /etc/network/interfaces
V Debiane 11 a starších verziách je bežné spravovať sieť pomocou súboru /etc/network/interfaces ; najprv vyhľadajte rozhranie (napríklad eth0 alebo enp2s0) a upravte súbor pomocou vášho obľúbeného editora.
sudo vim /etc/network/interfaces
# o
sudo nano /etc/network/interfaces
Vyhľadajte bloky pre vaše rozhranie. Ak bolo nastavené na DHCP (napríklad allow-hotplug eth0 + iface eth0 inet dhcp), zmeňte ho na static; typická syntax obsahuje auto <interface> a blok „inet static“.
auto eth0
iface eth0 inet static
address 192.168.1.25 # IP del equipo
netmask 255.255.255.0 # Máscara (equivale a /24)
gateway 192.168.1.1 # Puerta de enlace
dns-nameservers 192.168.1.1 1.1.1.1 8.8.8.8
V niektorých scenároch uvidíte aj polia ako sieť a vysielanie (192.168.1.0 a 192.168.1.255 v /24); nie sú vždy potrebné, ale môžete ich zahrnúť, ak ich obsahuje vaša príručka alebo šablóna; nevyhnutné sú adresa, sieťová maska, brána a DNS.
Uložte a reštartujte sieťovú službu, aby sa zmeny uplatnili; na štandardnom Debiane funguje bez problémov použitie systemctl restart networking.service a potom overenie pomocou ip addr, či je IP adresa teraz tá, ktorú ste nastavili.
sudo systemctl restart networking.service
ip -c addr show eth0
Vo variantoch ako Ubuntu nájdete jednotky ifup špecifické pre rozhranie (napr. ifup@enp2s0); ak si nie ste istí, vráťte sa k všeobecnému vzoru s networking.service; myšlienkou je znovu načítať sieťový zásobník , aby sa zmena prejavila.
Moderný server Ubuntu: Podrobný návod na vytvorenie sieťového plánu
Od Ubuntu 17.10, a najmä od verzie 20.04 LTS a novšej, Netplan spravuje konfiguráciu siete čítaním súborov YAML v súbore /etc/netplan/*.yaml ; syntax je citlivá na odsadenie a medzery.
Skontrolujte aktívny súbor (napríklad 00-installer-config.yaml alebo 50-cloud-init.yaml) a potvrďte aktuálny stav; predvolene sa zobrazí niečo ako dhcp4: true , čo znamená, že IP adresa je získaná prostredníctvom DHCP.
cat /etc/netplan/00-installer-config.yaml
# Ejemplo típico por defecto:
# network:
# ethernets:
# enp0s3:
# dhcp4: true
# version: 2
Upravte YAML a vypnite DHCP zmenou dhcp4: true na dhcp4: no (alebo false), pridajte adresy (s maskou v notácii CIDR), gateway4 a nameservery; rešpektujte odsadenia , pretože o jednu medzeru menej môže dôjsť k prerušeniu parsovania.
sudo nano /etc/netplan/00-installer-config.yaml
network:
ethernets:
enp0s3:
dhcp4: no
addresses:
gateway4: 192.168.1.1
nameservers:
addresses:
version: 2
Ak adresár neobsahuje žiadne súbory (čo je zriedkavé, ale môže sa to stať), môžete základné súbory regenerovať pomocou príkazu `sudo netplan generate` a potom ich použiť; za normálnych podmienok jednoducho spustite `apply` a skontrolujte.
sudo netplan apply
ip addr
Ak zmeny zlyhajú, Netplan vás na to upozorní a zabráni tomu, aby sa sieť „prerušila“. Skontrolujte syntax YAML a po jej dokončení znova spustite príkaz apply. Príkaz „ip a“ je vaším spojencom na overenie stavu po každej úprave.
Red Hat, Rocky a AlmaLinux: ifcfg a NetworkManager (nmcli/nmtui)
V systémoch založených na RPM súbory ifcfg stále koexistujú v súbore /etc/sysconfig/network-scripts/ s NetworkManagerom ako vrstvou správy; môžete to urobiť staromódnym spôsobom úpravou súboru ifcfg vášho rozhrania.
sudo nvim /etc/sysconfig/network-scripts/ifcfg-enp0s2
TYPE="Ethernet"
BOOTPROTO="none"
NAME="enp0s2"
ONBOOT="yes"
HWADDR="08:00:27:80:63:19"
IPADDR0="192.168.225.150"
PREFIX0="24"
GATEWAY0="192.168.225.1"
DNS1="8.8.8.8"
Uistite sa, že ste nastavili BOOTPROTO="none" (žiadne), aby ste nepoužívali DHCP, a ONBOOT="yes" (žiadne), aby ste spustili rozhranie. Uložte zmeny a reštartujte sieťovú službu a pomocou príkazu ip addr overte, či sa IP adresa teraz zobrazuje. Týmto sa IP adresa nastaví na trvalú . Ak potrebujete viac informácií o MAC adrese a maske podsiete , pozrite si túto referenciu.
sudo systemctl restart network
ip a s enp0s2
V NetworkManageri môžete uprednostniť nmcli, čo je pohodlné a deklaratívne; upraviť profil pripojenia (nie vždy sa zhoduje s názvom rozhrania) zadaním ip4, gw4 a DNS a potom aktivovať profil.
nmcli connection show
sudo nmcli connection modify "eth0" ip4 192.168.1.20/24 gw4 192.168.1.101 ipv4.dns 8.8.8.8
sudo nmcli connection up "eth0"
Ak chcete používať polografický terminálový režim , nainštalujte si používateľské rozhranie NetworkManager a použite jeho sprievodcu; je to praktické, aby ste sa uistili, že ste nevynechali žiadne polia; potom v prípade potreby reštartujte NetworkManager .
sudo dnf install NetworkManager-tui
nmtui
sudo systemctl restart NetworkManager
Arch Linux: netctl alebo systemd-networkd
V Arche máte dve bežne používané cesty: netctl (profily inšpirované systemd) alebo prechod „bez kondomu“ s systemd-networkd ; obe sú platné a výber závisí od vášho prostredia.
Pomocou netctl skopírujte vzorový ethernet-static profil do /etc/netctl/ s názvom vášho rozhrania, upravte adresu, masku (v CIDR) , bránu a DNS; potom povoľte a spustite profil.
sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/enp2s0
sudo nvim /etc/netctl/enp2s0
Description='A basic static ethernet connection'
Interface=enp2s0
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')
sudo netctl enable enp2s0
sudo netctl start enp2s0
Ak ste mali spusteného DHCP klienta (napríklad dhcpcd), zastavte a vypnite jeho jednotky, aby neprepísali vaše statické nastavenia; vyhýbanie sa konfliktom je v tomto prípade kľúčové.
sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd
Pomocou príkazu systemd-networkd vytvorte súbor .network, ktorý zodpovedá vášmu rozhraniu v súbore /etc/systemd/network/ , zadajte IP adresu, bránu a DNS a povoľte službu; po reštarte overte pomocou príkazu ip addr.
sudo nvim /etc/systemd/network/enp2s0.network
Name=enp2s0
Address=192.168.1.102/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4
sudo systemctl disable [email protected] # si venías de netctl
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
Pred zatvorením dvakrát skontrolujte, či nezostali žiadne konkurenčné profily alebo služby; príkaz systemctl list-unit-files vám pomôže zistiť zostávajúce jednotky netctl alebo klientov DHCP.
GUI a alternatívy na počítačoch s Linuxom
Ak sa nachádzate v prostredí s grafickým rozhraním (GNOME, KDE atď.), môžete otvoriť „Sieťové pripojenia“ a v káblovom alebo bezdrôtovom pripojení zvoliť metódu „Manuálne“ (IPv4) s vyplnením polí Adresa, Maska a Brána; na tej istej obrazovke môžete definovať aj DNS .
Tento prístup je vhodný pre používateľské tímy a funguje s NetworkManagerom pod ním; stále je však užitočné poznať metódy konzoly pre servery a vzdialenú správu , kde grafické rozhranie nie je vždy dostupné alebo odporúčané.
Použiť zmeny: Reštartovanie služieb a systému
Po úprave zvyčajne stačí reštartovať sieťového démona: v klasickom Debiane/Ubuntu, systemctl restart networking.service ; v Netplan, netplan apply; v NetworkManager, systemctl restart NetworkManager alebo zakázať/povoliť profil pomocou nmcli.
# Debian/Ubuntu tradicional
sudo systemctl restart networking.service
# Netplan
sudo netplan apply
# NetworkManager
sudo systemctl restart NetworkManager
V distribúciách so starým štýlom ifcfg použite systemctl restart network ; v Arch s netctl použite netctl restart <profile> alebo stop/start; ak služba reštartu nie je dostupná, môžete počítač reštartovať pomocou systemctl reboot alebo ho vypnúť pomocou systemctl poweroff.
sudo systemctl restart network
sudo netctl restart enp2s0
# Alternativas de control del sistema
sudo systemctl reboot
sudo systemctl poweroff
Overenie a testovanie pripojenia
Overte, či je adresa použitá pomocou príkazu ip -c addr show <rozhranie> a či predvolená trasa smeruje na bránu, ktorú ste definovali. Ak sa všetko zhoduje, pokračujte v testovaní pripojenia.
Začnite pingovaním brány (napr. 192.168.1.1) a potom domény ( google.com ), aby ste skontrolovali aj rozlíšenie DNS; ak pingovanie podľa IP adresy funguje, ale nie podľa názvu, skontrolujte svoje DNS servery.
ip -c addr show enp0s3
ping -c 4 192.168.1.1
ping -c 4 google.com
Ak narazíte na problémy, vráťte sa k zdroju: skontrolujte súbor, ktorý ste upravili (/etc/network/interfaces alebo Netplan YAML), overte, či neexistujú žiadni aktívni DHCP klienti, ktorí by ho prepisovali, a zopakujte cyklus apply a verify.
Existuje jeden „magický príkaz“ na opravu IP adresy v Linuxe?
Nie, a tu je jadro veci: v Linuxe existuje niekoľko spôsobov, ako priradiť statickú IP adresu, a tie závisia od správcu siete a distribúcie; existuje však všeobecný príkaz na dočasné priradenie IP adresy, napríklad pomocou príkazu ip addr add.
# Asignación temporal (no persiste tras reiniciar red/sistema)
sudo ip addr add 192.168.1.50/24 dev enp0s3
sudo ip route add default via 192.168.1.1
Táto konfigurácia nie je trvalá; aby prežila reštarty, musíte upravovať súbory (rozhrania, ifcfg, Netplan) alebo používať profilovacie nástroje ako nmcli/nmtui; preto učitelia zvyčajne žiadajú o metódu vašej distribúcie, nie o „jeden príkaz“.
Užitočné poznámky a nuansy, ktoré si treba zapamätať
Vo svete RPM BOOTPROTO="none" označuje manuálne zadanie IP adresy a BOOTPROTO="dhcp" aktivuje automatické získanie IP adresy; polia IPADDR0/PREFIX0/GATEWAY0/DNS1 umožňujú v prípade potreby viacero záznamov s príponami 0, 1 a 2.
V klasickom Debiane je kľúčové používať „inet static“ a nezabudnúť na gateway a dns-nameservery; v Netplane si sledujte odsadenie a pamätajte, že masky sú v adresách vo formáte CIDR (napríklad /24 pre 255.255.255.0).
Ak pracujete s exotickými zariadeniami alebo „vintage“ laboratóriami, môžete mať staršie verzie (ako napríklad Debian 11 na Pine A64 SBC) a klasická metóda rozhrania váš problém vyrieši; prispôsobte metódu tomu, čo na vašom počítači skutočne beží stabilne.
Nakoniec, ak niečo prestane reagovať na diaľku po použití zmien v sieti, počkajte, kým sa služba znova načíta, a skontrolujte trasy z lokálnej konzoly; záloha pôvodného súboru vás ušetrí od prekvapení pri rýchlom návrate späť.
So všetkým vyššie uvedeným teraz máte kompletnú mapu podľa rodín a nástrojov: klasická metóda v Debiane/Ubuntu, YAML s Netplanom pre moderné servery, ifcfg a NetworkManager v Red Hat/Rocky/Alma a profily netctl alebo systemd-networkd v Arche; vyberte cestu , ktorá zodpovedá vašej distribúcii a kontextu, nezabudnite overiť pomocou IP adresy a pingu a nezabudnite na DNS, ak nedokážete rozlíšiť názvy.
Vášnivý spisovateľ o svete bajtov a technológií všeobecne. Milujem zdieľanie svojich vedomostí prostredníctvom písania, a to je to, čo urobím v tomto blogu, ukážem vám všetko najzaujímavejšie o gadgetoch, softvéri, hardvéri, technologických trendoch a ďalších. Mojím cieľom je pomôcť vám orientovať sa v digitálnom svete jednoduchým a zábavným spôsobom.
Index
- 1 Čo je statická IP adresa a prečo by vás to mohlo zaujímať?
- 2 Predtým, ako sa čohokoľvek dotknete: Identifikujte rozhranie a vytvorte si zálohu
- 3 Debian a deriváty: klasická metóda s /etc/network/interfaces
- 4 Moderný server Ubuntu: Podrobný návod na vytvorenie sieťového plánu
- 5 Red Hat, Rocky a AlmaLinux: ifcfg a NetworkManager (nmcli/nmtui)
- 6 Arch Linux: netctl alebo systemd-networkd
- 7 GUI a alternatívy na počítačoch s Linuxom
- 8 Použiť zmeny: Reštartovanie služieb a systému
- 9 Overenie a testovanie pripojenia
- 10 Existuje jeden „magický príkaz“ na opravu IP adresy v Linuxe?
- 11 Užitočné poznámky a nuansy, ktoré si treba zapamätať
