Configuration des paramètres IP sous Linux
Procédure de configuration des interfaces réseau IP sous Linux
Debian & dérivés CLI RedHat & dérivés Alma / RockyLinux (nmtui/nmcli) ArchLinux / Manjaro (netctl) systemd-networkd Manuel
Distributions basées sur Debian (Debian, Ubuntu 19 et -, Mint...)
Cette méthode ne fonctionne pas sur les distributions Ubuntu modernes avec GUI
Tout d'abord, afficher les interfaces réseau disponibles avec ip link (ou bien ifconfig -a dans le cas ou systemd ne serait pas installé) :
Connexion Ethernet
La configuration des interfaces réseau est stockée par défaut dans le fichier /etc/network/interfaces.
Il est possible de commenter la configuration en ajoutant un # devant le texte en commentaire.
Exemple de configuration (avec la signification de chaque instruction):
auto lo eth0 #Activer automatiquement au démarrage du système (même quand rien n'est connecté)
allow-hotplug eth1 #N'activer l'interface que si une connexion est disponible (câble branché par exemple)
iface lo inet loopback #Interface de bouclage (NE PAS MODIFIER !)
iface eth0 inet static #Précise la configuration manuelle des paramètres IP de la carte réseau eth0
address 192.168.90.1 #Adresse IP affectée à la carte réseau
netmask 255.255.255.0 #Masque de sous-réseau
network 192.168.90.0 #Précise l'adresse du sous-réseau (Facultatif)
broadcast 192.168.90.255 #Précise l'adresse de diffusion du sous-réseau (Facultatif)
gateway 192.168.90.1 #Précise la passerelle par défaut (routeur pour aller sur Internet)
dns-nameservers 192.168.90.240 192.168.90.239 #Précise les serveurs DNS à utiliser (cette méthode fonctionne uniquement si le paquet resolvconf est installé!)
iface eth1 inet dhcp #Indique que l'interface eth1 doit récupérer ses paramètres IP automatiquement depuis un serveur DHCP.
Pour configurer les serveurs DNS lorsque le paquet
resolvconf n'est pas installé (anciennes versions de debian), éditer le fichier /etc/resolv.conf comme sous les distributions RedHat (voir plus bas).
Pour appliquer les changements, redémarrer le service réseau avec la commande :
service networking restart
Connexion Wi-Fi
Concernant la configuration d'une interface Wi-Fi, le principe est le même que pour les cartes réseau filaires, sauf qu'il faut d'abord configurer wpa_supplicant pour la connexion au réseau sans-fil : Configuration de WPA_Supplicant
Une fois wpa_supplicant parametré correctement, ouvrir le fichier /etc/network/interfaces et indiquer les réglages de la carte Wi-Fi :
iface wlan0 inet dhcp #Configuration d'une carte Wi-Fi en DHCP
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf #Précise le fichier où sont stockés les paramètres d'authentification des réseaux Wi-Fi
Source : cliquer ici
Distributions basées sur RedHat (RedHat, CentOS, Fedora...)
Tout d'abord, afficher les interfaces réseau disponibles avec ip link ou bien ifconfig -a (dans le cas ou systemd ne serait pas installé).
La configuration d'un interface réseau est stockée dans le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 où eth0 correspond à l'interface concernée.
Connexion ethernet
Exemple :
DEVICE=eth0 ## Nom de l'interface BOOTPROTO=static ## Mode de configuration de l'interface (static ou dhcp) BROADCAST=192.168.0.255 ## Adresse de broadcast HWADDR=AA:BB:CC:DD:EE:FF ## MAC ADRESSE de la carte reseau IPADDR=192.168.0.10 ## Adresse IP de la machine NETMASK=255.255.255.0 ## Masque sous-reseau NETWORK=192.168.0.0 ## Adresse reseau ONBOOT=yes ## Monter l'interface au boot NM_CONTROLLED="no" ## Pas de contrôle via NetworkManager
Pour passer la carte en client DHCP, modifier la directive
BOOTPROTO=static en BOOTPROTO=dhcp
Pour les paramètres réseau “généraux”, comme la passerelle par défaut ou le nom de domaine de la machine, il faut aller dans le fichier /etc/sysconfig/network et le configurer comme ceci :
NETWORKING=yes ## Activer le reseau NETWORKING_IPV6=no ## Activation ou pas de l'ipv6 HOSTNAME=serv-centos ## Le nom de la machine GATEWAY=192.168.0.1 ## Adresse ip de votre passerelle
Enfin, pour configurer les serveurs DNS par défaut, on doit modifier le traditionnel fichier /etc/resolv.conf
Exemple :
nameserver 192.168.0.100 ## l'ip du premier serveur de noms (mon serveur DNS local) nameserver 1.1.1.1 ## l'ip du serveur serveur de noms (serveur DNS CloudFlare)
Pour appliquer les changements, redémarrer le service réseau avec la commande :
/etc/init.d/network restart
Connexion Wi-Fi
a rédiger
Distributions utilisant NetworkManager (AlmaLinux)
Attention : Méthode capricieuse, notamment avec les VM sous environnement VMWare.
Sur les systèmes avec NetworkManager préinstallé (comme almalinux), on peut configurer les paramètres réseau en CLI via une interface graphique minimaliste :
nmtui
En CLI pur, on utilisera la commande 'nmcli'.
Par exemple pour redémarrer les fonctions réseau :
nmcli networking off
nmcli networking on
Démarrer une interface :
nmcli connection up ens33
Arrêter une interface :
nmcli connection down ens33
Attribuer une adresse IP et un masque de S/R à une interface :
nmcli connection modify ens160 IPv4.address 192.168.122.66/24
Configurer la passerelle par défaut d'une interface :
nmcli connection modify ens160 IPv4.gateway 192.168.122.254/24
Configurer les DNS d'une interface :
nmcli connection modify ens160 IPv4.dns 192.168.122.1
Forcer le protocole d'attribution des paramètres en statique :
nmcli connection modify ens160 IPv4.method manual
Activer l'autoconfiguration des paramètres en DHCP :
nmcli connection modify ens160 IPv4.method auto
Pour réutiliser les anciens fichiers de configuration RedHat, il existe une commande qui permet de convertir les configurations à l'ancienne en configurations NetworkManager :
nmcli connection migrate
Distributions basées sur ArchLinux (ArchLinux, Manjaro...) avec Netctl
Tout d'abord, afficher les interfaces réseau disponibles avec ip link ou bien ifconfig -a (dans le cas ou systemd ne serait pas installé).
Connexion ethernet
Pour commencer, créer un nouveau profil réseau dans /etc/netctl/ (des exemples de profils existent dans /etc/netctl/examples) :
touch /etc/netctl/profile.conf
Remplacer
profile.conf par le nom du profil à créer
Puis activer ce profil :
netctl start profile.conf
Ensuite, définir les paramètres du profil dans le fichier correspondant créé juste avant :
Interface=enp0s3 #nom de l'interface à configurer
Connection=ethernet #type de connexion (ethernet pour une connexion filaire, wireless pour du Wi-Fi)
IP=static #type d'adresse IP (static pour statique et dhcp pour dynamique)
Address=('10.1.10.2/24') #Adresses IP statiques de la carte (séparées par un espace et chacune entre guillemets simples)
Gateway='10.1.10.1' #Adresse de la passerelle par défaut
DNS=('10.1.10.1') #Serveurs DNS à utiliser
Les 3 dernières lignes ne sont pas ajouter si l'autoconfiguration via DHCP est activée !
Afin que le système charge ces réglages au démarrage, utiliser cette commande :
netctl enable profile.conf
A chaque modification d'un profil réseau, il faudra “réactiver” la configuration :
netctl reenable profile.conf
Connexion Wi-Fi
Pour configurer une carte Wi-Fi, il faut installer les paquets
dialog et wpa_supplicant.
Ensuite ouvrir le menu de configuration du Wi-Fi avec :
wifi-menu
Suivre les étapes, c'est à dire sélectionner un réseau Wi-Fi disponible, et entrer la clé de sécurité. Un nouveau profil réseau va être créé, par défaut ce profil récupère une adresse IP via un serveur DHCP, mais on peut toujours le modifier tel qu'indiqué plus haut pour paramètrer une adresse statique.
Une fois connecté, pour activer la connexion automatique au démarrage, il suffit d'activer ce nouveau profil :
netctl enable profile_wifi
Configuration du réseau avec systemd-networkd
Cette méthode fonctionne pour toutes les distributions Linux où le système d'initialisation utilisé est systemd.
Connexion ethernet
Commencer par démarrer systemd-networkd puis l'activer au démarrage :
systemctl start systemd-networkd && systemctl enable systemd-networkd
Lister les cartes réseau disponibles :
networkctl list
On peut aussi se servir de la commande suivante pour afficher plus d'informations :
networkctl status
Maintenant, créer un fichier de configuration correpondant à la carte réseau que l'on souhaite paramètrer, nommé /etc/systemd/network/enp0s3-ethernet.network (remplacer enp0s3 par le nom de la carte).
nano /etc/systemd/network/enp0s3-ethernet.network
Puis remplir le fichier. Pour configurer manuellement tous les paramètres :
[Match] Name=enp0s3 #nom de l'interface MACAddress=AA:AA:AA:AA:AA:AA #adresse mac de la carte réseau (facultatif) [Link] MACAddress=BB:BB:BB:BB:BB:BB #changer l'adresse mac en BB:BB:BB:BB:BB:BB (facultatif) MTUBytes=1500 #régler la valeur MTU de la carte réseau (facultatif) [Network] Address=192.168.1.2/24 #adresse IP statique en notation CIDR Gateway=192.168.1.1 #adresse de la passerelle par défaut DNS=1.1.1.1 #Serveur DNS Primaire DNS=8.8.8.8 #Serveur DNS Secondaire
Sinon pour une configuration IP dynamique :
[Match] Name=enp0s3 #nom de l'interface [Network] DHCP=ipv4 #Autoconfiguration des paramètres via DHCP (ipv4=DHCPv4, ipv6=DHCPv6)
Enregistrer le fichier puis relancer le processus réseau avec :
systemctl restart systemd-networkd
Connexion Wi-Fi
a rédiger
Configurer des réseaux Wi-Fi avec WPA_Supplicant
WPA_Supplicant est un paquet permettant de connecter une carte Wi-Fi à un SSID, c'est à dire à un réseau Wi-Fi.
Pour l'utiliser, il faut d'abord l'installer :
apt-get install wpa_supplicant
La commande variera en fonction du gestionnaire de paquets utilisé.
Ensuite, taper la commande suivante pour ajouter un réseau Wi-Fi, en remplaçant ssid et password par le SSID et la clé WPA correspondants :
wpa_passphrase ssid password >> /etc/wpa_supplicant/wpa_supplicant.conf
Pour éviter les problèmes de sécurité, éditer le fichier
/etc/wpa_supplicant/wpa_supplicant.conf et supprimer la ligne commentée avec le mot de passe en clair. En cas d'erreur avec la commande, il suffit de modifier le contenu du fichier ou de le supprimer puis de refaire la commande correctement.
Pour tester la connexion (de façon temporaire) :
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
En remplaçant wlan0 par le nom de votre carte Wi-Fi. Au bout d'une trentaine de secondes maximum, le message CTRL-EVENT-CONNECTED - Connection to xx:xx:xx:xx:xx:xx completed, confirme que ça fonctionne. Autrement, revérifier les paramètres. Faire CTRL+C pour quitter le mode connexion.
Attention : le pilote de la carte Wi-Fi doit être installé et chargé pour que cela réussisse.
Une fois que l'on est sûr que la connexion au SSID est fonctionnelle, on utilisera cette commande pour s'y connecter en tâche de fond (de façon temporaire toujours) :
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Afin de récupérer une adresse IP dynamique :
dhcpcd wlan0
On pourra aussi se servir du paquet dhclient à la place de dhcpcd :
dhclient wlan0
Pour fixer les paramètres réseau de la carte Wi-Fi de façon permanente, se réferrer à la configuration du réseau pour votre distribution.
Configuration manuelle avec la commande IP
Activer/désactiver une carte réseau :
ip link set <carte reseau> up | down
Ajouter/Supprimer une IP :
ip addr <add | delete> <CIDR> dev <carte reseau>
Commandes de vérification et de dépannage
Quelquesoit la base du système utilisée, il existe des commandes universelles pour vérifier que la configuration réseau est bien fonctionnelle.
Afficher la liste des cartes réseau connectées et leur nom :
ip link
ou bien sous sysVinit :
ifconfig -a
Afficher les paramètres IP des cartes réseau sous systemd :
ip a
ou bien sous sysVinit :
ifconfig
Pour vérifier qu'une machine est joignable par son adresse IP ou son nom d'hôte :
ping 1.1.1.1
Certaines machines ou certains pare-feux peuvent bloquer les requêtes ping par défaut !
Pour vérifier que les résolutions DNS fonctionnent :
nslookup google.fr

