Comment configurer une adresse IP statique sous Linux et Unix
3 façons différentes de définir une adresse IP statique sous Linux et FreeBSD
La définition de l'adresse IP après une nouvelle installation de Linux est l'une des compétences obligatoires que tout administrateur Linux et Unix devrait acquérir. Nous pouvons facilement attribuer une adresse IP sous Linux dotée du mode GUI. Cependant, configurer un réseau IP à partir du mode ligne de commande est totalement différent ! Ce didacticiel étape par étape décrit comment configurer une adresse IP statique sous les systèmes d'exploitation Linux et Unix à partir du mode ligne de commande.
Les étapes fournies ci-dessous sont testées sur AlmaLinux 8, les éditions serveur CentOS 8, les éditions serveur et de bureau Ubuntu 22.04, 18.04 et 16.04 et les éditions serveur FreeBSD 13, FreeBSD 12. Cependant, il devrait fonctionner sur la plupart des systèmes Linux basés sur RPM et DEB et sur les versions BSD.
1. Configurer l'adresse IP statique sous Linux
La configuration de l'adresse IP dans les systèmes basés sur RPM et DEB est un peu différente. Tout d'abord, nous verrons comment configurer l'adresse IP sur les systèmes basés sur RPM.
1.1. Attribuer une adresse IP statique dans Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux
L'attribution d'une adresse IP dans les systèmes basés sur Fedora et RHEL peut être effectuée de différentes manières. Nous pouvons définir l'adresse IP,
- en éditant manuellement le fichier de configuration réseau,
- en utilisant l'outil de ligne de commande Nmcli,
- et en utilisant l'outil d'interface utilisateur textuel Nmtui.
1.1.1. Définir l'adresse IP statique en modifiant le fichier de configuration réseau
Dans Fedora, RHEL et ses clones comme CentOS, AlmaLinux et Rocky Linux, la configuration de la carte d'interface réseau (en bref NIC) est stockée sous /etc/sysconfig/network-scripts/
répertoire.
Remarque : Ici, j'exécute toutes les commandes en tant qu'utilisateur root
. Si vous êtes connecté en tant qu'utilisateur normal, ajoutez simplement 'sudo
' à chaque commande.
Tout d’abord, trouvons le nom de la carte réseau.
Pour ce faire, exécutez :
ip link show
Exemple de résultat :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff
Ou utilisez cette commande pour afficher une sortie détaillée :
ip addr
Exemple de résultat :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff
inet 192.168.225.150/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe80:6319/64 scope link
valid_lft forever preferred_lft forever
Habituellement, le nom de la carte réseau filaire commence par la lettre "e" et le nom de la carte sans fil commence par la lettre "w".
Comme vous le voyez dans le résultat ci-dessus, le nom de ma carte réseau filaire est enp0s3. Cela peut être différent dans votre distribution, mais cela commence généralement par la lettre « e ».
Configurons maintenant une adresse IP statique pour cette carte réseau.
Ouvrez le fichier de configuration de la carte réseau dans n'importe quel éditeur :
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
Ici, j'utilise l'éditeur vi pour éditer le fichier de configuration réseau. Vous pouvez utiliser n'importe quel éditeur de texte/graphique de votre choix, par exemple nano ou gedit.
Définissez bootproto (protocole de démarrage) sur aucun et définissez l'adresse IP, le masque de sous-réseau, la passerelle et le serveur DNS comme indiqué ci-dessous.
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="e9f9caef-cb9e-4a19-aace-767c6ee6f849"
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"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
Configurer l'adresse IP statique sur CentOS Linux
Voici à quoi ressemble un fichier de configuration de carte réseau typique dans n'importe quel système basé sur RPM. Avez-vous remarqué les lignes que j'ai marquées en gras (et les flèches dans l'image) ? Ce sont les lignes importantes.
Laissez-moi vous expliquer ces lignes :
- BOOTPROTO="none" - Cette ligne indique que l'adresse IP de la carte réseau doit être configurée manuellement. Si vous définissez la valeur sur "dhcp", la carte réseau acceptera l'adresse IP de n'importe quel serveur DHCP du réseau.
- IPADDR0="192.168.225.150" - Cette ligne indique l'adresse IP de la carte réseau. Ici, le zéro dans l'IPADDR0 indique que cette carte est configurée avec une seule adresse IP. Si vous souhaitez définir plusieurs adresses IP (c'est-à-dire une adresse IP virtuelle), ajoutez de nouvelles lignes - par exemple IPADDR1, IPADDR2 et définissez différentes adresses IP de votre choix.
- PREFIX0="24" - Cette ligne indique le masque de sous-réseau, c'est-à-dire 255.255.255.0. Ici, vous pouvez spécifier plusieurs sous-réseaux avec les lignes PREFIX1, PREFIX 2, etc.
- GATEWAY0="192.168.225.1" - Il s'agit de l'adresse de passerelle de la carte réseau.
- DNS1="8.8.8.8" - L'adresse du serveur de noms. Vous pouvez également spécifier plusieurs DNS avec les lignes DNS2, DNS3, etc.
Les autres lignes sont moins importantes. Si vous êtes curieux de savoir de quoi il s'agit, c'est parti.
- DEFROUTE - S'il faut utiliser cette connexion comme route par défaut.
- HWADDR : indique l'adresse matérielle du périphérique réseau.
- IPV4_FAILURE_FATAL : s'il faut désactiver le périphérique en cas d'échec de la configuration IPv4. La valeur par défaut est non.
- IPV6INIT : s'il faut activer la prise en charge IPv6 pour cette connexion.
- ONBOOT : si cette connexion doit être démarrée au démarrage du système.
- UUID : UUID associé à cette connexion.
- TYPE - Indique le type de cette connexion, c'est-à-dire Ethernet, WiFi, etc.
Pour plus de détails sur chaque paramètre, consultez la page de manuel de la commande ip addr
.
Une fois que vous avez configuré tous les détails, enregistrez et fermez le fichier. Redémarrez le service réseau pour que les modifications prennent effet.
systemctl restart network
Ou redémarrez simplement votre système.
Maintenant, vérifiez la nouvelle adresse IP statique à l'aide de la commande :
ip addr
Vous pouvez également vérifier l'adresse d'une carte réseau spécifique comme indiqué ci-dessous.
ip a s enp0s3
Exemple de résultat :
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff
inet 192.168.225.150/24 brd 192.168.225.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 2405:204:714e:faa:a00:27ff:fe80:6319/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe80:6319/64 scope link noprefixroute
valid_lft forever preferred_lft forever
1.1.2. Définir l'adresse IP à l'aide de Nmtui
Vous pouvez également utiliser l'utilitaire NetworkManager TUI (nmtui) pour configurer l'adresse IP.
S'il n'est pas déjà installé, vous pouvez l'installer en utilisant la commande :
dnf install NetworkManager-tui
Maintenant, démarrez l'utilitaire nmtui en entrant la commande suivante :
nmtui
Choisissez l'option "Modifier une connexion" :
Modifier la connexion réseau
Choisissez la carte d'interface réseau à configurer dans le volet de gauche et sélectionnez l'option "Modifier" à droite et appuyez sur la touche ENTRÉE :
Choisissez Modifier la connexion
Entrez l'adresse IP, le masque de réseau, la passerelle et les détails DNS, etc. Enfin, cliquez sur OK pour enregistrer les modifications.
Définir l'adresse IP à l'aide de Nmtui
Redémarrez le service Networkmanager :
systemctl restart NetworkManager
Ou redémarrez votre système pour appliquer les modifications.
1.1.3. Définir l'adresse IP à l'aide de Nmcli
nmcli est une interface NetworkManager en ligne de commande permettant de créer, afficher, modifier, activer, désactiver et supprimer des connexions réseau.
Pour afficher toutes les connexions réseau actives et inactives, exécutez :
nmcli connection show
Exemple de résultat :
NAME UUID TYPE DEVICE
System eth0 466779c6-2f49-11ed-a11e-a0e70bdf3dfb ethernet eth0
docker0 97580a1a-1e98-4534-ae8f-52fbbccf6a82 bridge docker0
Comme vous le voyez dans le résultat ci-dessus, il affiche deux profils de connexion, à savoir « Système eth0 » et « docker0 », ainsi que les périphériques auxquels ils sont connectés.
Voyons comment configurer l'adresse IP pour la connexion eth0
.
Pour attribuer une adresse IP statique à l'interface eth0
à l'aide de nmcli, exécutez :
sudo nmcli connection modify "System eth0" ip4 192.168.1.20/24 gw4 192.168.1.101 ipv4.dns 8.8.8.8
Ici, nous définissons l'adresse IP 192.168.1.20/24 sur le profil de connexion "Système eth0" avec la passerelle 192.168.1.101 et DNS 8.8.8.8. Remplacez le nom du profil de connexion par le vôtre ainsi que l'adresse IP, la passerelle et le DNS.
Mettez à jour les modifications à l'aide de la commande :
sudo nmcli connection up "System eth0"
C'est ça. Nous avons attribué une adresse IP statique à la carte eth0
.
Vérifions-le en utilisant la commande :
ip a
Exemple de résultat :
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: eth0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether d2:85:0c:c7:c1:c3 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.1.20/24 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::d085:cff:fec7:c1c3/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:a9:0a:0a:9b brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
Vous pouvez également vérifier l'adresse IP en affichant le contenu du fichier de configuration ifcfg-eth0
.
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
UUID=a5da8caa-2f52-11ed-a720-a0e70bdf3dfb
BOOTPROTO=none
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.101
DNS1=8.8.8.8
Lecture suggérée :
- Comment attribuer plusieurs adresses IP à une seule carte réseau sous Linux
1.2. Configurer l'adresse IP statique dans Debian, Ubuntu
La configuration de l'adresse IP dans Debian et Ubuntu à l'aide des outils nmcli et nmtui est exactement identique à celle décrite ci-dessus. Si vous utilisez un environnement de bureau sous Debian ou Ubuntu, nmcli et nmtui sont préinstallés.
La configuration d'une adresse IP statique en modifiant les fichiers de configuration réseau est un peu différente dans les systèmes basés sur DEB. Les étapes suivantes vous montrent comment configurer une adresse IP statique dans Debian 11 bullseye.
1.2.1. Définir une adresse IP statique dans Debian
Commençons par lister les interfaces réseau disponibles à l'aide de la commande :
ip link show
Exemple de résultat :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether ca:da:d1:bc:ba:65 brd ff:ff:ff:ff:ff:ff
altname enp0s18
Comme vous le voyez dans le résultat ci-dessus, le nom de ma carte d'interface réseau est ens18
.
Nous pouvons définir une adresse IP statique en modifiant le fichier de configuration de l'interface réseau. Tous les fichiers de configuration réseau sont stockés dans le répertoire /etc/network/
dans les systèmes basés sur Debian.
Modifiez le fichier /etc/network/interfaces/
à l'aide de n'importe quel éditeur de texte :
sudo vim /etc/network/interfaces
Ou,
sudo nano /etc/network/interfaces
Ajoutez ou modifiez les lignes suivantes pour configurer l'adresse IP statique.
auto ens18
iface ens18 inet static
address 192.168.1.150
netmask 255.255.255.0
gateway 192.168.1.101
dns-nameservers 8.8.8.8
Définir une adresse IP statique dans Debian
Remplacez ens18
par le nom de votre interface réseau ainsi que l'adresse IP, la passerelle et le DNS. enregistrez le fichier et fermez-le.
Redémarrez le service NetworkManager pour mettre à jour les modifications.
sudo systemctl restart networkijng.service
C'est ça. Vous pouvez maintenant vérifier l'adresse IP à l'aide de la commande :
$ip un
Exemple de résultat :
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: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether ca:da:d1:bc:ba:65 brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 192.168.1.150/24 brd 192.168.1.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 fe80::c8da:d1ff:febc:ba65/64 scope link
valid_lft forever preferred_lft forever
1.2.2. Attribuer une adresse IP statique dans Ubuntu
Comme je l'ai déjà dit, la configuration de l'adresse IP avec les outils nmcli ou nmtui est exactement la même que celle expliquée dans la section Systèmes basés sur RHEL ci-dessus.
Si vous souhaitez définir l'adresse IP en modifiant manuellement le fichier de configuration réseau, suivez les étapes ci-dessous.
Modifiez le fichier /etc/network/interfaces/
dans n'importe quel éditeur de texte :
sudo nano /etc/network/interfaces
Ajoutez ou modifiez les lignes suivantes pour configurer l'adresse IP statique.
auto enp0s3
iface enp0s3 inet static
address 192.168.1.105
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
Configurer l'adresse IP dans Ubuntu
Enregistrez et fermez le fichier.
Redémarrez le service réseau à l'aide de la commande :
sudo systemctl restart ifup@enp0s3
Ou,
sudo systemctl restart networking.service
Ou redémarrez simplement le système.
Maintenant, vérifiez la nouvelle adresse IP statique à l'aide de l'une des commandes suivantes :
ifconfig
ip addr
ip a s enp0s3
Exemple de résultat :
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:12:f8:c1 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.105/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe12:f8c1/64 scope link
valid_lft forever preferred_lft forever
Afficher l'adresse IP
Attention : À partir d'Ubuntu 17.10, nous n'utilisons plus le fichier /etc/network/interfaces pour configurer l'adresse IP. Dans les versions récentes d'Ubuntu, nous utilisons l'utilitaire Netplan pour configurer l'adresse IP. Pour configurer l'adresse IP sur les distributions Ubuntu récentes, reportez-vous au lien suivant.
- Comment configurer l'adresse IP dans Ubuntu 18.04 LTS
Nous venons d'apprendre comment configurer une adresse IP statique sous Linux à partir de la ligne de commande. Configurons maintenant l'adresse IP statique sous Unix. Pour les besoins de ce didacticiel, j'utiliserai FreeBSD 13.
2. Configurer l'adresse IP statique dans FreeBSD
Nous utilisons la commande "ifconfig
" pour connaître le nom de la carte réseau dans FreeBSD. Ici, je me suis connecté en tant qu'utilisateur root pour exécuter les commandes suivantes.
ifconfig
Exemple de résultat :
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=81009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER>
ether 08:00:27:7e:6d:d4
inet6 fe80::a00:27ff:fe7e:6dd4%em0 prefixlen 64 scopeid 0x1
inet6 2405:204:714e:faa:a00:27ff:fe7e:6dd4 prefixlen 64 autoconf
inet 192.168.225.27 netmask 0xffffff00 broadcast 192.168.225.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
groups: lo
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
Afficher l'adresse IP dans FreeBSD
Ici em0 est le nom de la carte d'interface réseau.
Pour configurer l'adresse IP statique, modifiez le fichier /etc/rc.conf
:
vi /etc/rc.conf
Ajoutez/modifiez les lignes comme indiqué ci-dessous.
hostname="freebsd.ostechnix.local"
ifconfig_em0="inet 192.168.255.110 netmask 255.255.255.0"
defaultrouter="192.168.255.1"
local_unbound_enable="YES"
sshd_enable="YES"
moused_enable="YES"
ntpd_enable="YES"
powerd_enable="YES"
Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
Enregistrez et fermez le fichier.
Redémarrez le service réseau à l'aide de la commande suivante :
/etc/rc.d/netif restart && /etc/rc.d/routing restart
Maintenant, vérifiez si l'adresse IP a été modifiée ou non à l'aide de la commande :
ifconfig
Afficher l'adresse IP dans FreeBSD à l'aide de la commande ifconfig
Pour configurer la carte réseau afin d'obtenir l'adresse IP d'un serveur DHCP, ajoutez ou modifiez uniquement les lignes suivantes :
hostname="freebsd.ostechnix.local"
ifconfig_em0="DHCP"
Ou,
hostname="freebsd.ostechnix.local"
ifconfig_DEFAULT="DHCP inet6 accept_rtadv"
Enregistrez et fermez le fichier. Redémarrez le service réseau ou redémarrez votre système pour appliquer les modifications.
Lecture connexe :
- Comment configurer une adresse IP statique et dynamique dans Arch Linux
- Comment trouver l'adresse IP de la passerelle par défaut sous Linux et Unix à partir de la ligne de commande
- Comment connaître l'état de connexion d'un câble réseau sous Linux
- vnStat - Surveiller la bande passante réseau sous Linux et BSD
- Afficher les informations réseau sous Linux à l'aide de quel outil IP
Conclusion
Dans ce didacticiel, nous avons appris quelques façons de configurer une adresse IP statique dans les systèmes d'exploitation Linux et Unix. Dans la première méthode, nous avons attribué l'adresse IP en modifiant manuellement les fichiers de configuration réseau. Dans les deuxième et troisième méthodes, nous avons utilisé nmcli et nmtui pour définir l'adresse IP à partir de la ligne de commande sous Linux.
Image présentée par Mohamed Hassan de Pixabay.