GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer une adresse IP statique sur RHEL 8 / CentOS 8 Linux

Il existe de nombreux cas dans lesquels nous pouvons souhaiter définir une adresse IP statique pour une interface réseau. Dans RHEL 8 / CentOS 8, les connexions réseau sont gérées par le démon NetworkManager, donc dans ce tutoriel, nous voyons comment nous pouvons effectuer une telle tâche en éditant directement un fichier d'interface, en utilisant un utilitaire de ligne de commande, nmcli , ou via une interface utilisateur textuelle, nmtui .

Dans ce didacticiel, vous apprendrez :

  • Comment définir une adresse IP statique en modifiant directement un fichier d'interface
  • Comment définir une adresse IP statique à l'aide de l'utilitaire nmcli
  • Comment définir une adresse IP statique à l'aide de nmtui


Le fichier d'interface réseau modifié

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système RHEL 8/CentOS 8
Logiciel Tous les logiciels mentionnés dans ce didacticiel sont inclus dans une installation minimale de RHEL 8 ou CentOS 8.
Autre Autorisation d'exécuter la commande avec les privilèges root.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Présentation

Dans Red Hat Enterprise Linux 8, les interfaces réseau sont gérées par le NetworkManager démon, donc pour modifier les paramètres d'une interface réseau, nous devons interagir avec lui d'une manière ou d'une autre. Dans ce didacticiel, nous verrons comment définir une adresse IP statique, une passerelle et un serveur DNS pour une carte réseau en utilisant trois méthodes différentes.

Identifier notre interface

La première chose que nous voulons faire est de trouver l'interface que nous voulons modifier. Pour lister toutes les interfaces de notre système, nous pouvons utiliser l'ip addr commande :

$ 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>

Dans la sortie ci-dessus, qui est le résultat de l'exécution de la commande sur ma machine virtualisée rhel8, nous pouvons voir deux interfaces :lo et enp1s0 . La première est une interface « virtuelle », qui est utilisée par le système pour « parler » avec lui-même. La seconde est celle qui nous intéresse, et actuellement son adresse IPv4 est 192.168.122.189 :nous souhaitons la changer.

Méthode 1 :modification manuelle du fichier de configuration de l'interface

Pour chaque interface réseau gérée par le démon NetworkManager, un fichier de configuration est créé dans /etc/sysconfig/network-scripts annuaire. Le nom du fichier est composé du ifcfg- préfixe plus le nom de l'interface. Si nous inspectons le fichier lié à notre carte réseau, nous pouvons voir sa configuration actuelle :

$ 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"

Le BOOTPROTO l'option est définie sur dhcp :l'option définit le protocole à utiliser au démarrage pour définir l'adresse IP de l'interface. Les options possibles à utiliser sont :

  • aucun – Aucun protocole ne doit être utilisé
  • bootp – Utiliser le protocole bootp
  • dhcp – Utiliser le protocole DHCP

Puisque nous voulons définir une adresse IPv4 statique, nous voulons changer la valeur de BOOTPROTO en none et configurez notre IP, le préfixe de route, la passerelle et le serveur DNS de manière statique. Nous pouvons accomplir cela en utilisant respectivement le IPADDR , PREFIX , GATEWAY et DNS options. Étant donné que de nombreux serveurs DNS peuvent être spécifiés, le DNS option doit être signalée avec un numéro progressif, à partir de 1. Après les modifications nécessaires, notre fichier devrait ressembler à
ceci :

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

Nous définissons notre IP statique sur 192.168.122.66 et définissez à la fois notre passerelle et notre serveur DNS sur 192.168.122.1 . Maintenant, pour que nos changements soient efficaces, nous devons mettre en place et réactiver l'interface réseau. Sachez que cela perturbera les connexions ssh existantes via ladite interface :

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

En exécutant l'ip addr commande à nouveau, nous pouvons vérifier que l'adresse IP a changé :

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

Méthode 2 – utilisation de nmcli

Nmcli est un outil de ligne de commande utilisé pour contrôler NetworkManager. En l'utilisant, nous pouvons, entre autres, modifier les paramètres réseau d'une interface spécifique. Dans notre cas, nous devons utiliser nmcli avec la connection sous-commande avec le modify ou le edit action. Le premier nous permet de modifier directement les paramètres, tandis que le second lance le shell nmcli, où nous pouvons opérer de manière interactive.

Utiliser nmcli directement

Pour changer l'adresse IP de l'interface "enp1s0" avec une commande directe nmcli, nous exécutons :

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

Notez que nous avons spécifié le préfixe de routage avec l'IP en utilisant le soi-disant CIDR notation (Classes Inter-Domain Routing). Nous utilisons une syntaxe similaire pour modifier la passerelle et les paramètres DNS :

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

Enfin, nous définissons la méthode sur manual pour éviter d'utiliser tout autre protocole de démarrage pour l'interface. Cette commande définit l'option BOOTPROTO sur none dans le fichier de configuration de l'interface :

$ sudo nmcli connection modify enp1s0 IPv4.method manual

Utilisation du shell nmcli

Comme nous l'avons mentionné ci-dessus, nous pouvons également utiliser une méthode interactive pour effectuer les mêmes modifications. Pour entrer dans le nmcli shell nous utilisons le edit action, suivi du nom de l'interface que nous voulons modifier :

$ 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>

Le curseur clignotant nous indique que le shell accepte les commandes :nous pouvons taper help pour obtenir une liste de celles disponibles, print pour voir toutes les propriétés de connexion ou describe suivi d'un paramètre et d'une de ses propriétés (représentées par une notation pointée), pour obtenir une description de cette dernière. Par exemple :

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

Pour changer l'adresse de notre interface :

nmcli> set IPv4.address 192.168.122.66/24

Le même principe est utilisé pour modifier les autres propriétés :

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

Pour enregistrer les modifications que nous avons apportées, nous devons lancer une dernière commande :

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

Pour quitter le shell nmcli, tapez simplement quit et appuyez sur entrée :

nmcli> quit

Encore une fois, pour que les modifications soient effectives, nous devons recharger l'interface avec la même commande que nous avons utilisée auparavant.

Méthode 3 - en utilisant nmtui

Outre la modification des paramètres d'une interface réseau en modifiant son fichier manuellement ou en utilisant l'utilitaire nmcli, nous pouvons également contrôler NetworkManager en utilisant une interface utilisateur textuelle. Pour le lancer, nous invoquons simplement nmtui dans notre terminal :

$ sudo nmtui


L'interface utilisateur texte nmtui

Nous sélectionnons Edit a connection puis le nom de l'interface que nous voulons manipuler; on procède ensuite à la modification des valeurs souhaitées. Par exemple :



Modification des paramètres de connexion avec nmtui

Une fois que nous sommes satisfaits, nous sélectionnons OK et appuyez sur Entrée :nous serons ramenés au menu de sélection de l'interface. Cette fois, nous sélectionnons back , puis choisissez quit pour quitter. Pour appliquer les paramètres, nous devons recharger la connexion de l'interface :

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

Conclusion

Dans ce didacticiel, nous avons vu trois méthodes que nous pouvons utiliser pour définir une adresse IP statique sur Red Hat Enterprise Linux 8. Nous voyons quelles options nous devons modifier et ce que nous devons ajouter dans le fichier de configuration de l'interface lors de sa modification manuelle, et comment effectuer la mêmes changements en utilisant nmcli et nmtui, qui sont respectivement un utilitaire de ligne de commande et une interface utilisateur textuelle :les deux sont utilisés pour contrôler le démon NetworkManager.


Cent OS
  1. Comment installer et configurer R sur le système Linux RHEL 8 / CentOS 8

  2. CentOS / RHEL 5 :Comment configurer la liaison d'interface (association de cartes réseau)

  3. CentOS / RHEL 4 :Comment configurer la liaison d'interface (NIC teaming)

  4. Comment configurer l'interface en "Mode Promiscuous" dans CentOS/RHEL

  5. Comment configurer les interfaces en mode promiscuité sur CentOS/RHEL 7 (en permanence)

Comment configurer une adresse IP statique dans CentOS 8 / RHEL 8

Comment définir une adresse IP statique dans CentOS Linux

Comment configurer une adresse IP statique sur Alpine Linux

Comment configurer une adresse IP statique sur CentOS 8 (CLI)

Comment configurer l'adresse IP statique du réseau sur RHEL/CentOS 8/7

Comment configurer une adresse IP statique sur le système Linux