Linux : Comment configurer une adresse IP fixe ?

Empêcher un serveur de changer d'adresse IP très simplement.

12 mars 2012

Par défaut la majorité des distributions Linux sont configurées pour interroger un serveur DHCP afin d'obtenir une adresse IP. Certains serveurs DHCP sont intelligents et, s'ils le peuvent, redonnent tout le temps la même adresse IP en se basant sur l'adresse MAC. Dans le cas d'une machine serveur (HTTP, FTP, SMTP etc...), cette configuration est inacceptable. Un serveur doit garder la même adresse IP tout le temps, sous peine de devoir reconfigurer tous les outils d'administration et rediffuser une nouvelle adresse aux clients.

Les manipulations ont été testées sous Debian Squeeze avec une connexion ethernet. Il vous faut les droits administrateurs pour la plupart de ces commandes.

La première des choses est de vérifier les interfaces disponibles avec la commande ifconfig. Dans mon cas l'interface se nomme eth0.

Trouver la bonne interface réseau

ifconfig -a
eth0    xxxxxxxxxxxxxxx

lo      xxxxxxxxxxxxxxx

pan0    xxxxxxxxxxxxxxx

Mais comment tu as su qu'il fallait prendre eth0 ?

Les interfaces peuvent s'appeler de différentes façons selon leur type. Ainsi eth pour ethernet, lo pour loopback, pan pour le Bluetooth, en sur les Mac, wlan pour le wifi etc... La première interface d'un type porte en général le numéro 0. Donc pour mon cas, je n'ai qu'une seule interface ethernet, pas de questions à se poser c'est eth0.

Maintenant, il faut trouver plusieurs données :

  • L'adresse souhaitée : vous pouvez faire des tests avec un ping pour savoir si l'adresse est libre. Cette méthode n'est pas très fiable puisque certaines machines sont configurées pour ne pas répondre aux pings.
  • Le masque de réseau.
  • L'adresse de réseau : C'est un ET logique entre l'adresse souhaitée et le masque de réseau.
  • L'adresse de broadcast : C'est normalement l'adresse réseau avec tous les bits de la partie machine à 1. Dans la majorité des cas il suffit de mettre un 255 à la place des 0 qui correspondent à la partie machine.
  • L'adresse de la passerelle : si vous faites l'essai avec la box de chez vous, c'est l'adresse IP de la box qu'il faut retenir.

Vous pourrez trouver ces informations dans la table de routage. Pour les afficher vous avez le choix : netstat -nr, route -nee, ip route show etc... Si vous avez un poste Windows sur le même réseau, lancez l'invité de commande (Démarrer/Exécuter/cmd) et saisissez : ipconfig /all.

Il faut maintenant éditer le fichier /etc/network/interfaces. Localisez la ligne "iface eth0 inet dhcp" et remplacez la par :

/etc/network/interfaces

iface eth0 inet static
        address 192.168.0.34
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

Il faut redémarrer le service réseau pour que les modifications soient prises en compte.

Redémarrer le service réseau linux

service networking restart

# Ou

/etc/init.d/networking restart

Un ifconfig vous confirmera que l'opération a réussi.

A bientôt !

Par
Créateur et administrateur.

Dans la même catégorie

Docker pour les null
Git : annuler le dernier commit sans perdre ses modifications
SSHFS : monter un système de fichier avec SSH
Linux : débloquer une interface graphique gelée
Gnome 3 : changer les raccourcis clavier systèmes
Bash : sortir automatiquement du script si une variable n'est pas initialisée
Bash : sortir automatiquement du script si une commande échoue
GIT : merger 2 commits
Nginx : mettre un serveur par défaut
GIT : Afficher la branche courante dans le prompt
Couper une vidéo ou une musique sous linux
Debian / Ubuntu : installer HTTPS pour APT
Filtrer les lignes affichées par la commande tail
Apache 2 : Créer des sous-domaines dynamiques
Transférer des fichiers sur un smartphone android sans câble USB
Comment connaitre la taille d'un dossier sous linux ?
Surveiller la sortie d'une commande avec watch
Comment lancer ou arrêter un script au démarrage de Linux ?
Comment connaître la version de mon OS Linux ?
Comment afficher le cache ARP sous Linux ?
GIT : les commandes indispensables
Comment trouver mon adresse IP publique ?
Comment supprimer les fichiers plus vieux qu'une date donnée en bash ?
Apache 2 : Comment changer le DocumentRoot en fonction du port ?
GIT : Comment ajouter les nouveaux fichiers automatiquement ?
Comment exécuter un script local sur une machine distante avec SSH ?
32 bits ou 64 bits ?
Ecrire dans le sudoers grâce à visudo

Commentaire(s)