Changer son adresse IP dynamique en adresse IP fixe sous Debian 11

You are currently viewing Changer son adresse IP dynamique en adresse IP fixe sous Debian 11

Changer son adresse IP dynamique en adresse IP fixe sous Debian 11

  • Auteur/autrice de la publication :
  • Post category:Articles / Linux / Tutoriels
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :26 octobre 2023
  • Temps de lecture :18 min de lecture

Nous allons changer une adresse IP dynamique (attribué via DHCP : Dynamic Host Configuration Protocol) en adresse IP fixe afin que celle-ci ne change plus JAMAIS (c’est une bonne pratique à adopter pour serveurs qui se respectent).

On commence par se connecter directement à sa machine Linux avec son identifiant configuré lors de l’installation de l’OS (Operating System ou Système d’exploitation).

 

Debian GNU Linux 11 webserver1 tty1

webserver1 login: _
Mot de passe : 

Une fois connecté on vérifie son adresse IP avec la commande “ip a”

monidentifiant@webserver1:~$ ip a 

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: enp0s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 16:7b:df:43:d3:ad brd ff:ff:ff:ff:ff:ff

    inet 10.60.136.128/21 brd 10.60.143.255 scope global dynamic enp0s1

       valid_lft 2072sec preferred_lft 2072sec

    inet6 fe80::147b:dfff:fe43:d3ad/64 scope link 

       valid_lft forever preferred_lft forever

On voit que notre adresse IP qui a été automatiquement attribuée est le 10.60.136.128.

Si on veut se connecter en SSH alors…
On lance un terminal sur sa machine locale et on se connecte en SSH en lançant la commande ci-dessous : 
ssh%20monidentifiant@10.60.136.128
L’adresse IP de la commande ci-dessus est celle de votre machine distante.

mickaeldelmotte@MikeBook-Air ~ % ssh monidentifiant@10.60.136.128

The authenticity of host ‘10.60.136.128 (10.60.136.128)’ can’t be established.

ED25519 key fingerprint is SHA256:TutWHO/pGOvnEEE+kgBAJxFy7XjLzNMWgoX0lIH/xBY.

This host key is known by the following other names/addresses:

    ~/.ssh/known_hosts:13: 192.168.0.43

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added ‘10.60.136.128’ (ED25519) to the list of known hosts.

monidentifiant@10.60.136.128’s password: 

Linux haproxy1 5.10.0-23-arm64 #1 SMP Debian 5.10.179-1 (2023-05-12) aarch64

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

Last login: Tue Jun  6 10:33:21 2023

monidentifiant@webserver1:~

 

Une fois connecté en SSH. On passe en mode superuser (“root”) avec la commande “su -“. 

Et on va configurer une adresse IP fixe en modifiant le fichier /etc/network/interfaces
(idem si directement connecté à la VM en “root”)

On lance la commande :
vim /etc/network/interfaces

monidentifiant@haproxy1:~$ su –

Mot de passe : 

root@webserver1:~# 

root@webserver1:~#  vim /etc/network/interfaces

 

Info : si VIM n’est pas installé, on lance la commande “apt install vim”.
On peut également utiliser Nano qui devrait déjà être installer en lançant la commande suivante : 
nano /etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

source /etc/network/interfaces.d/*

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

allow-hotplug enp0s1

iface enp0s1 inet dhcp

# This is an autoconfigured IPv6 interface

iface enp0s1 inet6 auto

~
                                                                                                                                    

 

“/etc/network/interfaces” 14L, 384B                                                                                         1,1          Tout

Le fichier s’ouvre dans VIM. Passez en mode insertion en tapant la touche “i”.
Repérer “dhcp” et le changez par “static”
Ensuite ajoutez les 3 lignes suivantes :
 address 192.168.0.201
 netmask 255.255.255.0
 gateway 192.168.0.1

Vous devriez avoir le fichier tel que ci-dessous.
Info : Pour trouver votre gateway sur un mac, tapez dans Terminal la commande suivante :
route get default

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

source /etc/network/interfaces.d/*

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

allow-hotplug enp0s1

iface enp0s1 inet static
 address 192.168.0.201
 netmask 255.255.255.0
 gateway 
192.168.0.1

 

# This is an autoconfigured IPv6 interface

iface enp0s1 inet6 auto

~                                                                                                                                             

~                                                                                                                                             

 

“/etc/network/interfaces” 14L, 384B                                                                                         1,1          Tout

Une fois le fichier modifié, tapez sur la touche Escape “esc” puis sur les touches :wq (w pour write, et q pour quit). Afin d’appliquer les changement nous allons redémarrer la machine (plus rapide que désactiver et réactiver la carte réseau).
On tape la commande suivante : 
reboot

 

root@webserver1:~# reboot

La machine redémarre et on se connecte directement sur la VM en “root” en tapant simplement la commande :
root

Puis on renseigne son mot de passe.

 


root@webserver1:~# root
Password: 

 

1èr test - on vérifie que l'adresse IP fixe est opérationnelle

On vérifie la nouvelle adresse IP fixe est bien configurée avec la commande suivante : 
ip a

root@webserver1:~# ip a

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: enp0s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether ce:5f:81:d1:82:92 brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.201/24 brd 192.168.0.255 scope global enp0s1

       valid_lft forever preferred_lft forever

    inet6 fe80::cc5f:81ff:fed1:8292/64 scope link 

       valid_lft forever preferred_lft forever

root@webserver1:~# 

 

On voit que notre adresse IP est bien 192.168.0.201 (pour info on configure ici la VM3).

On doit désormais pouvoir se connecter à notre VM en SSH (on le fera plus tard).

On passe à l’étape suivante si le test est OK.

2ème étape - on vérifie que la machine est accessible via le réseau local

2 – on “ping” l’adresse IP de la VM à partir de sa machine locale (en l’occurence, mon IP locale est le 192.168.0.22 et je vais pinger ma VM avec l’IP fixe 192.168.0.201).

mickaeldelmotte@MikeBook-Air ~ % ping 192.168.0.201

64 bytes from 192.168.0.201: icmp_seq=1 ttl=64 time=0.337 ms

64 bytes from 192.168.0.201: icmp_seq=2 ttl=64 time=1.06 ms

64 bytes from 192.168.0.201: icmp_seq=3 ttl=64 time=1.25 ms

64 bytes from 192.168.0.201: icmp_seq=4 ttl=64 time=0.739 ms

— 192.168.0.201 ping statistics —

4 packets transmitted, 4 received, 0% packet loss, time 3021ms

rtt min/avg/max/mdev = 0.337/0.846/1.245/0.345 ms

 

On voit que la machine qui porte l’IP 192.168.0.201 répond positivement. 100% des paquets envoyés ont été reçus.

3éme test - on vérifie que la machine communique avec l'extérieur

 

On vérifie que la VM puisse accéder à Internet (on va vérifier par exemple qu’on peut pinger le DNS 8.8.8.8 de Google ou le DNS 1.1.1.1 de CloudFlare) ainsi que la gateway que nous avons renseigné (ici 192.168.0.1).

On lance la commande :
ping 8.8.8.8

root@webserver1:~# ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=96.1 ms

64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=114 ms

64 bytes from 8.8.8.8: icmp_seq=3 ttl=115 time=24.3 ms

64 bytes from 8.8.8.8: icmp_seq=4 ttl=115 time=23.4 ms

— 8.8.8.8 ping statistics —

4 packets transmitted, 4 received, 0% packet loss, time 3013ms

rtt min/avg/max/mdev = 23.423/64.355/113.622/40.985 ms

root@webserver1:~# 

 

On voit que la machine qui porte l’IP 8.8.8.8 (le DNS Google) répond positivement et que 100% des paquets envoyés ont été reçus.

4ème test - on vérifie la résolution des noms de domaines

4 – on “ping” un nom de domaine pour vérifier la résolution DNS. Par exemple google.com

Avant de réaliser le test, nous allons d’abord éditer le fichier “resolv.conf” qui contient la configuration des “nameserver” (serveur de noms).

On édite le fichier avec la commande suivante : 
nano /etc/resolv.conf

root@webserver1:~# nano /etc/resolv.conf

On ajoute les “nameserver” (ce sont les noms des serveurs de noms ou serveurs DNS : Domain Name System) dans l’ordre indiqué ci-dessous. Le 1er serveur qui sera pris en compte sera celui de la 1ère ligne (8.8.8.8), le 2ème celui de la 2ème ligne. 

On ajoute l’IP de son serveur de résolution DNS du réseau local. Ici pour ce tutorial 192.160.0.1

J’ajoute également le serveur de nom de Google (8.8.8.8) afin de m’assurer que la résolution DNS fonctionne.

nameserver 8.8.8.8

nameserver 192.168.0.1

~                                                                               

~                                                                        

~                                                                               

                                                              2,20         Tout

On ping le domaine Google.com avec la commande suivante :
ping google.com

root@webserver1:~# ping google.com

PING google.com (142.250.75.238) 56(84) bytes of data.

64 bytes from par10s41-in-f14.1e100.net (142.250.75.238): icmp_seq=1 ttl=115 time=17.2 ms

64 bytes from par10s41-in-f14.1e100.net (142.250.75.238): icmp_seq=2 ttl=115 time=26.2 ms

64 bytes from par10s41-in-f14.1e100.net (142.250.75.238): icmp_seq=3 ttl=115 time=24.0 ms

64 bytes from par10s41-in-f14.1e100.net (142.250.75.238): icmp_seq=4 ttl=115 time=17.0 ms

— google.com ping statistics —

4 packets transmitted, 4 received, 0% packet loss, time 3010ms

rtt min/avg/max/mdev = 17.010/21.097/26.182/4.054 ms

root@webserver1:~# 

 

Le ping du nom de domaine google.com renvoi des réponses. Cela signifie que la résolution des noms fonctionne.

Votre machine doit impérativement valider ces 4 tests avant de pouvoir installer les packages nécessaires. En l’occurence Apache 2, Maria DB, ou HAproxy. L’installation de WordPress sera abordée dans un autre tutorial.

Tous les tests on concluants ?, Alors Bravo !!!

Vous venez de configurer la partie réseau de votre machine. 
On retiendra que les 3 éléments essentiels à configurer sur une machine sont : 
– l’adresse IP fixe de votre machine
– la passerelle (ou gateway)
– le serveur de noms (pour la résolution DNS)

Répétez les mêmes étapes pour configurer toutes les machines nécessaires de votre tutorial.

Laisser un commentaire