7.2. Configuration générale du réseau

Cette section s'applique seulement si une carte réseau doit être configurée.

7.2.1. Fichier de configuration d'interface réseau

À partir de la version 209, systemd contient un démon de configuration réseau nommé systemd-networkd qui peut être utilisé pour la configuration basique du réseau. De plus, depuis la version 213, la résolution de nom DNS peut être effectuée par systemd-resolved au lieu d'un fichier /etc/resolv.conf statique. Ces deux services sont activés par défaut, et ne devrait absoluement pas être désactivés.

Les fichiers de configuration pour systemd-networkd (et systemd-resolved) peuvent être placés dans /usr/lib/systemd/network ou /etc/systemd/network. Les fichiers dans /etc/systemd/network on une priorité supérieure à ceux dans /usr/lib/systemd/network. Il existe trois types de fichiers de configuration : .link, .netdev et .network. Pour une description détaillée et des exemples de contenu des ces fichiers de configuration, consultez des pages de manuel systemd-link(5), systemd-netdev(5) et systemd-network(5).

[Note]

Note

Udev peut assigner des noms d'interface basés sur les caractéristiques physiques tel que enp2s1. Si vous n'êtes pas sûr de votre nom d'interface, vous pouvez toujours lancer ip link après avoir lancé votre système.

7.2.1.1. Configuration en IP statique

La commande suivante crée un fichier de configuration basique pour la configuration d'une adresse ip statique (en utilisant systemd-networkd et systemd-resolved) :

cat > /etc/systemd/network/10-eth0-static.network << "EOF"
[Match]
Name=eth0

[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
EOF

Plusieurs entrées DNS peuvent être ajoutées si vous avez plus d’un serveur DNS.

7.2.1.2. Configuration du DHCP

La commande suivante crée un fichier de configuration basique pour la configuration de DHCP en IPv4 :

cat > /etc/systemd/network/10-eth0-dhcp.network << "EOF"
[Match]
Name=eth0

[Network]
DHCP=ipv4
EOF

7.2.2. Créer le fichier /etc/resolv.conf

Si le système a besoin d'être connecté à Internet, il aura besoin d'un DNS pour résoudre les noms de domaines Internet en adresse IP, et vice-versa. Ceci se fait en plaçant les adresses IP des serveurs DNS, disponibles auprès du FAI ou de l'administrateur système, dans /etc/resolv.conf.

7.2.2.1. Configuration de systemd-resolved

[Note]

Note

Si vous utilisez un autre moyen pour configurer votre interface réseau (par exemple ppp, network-manager, etc), ou si vous utilisez un résolveur local (par exemple bind, dnsmasq, etc), ou tout autre logiciel générant un fichier /etc/resolv.conf (par exemple resolvconf), le service systemd-resolved ne devrait pas être utilisé.

Lorsque vous utilisez systemd-resolved pour configurer le DNS, celui-ci est responsable de la création du fichier /etc/resolv.conf. Depuis la version 226, le lien symbolique /etc/resolv.conf est créé par systemd en cas de besoin, donc aucune autre configuration n’est nécessaire.

7.2.2.2. Configuration de resolv.conf statique

Si un fichier statique /etc/resolv.conf est désiré, créez-le en lançant la commande suivante :

cat > /etc/resolv.conf << "EOF"
# Début de /etc/resolv.conf

domain <Votre nom de domaine>
nameserver <Adresse IP du DNS primaire>
nameserver <Adresse IP du DNS secondaire>

# Fin de /etc/resolv.conf
EOF

Le paramètre domain peut être omis ou remplacé par un paramètre search. Voir la page de manuel de resolv.conf pour plus de détails.

Remplacez <Adresse IP du DNS> par l'adresse IP du DNS le plus approprié pour la configuration. Il y aura souvent plus d'une entrée (les serveurs secondaires sont utiles en cas d'indisponibilité du premier). Si vous avez seulement besoin ou si vous voulez seulement un serveur DNS, supprimez la seconde ligne nameserver du fichier. L'adresse IP pourrait aussi être un routeur sur le réseau local.

[Note]

Note

Les adresses des DNS publiques de Google sont 8.8.8.8 et 8.8.4.4 en IPv4 et 2001:4860:4860::8888 et 2001:4860:4860::8844 en IPv6.

7.2.3. Configurer le nom d'hôte du système

Pendant le processus de démarrage, le fichier /etc/hostname est utilisé pour donner un nom d'hôte au système.

Créez le fichier /etc/network et saisissez le nom du système en lançant :

echo "<lfs>" > /etc/hostname

<lfs> doit être remplacé par le nom de l'ordinateur. Ne saisissez pas le FQDN ici. Cette information sera saisie dans le fichier /etc/hosts.

7.2.4. Personnaliser le fichier /etc/hosts

Choisissez l'adresse IP, son nom de domaine pleinement qualifié (fully-qualified domain name, ou FQDN) et les alias possibles à déclarer dans le fichier /etc/hosts. La syntaxe est :

IP_address myhost.example.org aliases

Sauf si votre ordinateur doit être visible à partir d'Internet (c-à-d que c'est un domaine enregistré et un bloc d'adresses IP valide—la plupart des utilisateurs n'ont pas ceci), assurez-vous que l'adresse IP se trouve dans la plage d'adresses réservée aux réseaux privés. Les plages valides sont :

Plage d'adresses réseau privés      Préfixe normal
     10.0.0.1 - 10.255.255.254                    8
    172.x.0.1 - 172.x.255.254                    16
  192.168.y.1 - 192.168.y.254                    24

x peut être un nombre compris entre 16 et 31. y peut être un nombre compris entre 0 et 255.

Une adresse IP privée valide pourrait être 192.168.1.1. Un FQDN valide pour cette IP pourrait être lfs.example.org.

Même si vous ne possédez pas de carte réseau, un FQDN valide est toujours requis. Certains programmes en ont besoin pour fonctionner correctement.

Créez le fichier /etc/hosts en lançant :

cat > /etc/hosts << "EOF"
# Begin /etc/hosts (network card version)

127.0.0.1 localhost
::1       localhost
<192.168.0.2> <HOSTNAME.example.org> [alias1] [alias2] ...

# End /etc/hosts (network card version)
EOF

Les valeurs <192.168.0.2> et <HOSTNAME.example.org> doivent être remplacées suivant les contraintes/besoins des utilisateurs (si la machine se voit affecter une adresse IP par un administrateur réseau/système et que cette machine est connectée à un réseau existant). Vous pouvez omettre le ou les noms d'alias optionnels.

Si vous n'avez pas de carte réseau à configurer, créez le fichier /etc/hosts en lançant la commande :

cat > /etc/hosts << "EOF"
# Begin /etc/hosts (no network card version)

127.0.0.1 <HOSTNAME.example.org> <HOSTNAME> localhost
::1       localhost

# End /etc/hosts (no network card version)
EOF

L'adresse ::1 est le corespondant IPv6 de 127.0.0.1 et représente l'interface de boucle IPv6.