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.
vim /etc/network/interfaces
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.
/etc/resolv.conf
Pour le modifier lancez la commande :
vim /etc/resolv.conf
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.
vim /etc/resolv.conf
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.