GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare un indirizzo IP statico su RHEL 8 / CentOS 8 Linux

Ci sono molti casi in cui potremmo voler impostare un IP statico per un'interfaccia di rete. In RHEL 8 / CentOS 8, le connessioni di rete sono gestite dal demone NetworkManager, quindi in questo tutorial vediamo come possiamo eseguire tale attività modificando direttamente un file di interfaccia, utilizzando un'utilità della riga di comando, nmcli o tramite un'interfaccia utente di testo, nmtui .

In questo tutorial imparerai:

  • Come impostare un indirizzo IP statico modificando direttamente un file di interfaccia
  • Come impostare un indirizzo IP statico utilizzando l'utilità nmcli
  • Come impostare un indirizzo IP statico utilizzando nmtui


Il file dell'interfaccia di rete modificato

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software Tutto il software menzionato in questo tutorial è incluso in un'installazione minima di RHEL 8 o CentOS 8.
Altro Autorizzazione a eseguire il comando con privilegi di root.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Introduzione

In Red Hat Enterprise Linux 8, le interfacce di rete sono gestite da NetworkManager demone, quindi per modificare le impostazioni di un'interfaccia di rete dobbiamo in qualche modo interagire con esso. In questo tutorial vedremo come impostare un indirizzo IP statico, un gateway e un server DNS per una scheda di rete utilizzando tre diversi metodi.

Identificare la nostra interfaccia

La prima cosa che vogliamo fare è trovare l'interfaccia che vogliamo modificare. Per elencare tutte le interfacce del nostro sistema, possiamo usare ip addr comando:

$ ip addr
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: enp1s0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.189/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3004sec preferred_lft 3004sec
    inet6 fe80::9ab6:ba48:1ddd:a8e1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
</broadcast,multicast,up,lower_up></loopback,up,lower_up>

Nell'output sopra, che è il risultato dell'esecuzione del comando sulla mia macchina virtualizzata rhel8, possiamo vedere due interfacce:lo e enp1s0 . La prima è un'interfaccia “virtuale”, che viene utilizzata dal sistema per “parlare” con se stesso. Il secondo è quello che ci interessa, e attualmente il suo indirizzo IPv4 è 192.168.122.189:vogliamo cambiarlo.

Metodo 1:modifica manuale del file di configurazione dell'interfaccia

Per ogni interfaccia di rete gestita dal demone NetworkManager, viene creato un file di configurazione all'interno di /etc/sysconfig/network-scripts directory. Il nome del file è composto da ifcfg- prefisso più il nome dell'interfaccia. Se esaminiamo il file relativo alla nostra NIC, possiamo vedere la sua configurazione effettiva:

$ cat /etc/sysconfig/network-scrIPts/ifcfg-enp1s0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"

Il BOOTPROTO l'opzione è impostata su dhcp :l'opzione imposta il protocollo da utilizzare all'avvio per impostare l'indirizzo IP dell'interfaccia. Le possibili opzioni da utilizzare sono:

  • none:non utilizzare alcun protocollo
  • bootp – Usa il protocollo bootp
  • dhcp – Usa il protocollo DHCP

Poiché vogliamo impostare un indirizzo IPv4 statico, vogliamo cambiare il valore di BOOTPROTO in none e configurare staticamente il nostro IP, il prefisso di percorso, il gateway e il server DNS. Possiamo farlo usando rispettivamente IPADDR , PREFIX , GATEWAY e DNS opzioni. Poiché è possibile specificare molti server DNS, il DNS l'opzione deve essere riportata insieme ad un numero progressivo, a partire da 1. Dopo le modifiche necessarie, il nostro file dovrebbe apparire come
questo:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"
IPADDR=192.168.122.66
PREFIX=24
GATEWAY=192.168.122.1
DNS1=192.168.122.1

Impostiamo il nostro IP statico su 192.168.122.66 e imposta sia il nostro gateway che il nostro server DNS su 192.168.122.1 . Ora, per rendere effettive le nostre modifiche, dobbiamo disattivare e riattivare l'interfaccia di rete. Tieni presente che ciò interromperà le connessioni ssh esistenti tramite detta interfaccia:

$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0

Eseguendo ip addr comando di nuovo possiamo verificare che l'IP sia cambiato:

IP addr|grep enp1s0|grep inet
inet 192.168.122.66/24 brd 192.168.122.255 scope global noprefix

Metodo 2:utilizzo di nmcli

Nmcli è uno strumento da riga di comando utilizzato per controllare NetworkManager. Usandolo possiamo, tra l'altro, modificare le impostazioni di rete per un'interfaccia specifica. Nel nostro caso dobbiamo usare nmcli con la connection sottocomando con il modify o il modify azione. Il primo ci consente di modificare direttamente le impostazioni, mentre il secondo lancia la shell nmcli, dove possiamo operare in modo interattivo.

Utilizzare direttamente nmcli

Per modificare l'indirizzo IP dell'interfaccia "enp1s0" con un comando nmcli diretto, eseguiamo:

$ sudo nmcli connection modify enp1s0 IPv4.address 192.168.122.66/24

Si noti che abbiamo specificato il prefisso di routing insieme all'IP utilizzando il cosiddetto CIDR notazione (Classes Inter-Domain Routing). Usiamo una sintassi simile per cambiare il gateway e le impostazioni del dns:

$ sudo nmcli connection modify enp1s0 IPv4.gateway 192.168.122.1
$ sudo nmcli connection modify enp1s0 IPv4.dns 192.168.122.1

Infine, impostiamo il metodo su manual per evitare di utilizzare qualsiasi altro protocollo di avvio per l'interfaccia. Questo comando imposta l'opzione BOOTPROTO su none nel file di configurazione dell'interfaccia:

$ sudo nmcli connection modify enp1s0 IPv4.method manual

Utilizzo della shell nmcli

Come accennato in precedenza, possiamo anche utilizzare un metodo interattivo per eseguire le stesse modifiche. Per accedere alla nmcli shell usiamo il modify azione, seguito dal nome dell'interfaccia che vogliamo modificare:

$ sudo nmcli connection edit enp1s0
===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'enp1s0'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [.]' for detailed property descrIPtion.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, IPv4, IPv6, tc, proxy
nmcli>

Il cursore lampeggiante ci dice che la shell sta accettando comandi:possiamo digitare help per ottenere un elenco di quelli disponibili, print per vedere tutte le proprietà della connessione o describe seguito da un'impostazione e da una delle sue proprietà (rappresentate con una notazione a punti), per ottenere una descrizione di quest'ultima. Ad esempio:

nmcli>
nmcli> describe IPv4.address

=== [addresses] ===
[NM property descrIPtion]
Array of IP addresses.

[nmcli specific descrIPtion]
Enter a list of IPv4 addresses formatted as:
  IP[/prefix], IP[/prefix],...
Missing prefix is regarded as prefix of 32.

Example: 192.168.1.5/24, 10.0.0.11/24

Per modificare l'indirizzo della nostra interfaccia:

nmcli> set IPv4.address 192.168.122.66/24

Lo stesso principio viene utilizzato per modificare le altre proprietà:

nmcli> set IPv4.gateway 192.168.122.1
nmcli> set IPv4.dns 192.168.122.1
nmcli> set IPv4.method manual

Per salvare le modifiche apportate, dobbiamo dare un ultimo comando:

nmcli> save
Connection 'enp1s0' (d5f41bf4-de0a-43b3-b633-7e2ec6212e58) successfully updated.

Per uscire dalla shell nmcli digita semplicemente quit e premi invio:

nmcli> quit

Anche in questo caso, per rendere effettive le modifiche, dovremmo ricaricare l'interfaccia con lo stesso comando che abbiamo usato prima.

Metodo 3:utilizzo di nmtui

Oltre a modificare i parametri di un'interfaccia di rete modificandone il file manualmente o utilizzando l'utilità nmcli, possiamo anche controllare NetworkManager utilizzando un'interfaccia utente di testo. Per lanciarlo invochiamo semplicemente nmtui nel nostro terminale:

$ sudo nmtui


L'interfaccia utente di testo nmtui

Selezioniamo Edit a connection e poi il nome dell'interfaccia che vogliamo manipolare; si procede quindi alla modifica dei valori desiderati. Ad esempio:



Modifica delle impostazioni di connessione con nmtui

Dopo che siamo soddisfatti, selezioniamo OK e premiamo invio:torneremo al menu di selezione dell'interfaccia. Questa volta selezioniamo back , quindi scegli quit uscire. Per applicare le impostazioni dobbiamo ricaricare la connessione dell'interfaccia:

$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0

Conclusioni

In questo tutorial abbiamo visto tre metodi che possiamo usare per impostare un indirizzo IP statico su Red Hat Enterprise Linux 8. Vediamo quali opzioni dovremmo cambiare e cosa dovremmo aggiungere nel file di configurazione dell'interfaccia quando lo modifichiamo manualmente, e come eseguire il stesse modifiche usando nmcli e nmtui, che sono rispettivamente un'utilità da riga di comando e un'interfaccia utente di testo:entrambe sono usate per controllare il demone NetworkManager.


Cent OS
  1. Come installare e configurare R sul sistema Linux RHEL 8 / CentOS 8

  2. CentOS / RHEL 5:come configurare il collegamento dell'interfaccia (team NIC)

  3. CentOS / RHEL 4:come configurare il collegamento dell'interfaccia (NIC teaming)

  4. Come configurare l'interfaccia in "Modalità promiscua" in CentOS/RHEL

  5. Come configurare le interfacce in modalità promiscua su CentOS/RHEL 7 (in modo persistente)

Come configurare l'indirizzo IP statico in CentOS 8 / RHEL 8

Come impostare un indirizzo IP statico in CentOS Linux

Come configurare un indirizzo IP statico su Alpine Linux

Come configurare l'IP statico su CentOS 8 (CLI)

Come configurare l'indirizzo IP statico di rete su RHEL/CentOS 8/7

Come configurare l'indirizzo IP statico su un sistema Linux