Ressources informatiques

Ressources informatiques

Ressources informatiques

Configurer une adresse IP

Adresse IP dynamique Adresse IP statique : dhcpcd Adresse IP statique : /etc/network/interfaces
Visualiser la configuration IP Tester

Adresse IP dynamique

Consulter le fichier de configuration

C'est la configuration standard avec le fichier /etc/network/interfaces d'origine :

pi@raspberrypi:~ $ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

Pour que notre Raspberry Pi obtienne une adresse IP, il faut donc un serveur DHCP actif. Celui de votre BOX convient parfaitement, ou vous pouvez également Configurer un serveur DHCP.

Déterminer l'adresse IP obtenue

pi@raspberrypi:~ $ ip a
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.42/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
...

Remarque 1 : on sait à présent que l'interface Ethernet de notre RPi se nomme eth0
Remarque 2 : si vous obtenez une adresse IP commençant par 169.254, ou si la ligne commençant par inet est absente, c'est qu'aucun serveur DHCP ne vous a alloué une adresse IP. Exemple :

pi@raspberrypi:~ $ ip a | grep -A2 eth0:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 169.254.170.88/16 brd 169.254.255.255 scope global noprefixroute eth0
pi@raspberrypi:~ $ ip a | grep -A2 eth0:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff

Obtenir des informations sur le bail alloué

pi@raspberrypi:~ $ dhcpcd -U eth0
broadcast_address='192.168.1.255'
dhcp_lease_time='86400'
dhcp_message_type='5'
dhcp_rebinding_time='75600'
dhcp_renewal_time='43200'
dhcp_server_identifier='192.168.1.254'
domain_name='lan'
domain_name_servers='192.168.1.254'
host_name='raspberrypi'
interface_mtu='1500'
ip_address='192.168.1.42'
network_number='192.168.1.0'
routers='192.168.1.254'
subnet_cidr='24'
subnet_mask='255.255.255.0'

Effectuer une nouvelle demande d'adresse IP, avec recherche d'un nouveau serveur DHCP

pi@raspberrypi:~ $ sudo dhcpcd -k eth0
pi@raspberrypi:~ $ sudo dhcpcd -n eth0

Adresse IP statique

En utilisant dhcpcd

Pour configurer le Raspberry Pi en serveur, il faut lui attribuer une adresse IP statique. Contrairement à une distribution Debian, le Raspberry Pi OS recommande de modifier le ficher /etc/dhcpcd.conf géré par le processus dhcpcd.

Sauvegarder la configuration initiale

Les lignes commençant par # sont des commentaires qui constituent également la documentation de /etc/dhcpcd.conf. Il est donc utile de sauvegarder le fichier configuration d'origine avec les commentaires puis d'utiliser un fichier sans commentaires pour avoir une meilleure vision de la configuration effectuée.

pi@raspberrypi:~ $ sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.origin
pi@raspberrypi:~ $ sudo grep -E -v '^(#|$)' /etc/dhcpcd.conf.origin > dhcpcd.conf.originSansCommentaires
pi@raspberrypi:~ $ sudo cp dhcpcd.conf.originSansCommentaires /etc/dhcpcd.conf
Modifier le fichier /etc/dhcpcd.conf

Exemple : l'interface eth0 est configurée de la façon suivante : adresse IP : 192.168.1.11, masque : 255.255.255.0, passerelle (gateway) : 192.168.1.254, serveur DNS : 192.168.1.254.
Modifiez le fichier /etc/dhcpcd.conf à l'aide de l'éditeur de votre choix : nano, ...

pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf

Résultat de la modification :

pi@raspberrypi:~ $ cat /etc/dhcpcd.conf
hostname
clientid
persistent
option rapid_commit
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
option ntp_servers
option interface_mtu
require dhcp_server_identifier
slaac private
interface eth0
static ip_address=192.168.1.11/24
static routers=192.168.1.254
static domain_name_servers=192.168.1.254
static domain_name=mazone.lan

Redémarrer le Raspberry Pi
pi@raspberrypi:~ $ sudo shutdown -r now
Valider la configuration
pi@raspberrypi:~ $ ip a | grep  -A2 eth0:
2: eth0: <ROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:11:22:33 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute eth0

En utilisant /etc/network/interfaces (façon Debian)

Sauvegarder la configuration initiale

Il est conseillé de copier le fichier /etc/network/interfaces d'origine.

pi@raspberrypi:~ $ sudo cp /etc/network/interfaces /etc/network/interfaces.origin
Modifier le fichier /etc/network/interfaces

Exemple : l'interface filaire eth0 est configurée de la façon suivante : adresse IP : 192.168.1.11, masque : 255.255.255.0, passerelle (gateway) : 192.168.1.254, serveur DNS : 192.168.1.254.
Modifiez le fichier /etc/network/interfaces à l'aide de l'éditeur de votre choix : nano, ...

pi@raspberrypi:~ $ sudo nano /etc/network/interfaces

Résultat de la modification :

pi@raspberrypi:~ $ cat /etc/network/interfaces
...
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
...
# interface eth0
auto eth0
iface eth0 inet static
address 192.168.1.11/24
gateway 192.168.1.254
dns-nameservers 192.168.1.254
Désactiver le processus dhcpcd
pi@raspberrypi:~ $ sudo systemctl disable dhcpcd
pi@raspberrypi:~ $ sudo systemctl stop dhcpcd

Remarque : si le processus dhcpcd ne s'arrête pas, il sera nécessaire de redémarrer le RPi.

Redémarrer le Raspberry Pi
pi@raspberrypi:~ $ sudo shutdown -r now
Valider la configuration
pi@raspberrypi:~ $ ip a | grep -A2 eth0:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet  192.168.1.11/24 brd 192.168.1.255 scope global eth0

La validation de la configuration client DNS et de la passerelle est indiquée au chapitre visualiser la configuration IP

Visualiser la configuration IP

L'adresse IP et le masque

pi@raspberrypi:~ $ ip a | grep  -A2 eth0:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet  192.168.1.11/24 brd 192.168.1.255 scope global eth0

La passerelle

pi@raspberrypi:~ $ ip route
default via 192.168.1.254 dev eth0 onlink
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.11

La configuration client DNS

pi@raspberrypi:~ $ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 192.168.1.254

Tester

Tester la configuration IP, en effectuant la commande ping vers la passerelle

pi@raspberrypi:~ $ ping -c1 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=1.37 ms

Tester la résolution de noms (client DNS)

root@raspberrypi:~# ping  -c 1 -W 1 www.ressourcesinformatiques.com
PING ressourcesinformatiques.com (213.186.33.16) 56(84) bytes of data

On constate que, même si l'on obtient pas nécessairement de réponse au ping car le serveur peut avoir désactivé cette réponse, on obtient l'adresse IP 213.186.33.16 correspondant au nom www.ressourcesinformatiques.com

pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install dnsutils
root@raspberrypi:~# dig ressourcesinformatiques.com
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63071
...
ressourcesinformatiques.com. 1772 IN	A	213.186.33.16
...
;; SERVER: 192.168.1.254#53(192.168.1.254)

Le serveur DNS d'adresse IP 192.168.1.254 a bien répondu à notre requête en nous fournissant l'adresse IP de ressourcesinformatiques.com.

root@raspberrypi:~# nslookup ressourcesinformatiques.com
Server:		192.168.1.254
Address:	192.168.1.254#53

Non-authoritative answer:
Name:	ressourcesinformatiques.com
Address: 213.186.33.16

Le serveur DNS d'adresse IP 192.168.1.254 a bien répondu à notre requête en nous fournissant l'adresse IP de ressourcesinformatiques.com.