Fixer une adresse IP statique sur Linux

Même si la majorité des postes utilisent maintenant des adresses délivrées par un DHCP, il est parfois intéressant de disposer d'une adresse IP fixe, que ce soit pour un serveur ou pour accéder à des VM. Personnellement, je fais assez souvent des tests avec Virtualbox, et je déclare 2 cartes réseau sur les VM :

  • une carte activée en mode NAT, me permettant d'accéder à l'extérieur. L'adresse IP de la carte est donnée par le serveur DHCP de VirtualBox.
  • une carte activée en mode "Réseau privé hôte" (vboxnet0), qui me sert à communiquer entre mon PC et la VM.

Pour cette dernière, je préfère avoir une adresse IP fixe, ce qui me permet de monter des architectures multi-serveurs par exemple, sans risquer des conflits d'adresse.

Le paramétrage est différent selon que l'on soit sur une distribution à base RedHat (RHEL, CentOS, Fedora) ou ) base Debian (Debian, Ubuntu).

Paramétrage type Red Hat

Pour ma carte réseau eth1, le paramétrage s'effectue dans le fichier /etc/sysconfig/network-scripts/ifcfg-eth1, de la manière suivante :

DEVICE="eth1"
ONBOOT="yes"
BOOTPROTO="static"
NETMASK="255.255.255.0"
IPADDR="192.168.56.12"
GATEWAY="192.168.56.1"

La signification des paramètres est la suivante :

  • DEVICE : nom de la carte réseau
  • ONBOOT : activation de l'interface au boot de la machine ?
  • BOOTPROTO : type de protocole : DHCP ou static. Dans notre cas c'est bien entendu "static"
  • NETMASK : masque de sous-réseau
  • IPADDR : adresse IP liée à la carte
  • GATEWAY : passerelle utilisée pour communiquer sur le réseau

Pour une interface en dhcp, on aura par contre :

DEVICE="eth1"
ONBOOT="yes"
BOOTPROTO="dhcp"

Paramétrage type Debian

Pour ma carte réseau eth1, le paramétrage s'effectue dans le fichier /etc/network/interfaces (il n'y a qu'un seul fichier pour toutes les interfaces), de la manière suivante :

auto eth1
iface eth1 inet static
  address 192.168.56.20
  network 192.168.56.0
  netmask 255.255.255.0
  gateway 192.168.56.1

Le format est donc sensiblement différent de la configuration sur Red Hat.
La signification des paramètres est la suivante :

  • auto ethX : activation de l'interface ethX au boot de la machine ?
  • iface ethX inet static : définition du type de protocole : DHCP ou static. Dans notre cas c'est bien entendu "static"
  • address : adresse IP liée à la carte
  • network : sous-réseau
  • netmask : masque de sous-réseau
  • gateway : passerelle réseau

Pour une interface en dhcp, on aura par contre :

auto eth0
iface eth0 inet dhcp
Catégorie