Weboldal keresés

IP-hálózat konfigurálása az 'nmcli' segítségével Linux alatt


Linux rendszergazdaként különféle eszközök állnak rendelkezésére a hálózati kapcsolatok konfigurálásához, például az nmtui, a NetworkManager GNOME grafikus felhasználói felülettel, és természetesen a >nmcli (hálózatkezelő parancssori eszköz).

Megfigyeltem, hogy sok rendszergazda használja az nmtui alkalmazást az egyszerűsége miatt. Az nmcli használata azonban időt takarít meg, növeli önbizalmát, lehetővé teszi a szkriptekbe való integrációt, és a Linux szerverhálózatok hibaelhárításának elsődleges eszköze, amely gyorsan visszaállítja a funkcionalitást.

Miután észrevettem számos megjegyzést, amelyek segítséget kértek az nmclihez, úgy döntöttem, megírom ezt a cikket. Természetesen mindig figyelmesen olvassa el a man oldalakat (ezek az első számú források az Ön számára). Célom, hogy időt takarítsak meg, és néhány hasznos tanácsot adjak.

nmcli parancs szintaxis

Az nmcli szintaxisa a következő:

nmcli [OPTIONS] OBJECT {COMMAND | help}

Ahol az OBJECT az általános, hálózati, rádiós, kapcsolati, eszköz és ügynök egyike.

Ellenőrizze a hálózati eszköz állapotát Linux alatt

Jó kiindulási pont az lenne, ha ellenőriznénk eszközeinket:

nmcli dev status

DEVICE      TYPE      STATE         CONNECTION 
docker0     bridge    connected     docker0    
virbr0      bridge    connected     virbr0     
enp0s3      ethernet  connected     enp0s3     
virbr0-nic  ethernet  disconnected  --         
lo          loopback  unmanaged     --         

Amint az első oszlopban láthatjuk, ott van a hálózati eszközeink listája. Van egy hálózati kártyánk, melynek neve enp0s3. A gépén különböző neveket láthat.

Az elnevezés a hálózati kártya típusától függ (beépített-e, PCI kártya stb.). Az utolsó oszlopban a konfigurációs fájljainkat látjuk, amelyeket eszközeink a hálózathoz való csatlakozáshoz használnak

Könnyű megérteni, hogy az eszközeink önmagukban semmit sem tehetnek. Szükségük van egy konfigurációs fájl létrehozására, amely utasítja őket a hálózati kapcsolat elérésére. Ezeket a fájlokat „kapcsolati profiloknak” is nevezik, és az /etc/sysconfig/network-scripts könyvtárban találjuk őket.

cd /etc/sysconfig/network-scripts/
ls
Minta kimenet
ifcfg-enp0s3  ifdown-isdn      ifup          ifup-plip      ifup-tunnel
ifcfg-lo      ifdown-post      ifup-aliases  ifup-plusb     ifup-wireless
ifdown        ifdown-ppp       ifup-bnep     ifup-post      init.ipv6-global
ifdown-bnep   ifdown-routes    ifup-eth      ifup-ppp       network-functions
ifdown-eth    ifdown-sit       ifup-ib       ifup-routes    network-functions-ipv6
ifdown-ib     ifdown-Team      ifup-ippp     ifup-sit
ifdown-ippp   ifdown-TeamPort  ifup-ipv6     ifup-Team
ifdown-ipv6   ifdown-tunnel    ifup-isdn     ifup-TeamPort

Amint itt látható, az 'ifcfg-'-vel kezdődő nevű fájlok (interfészkonfiguráció) kapcsolati profilok. Amikor új kapcsolatot hozunk létre, vagy módosítunk egy meglévőt az nmcli vagy az nmtui segítségével, az eredmények itt kapcsolati profilként kerülnek mentésre.

Megmutatok kettőt a gépemről, az egyiket dhcp konfigurációval, a másikat pedig statikus ip-vel.

cat ifcfg-static1
cat ifcfg-Myoffice1

Tisztában vagyunk azzal, hogy egyes tulajdonságok eltérő értékekkel rendelkeznek, mások pedig nem léteznek, ha nem szükségesek.

Nézzük gyorsan a legfontosabbakat.

  • TYPE – itt van az Ethernet típus. Lehetne WiFi, csapat, kötvény és egyebek is.
  • DEVICE – a profilhoz társított hálózati eszköz neve.
  • BOOTPROTO – ha értéke „dhcp ”, akkor kapcsolati profilunk dinamikus IP-címet kap a DHCP-kiszolgálótól. Ha az értéke „none”, akkor nem használ dinamikus IP-címet, és valószínűleg statikus IP-címet rendelünk hozzá.
  • IPADDR – a profilunkhoz hozzárendelt statikus IP-cím.
  • PREFIX – az alhálózati maszk. A 24 érték azt jelenti, hogy 255.255.255.0. Az alhálózati maszkot jobban megértheti, ha felírja a bináris formátumát. Például a 16, 24 és 26 értékek azt jelentik, hogy az első 16, 24< A, illetve a 26 bit értéke 1, a többi pedig 0. Ez határozza meg a hálózati címet és a hozzárendelhető IP-címek tartományát.
  • GATEWAY – az átjáró IP-címe.
  • DNS1, DNS2 – két DNS-szerver, amelyet használni szeretnénk.
  • ONBOOT – ha értéke “igen”, az azt jelenti, hogy rendszerindításkor a számítógépünk beolvassa ezt a profilt, és megpróbálja hozzárendelni az eszközéhez.

Ellenőrizze a hálózati kapcsolatot Linux alatt

Most pedig menjünk tovább, és ellenőrizzük a kapcsolatainkat:

nmcli con show

Az eszközök utolsó oszlopa segít megérteni, hogy melyik kapcsolat ’FEL’ és fut, és melyik nem. A fenti képen a két aktív kapcsolat látható: Myoffice1 és enp0s8.

Tipp: Ha csak az aktív kapcsolatokat szeretné látni, írja be:

nmcli con show -a

Tipp: Az nmcli használatakor használhatja az automatikus kiegészítést a Tab megnyomásával, de jobb, ha a parancs minimális formátuma.

Így a következő parancsok egyenlőek:

nmcli connection show
nmcli con show
nmcli c s

Ellenőrizze az IP-címet Linux alatt

Ha megnézem az eszközeim IP-címét:

ip a

Úgy látom, hogy az enp0s3 eszközöm elvette a 192.168.1.6 IP-címet a dhcp-kiszolgálótól, mert a fent lévő Myoffice1 kapcsolati profil dhcp-konfigurációval rendelkezik.

Ha a “up ” kapcsolati profilomat static1 néven hozom létre, akkor az eszközöm a statikus 192.168.1.40 IP-címet veszi fel, ahogy az a csatlakozási profil.

nmcli con down Myoffice1 ; nmcli con up static1
nmcli con show

Nézzük újra az IP-címet:

ip a

Elkészíthetjük az első kapcsolati profilunkat. A minimálisan meghatározandó tulajdonságok a következők: type, ifname, és con-name:

  • type – a kapcsolat típusa.
  • ifname – a kapcsolatunkhoz rendelt eszköznévhez.
  • con-name – a kapcsolat nevéhez.

Új Ethernet kapcsolat létrehozása Linux alatt

Hozzunk létre egy új ethernet kapcsolatot Myhome1 néven, egy enp0s3 eszközhöz rendelve:

nmcli con add type ethernet con-name Myhome1 ifname enp0s3

Ellenőrizze a konfigurációját:

cat ifcfg-Myhome1

Amint láthatja, a BOOTPROTO=dhcp kódja van, mivel nem adtunk meg statikus IP-címet.

Tipp: Bármilyen kapcsolatot módosíthatunk az „nmcli con mod“ paranccsal. Ha azonban módosít egy dhcp-kapcsolatot, és statikusra állítja, ne felejtse el módosítani az “ipv4.method ” értékét “auto ”-ról „manual ”-ra . Ellenkező esetben két IP-címet kapsz: egyet a dhcp-kiszolgálótól, és egy statikust.

Készítsünk egy új Ethernet kapcsolati profilt static2 néven, amely egy enp0s3 eszközhöz lesz hozzárendelve, statikus IP 192.168.1.50, alhálózat maszk 255.255.255.0=24, és átjáró 192.168.1.1.

nmcli con add type ethernet con-name static2 ifname enp0s3 ip4 192.168.1.50/24 gw4 192.168.1.1

Ellenőrizze a konfigurációját:

cat ifcfg-static2

DNS-kiszolgálók módosítása Linux rendszerben

Módosítsuk az utolsó kapcsolati profilt, és adjunk hozzá két DNS-kiszolgálót.

nmcli con mod static2 ipv4.dns “8.8.8.8 8.8.4.4”

Tipp: Van itt valami, amire figyelnie kell: az IP-cím és az átjáró tulajdonságai eltérő nevet kapnak a kapcsolat hozzáadásakor és módosításakor. A kapcsolatok hozzáadásakor a „ip4 ” és a „gw4 ”, míg módosításakor az „ipv4 ” és “ kódot használja. gwv4 ”.

Hozd létre az Ethernet-kapcsolatot Linuxban

Most hozzuk létre ezt a kapcsolati profilt:

nmcli con down static1 ; nmcli con up static2

Amint látja, az enp0s3 eszköz IP-címe immár 192.168.1.50.

ip a

Tipp: Számos tulajdonságot módosíthat. Ha nem emlékszik rájuk fejből, segíthet magának, ha beírja az “nmcli con show ” parancsot, majd utána a kapcsolat nevét:

nmcli con show static2

Ezeket a kisbetűkkel írt tulajdonságokat módosíthatja.

Például: amikor leállít egy kapcsolati profilt, a NetworkManager másik kapcsolati profilt keres, és automatikusan előhívja. (Gyakorlatnak hagyom, hogy ellenőrizzem). Ha nem szeretné, hogy kapcsolati profilja automatikusan csatlakozzon:

nmcli con mod static2 connection.autoconnect no

Az utolsó gyakorlat nagyon hasznos: létrehozott egy kapcsolati profilt, de azt szeretné, hogy bizonyos felhasználók használják. Jó osztályozni a felhasználókat!

Állítsa be az Ethernet csatlakozási engedélyeket a Felhasználóra Linux rendszeren

Ezt a profilt csak a stella felhasználó használhatja:

nmcli con mod static2 connection.permissions stella

Tipp: Ha egynél több felhasználónak szeretne engedélyt adni, akkor be kell írnia a user:user1,user2 szót szóköz nélkül:

nmcli con mod static2 connection.permissions user:stella,john

Ha másik felhasználóként jelentkezik be, nem tudja „fel” előhozni ezt a kapcsolati profilt:

nmcli con show
nmcli con up static2
ls /etc/sysconfig/network-scripts

Egy hibaüzenet azt mondja, hogy a „static2” kapcsolat nem létezik, még akkor is, ha azt látjuk, hogy létezik. Ennek az az oka, hogy egy jelenlegi felhasználónak nincs engedélye a kapcsolat létrehozására.

Következtetés: ne habozzon az nmcli használatával. Könnyű és hasznos.