Ubuntu 16.04 Server / Configurer une adresse IP fixe
Sur Ubuntu 16.04 Server, une adresse IPv4 fixe (Internet Protocol version 4) gérée par ifupdown se configure dans /etc/network/interfaces ou un fichier inclus. Vérifiez l’interface, l’adresse, le masque, la passerelle et le DNS réels, sauvegardez la configuration et préparez une console de secours avant l’application.
Vérifier que la procédure correspond à votre serveur
Ce guide modifie une interface filaire unique classique dans une configuration ifupdown existante d’Ubuntu 16.04. N’ajoutez pas ces réglages tels quels sur un serveur géré par Netplan, NetworkManager ou un outil d’initialisation cloud. Identifiez d’abord le gestionnaire et la source de configuration.
Ubuntu 16.04 est ancien. Le support standard s’est terminé en 2021 et l’ESM habituel (Expanded Security Maintenance, maintenance de sécurité étendue) en 2026. Pour continuer à l’exploiter, vérifiez la couverture Legacy et le plan de migration dans les informations de support Ubuntu 16.04 de Canonical. Il ne s’agit pas de la méthode réseau par défaut des versions Ubuntu actuelles.
Les noms d’interfaces varient. Ces commandes indiquent la distribution, les périphériques, les adresses IPv4 et la route par défaut. Repérez l’interface qui porte réellement votre connexion, au lieu de recopier enp0s3.
lsb_release -ds
ip -o link show
ip -4 addr show
ip -4 route
cat /etc/network/interfaces
dpkg -l ifupdown resolvconf
Dans ip -4 route, default via désigne la passerelle et dev son interface. Comparez ces données aux fichiers et vérifiez l’état d’installation avec dpkg -l. Si le fichier manque ou qu’un autre gestionnaire intervient, arrêtez cette procédure et utilisez celle de cet environnement.
Choisir l’adresse, la passerelle et le DNS
Une adresse fixe ne se choisit pas arbitrairement sur le serveur. Utilisez celle attribuée par l’administrateur et vérifiez réservations ou exclusions DHCP (Dynamic Host Configuration Protocol, protocole de configuration dynamique des hôtes) pour éviter la plage de distribution. Une adresse sans réponse n’est pas forcément libre.
- Adresse et masque : l’exemple utilise
192.168.10.50et255.255.255.0, soit192.168.10.50/24. N’attribuez pas à un hôte l’adresse réseau192.168.10.0ni l’adresse de diffusion192.168.10.255de ce sous-réseau. - Passerelle : l’exemple utilise
192.168.10.1, directement joignable sur le même réseau. Cet exemple à une interface conserve une seule route par défaut. Plusieurs réseaux ou politiques de routage nécessitent une conception distincte. - DNS : choisissez un serveur DNS (Domain Name System) capable de résoudre les noms en adresses.
192.168.10.1n’est valable ici que si cet équipement traite aussi les requêtes DNS. Pour les domaines internes, choisissez le DNS de l’organisation capable de les résoudre.
Ces valeurs illustrent un réseau privé. Adaptez-les au réseau NAT, ponté ou privé hôte de la machine virtuelle et aux règles du fournisseur cloud. Fixer l’adresse privée de l’invité peut être différent de réserver une adresse publique externe.
Sauvegarder et remplacer DHCP par static
- Vérifiez d’abord l’accès à une console physique, de virtualisation ou de récupération cloud. Modifier l’adresse avec SSH (Secure Shell) comme seul accès peut empêcher toute récupération après déconnexion. Prévoyez une interruption et notez anciennes adresses, routes et DNS.
- Sauvegardez les réglages réseau ailleurs. Si le nom de sauvegarde existe déjà, choisissez-en un autre.
sudo cp -a /etc/network /etc/network.before-static-ip
sudoedit /etc/network/interfaces
Examinez les fichiers inclus par source ou source-directory. Si l’interface est définie dans /etc/network/interfaces.d/, modifiez ce fichier sans dupliquer sa définition dans le fichier principal. Pour un fichier généré par le cloud, vérifiez les écrasements au démarrage et la méthode prise en charge par le fournisseur.
- Repérez le bloc DHCP ci-dessous. Modifiez le bloc IPv4 existant de l’interface réelle, sans inventer un autre nom de périphérique.
auto enp0s3
iface enp0s3 inet dhcp
- Remplacez uniquement ce bloc comme suit. Conservez autres interfaces, IPv6, directives d’inclusion et boucle locale.
auto enp0s3
iface enp0s3 inet static
address 192.168.10.50
netmask 255.255.255.0
gateway 192.168.10.1
dns-nameservers 192.168.10.1
Ce bloc ne remplace pas tout le fichier. Préservez notamment auto lo et iface lo inet loopback. auto indique les interfaces activées au démarrage ; inet static choisit IPv4 statique. Consultez le manuel interfaces d’ifupdown pour la syntaxe.
Comprendre quand dns-nameservers est appliqué
dns-nameservers a un rôle différent de l’adresse IP et de la route par défaut. Sur Ubuntu 16.04, resolvconf et ses scripts d’intégration ifupdown doivent fonctionner pour transmettre cette valeur au DNS. Le manuel resolvconf d’Ubuntu 16.04 décrit cette intégration et la séparation par espaces de plusieurs adresses DNS.
Si /etc/resolv.conf est généré automatiquement, une modification directe peut être écrasée. Vérifiez sa cible et son contenu avec ces commandes ; si resolvconf est présent, affichez aussi les informations DNS enregistrées.
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
if command -v resolvconf >/dev/null 2>&1; then
resolvconf -l
fi
Sans installation ou intégration appropriée, la seule ligne dns-nameservers ne change pas le DNS. Identifiez d’abord le gestionnaire actif et adaptez-le. Certaines configurations affichent un cache DNS local dans resolv.conf : ne pas y voir directement l’adresse externe ne prouve pas un échec.
Appliquer la configuration et vérifier le résultat
- Après enregistrement, consultez les paramètres lus par ifupdown. Interface, adresse, masque et passerelle doivent correspondre au plan. Cette commande consulte la configuration sans l’appliquer au réseau.
ifquery enp0s3
Un ifquery réussi ne vérifie ni conflits d’adresses ni communications réelles. En cas d’erreur ou d’interface non définie, corrigez d’abord inclusions, nom et syntaxe. La portée est expliquée dans le manuel ifquery et ifup d’ifupdown.
- Avec une console de secours et une interruption planifiée, redémarrez pour appliquer la configuration de démarrage. La commande suivante redémarre tout le serveur : ne la lancez qu’une fois prêt.
sudo reboot
Redémarrer seulement le service réseau ne garantit pas l’effacement des anciennes adresses et de l’état DHCP. Répéter les redémarrages parce que l’IP ne change pas ne corrige pas non plus une erreur de configuration. Après démarrage, contrôlez adresses et routes à la console, puis reconnectez-vous à la nouvelle IP.
ip -4 addr show dev enp0s3
ip -4 route
ping -c 3 192.168.10.1
getent ahostsv4 ubuntu.com
Pour cet exemple, l’interface doit afficher 192.168.10.50/24 et la route inclure default via 192.168.10.1 dev enp0s3. Vérifiez séparément passerelle et résolution de noms. Si les réponses ICMP sont bloquées, un ping échoué ne prouve pas une panne : testez les services nécessaires et l’accès depuis un autre client.
Diagnostiquer et restaurer les anciens réglages
Sans adresse, vérifiez périphérique, emplacement du fichier, gestionnaire et syntaxe. Avec une adresse mais sans accès aux autres réseaux, examinez masque, passerelle et routes. Si les IP fonctionnent mais pas les noms, vérifiez DNS et domaines internes. Une mauvaise adresse, un chevauchement DHCP ou une double définition ailleurs peuvent aussi être responsables.
Consultez les erreurs avec sudo systemctl status networking.service et sudo journalctl -u networking.service -b --no-pager. Un service sain ne garantit pas adresses et communications correctes : comparez les contrôles précédents.
Pour restaurer, utilisez la console de secours et remettez uniquement les fichiers modifiés. L’exemple suppose que seul /etc/network/interfaces a changé. Pour un fragment, restaurez sa sauvegarde à l’emplacement correspondant. Ne copiez pas tout le répertoire au risque d’écraser des réglages sans rapport ajoutés depuis.
sudo cp -a /etc/network.before-static-ip/interfaces /etc/network/interfaces
sudo reboot
Si l’ancienne configuration utilisait DHCP, rien ne garantit la même adresse après redémarrage. Vérifiez l’adresse attribuée et la route à la console, puis confirmez le retour du DNS et de l’accès d’administration avant de terminer.



