Cette section s'applique seulement si une carte réseau doit être configurée.
À 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 prise en charge par
systemd-resolved au
lieu d'un fichier /etc/resolv.conf
statique. Ces deux services sont activés par défaut.
Si vous n'utiliserez pas systemd-networkd pour la configuration du réseau (par exemple si le système n'est pas connecté à un réseau ou que vous voulez utiliser un autre utilitaire comme NetworkManager pour la configuration du réseau), désactivez un service pour éviter un message d'erreur au démarrage :
systemctl disable systemd-networkd-wait-online
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
ont 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 de ces fichiers de
configuration, consultez des pages de manuel systemd.link(5),
systemd.netdev(5)
et systemd.network(5).
Udev assigne normalement des noms d'interface basés sur les caractéristiques physiques du système comme enp2s1. Si vous n'êtes pas sûr de votre nom d'interface, vous pouvez toujours lancer ip link après avoir démarré votre système.
Les noms d'interface dépendent de l'implémentation et de la configuration du démon udev exécuté sur le système. Le démon udev de LFS (systemd-udevd, installé au Section 8.75, « Systemd-255 ») ne sera pas exécuté à moins de démarrer le système LFS. Il n'est donc pas fiable de déterminer les noms d'interface utilisés dans le système LFS en exécutant ces commandes sur la distribution hôte, même dans l'environnement chroot.
Pour la plupart des systèmes, il n'y a qu'une interface réseau pour chaque type de connexion. Par exemple, le nom classique pour une connexion filaire est eth0. Une connexion sans fil aura souvant pour nom wifi0 ou wlan0.
Si vous préférez utiliser les noms d'interfaces réseau classiques ou personnalisés, il y a trois manières de procéder :
Masquez le fichier .link
d'udev pour la politique par défaut :
ln -s /dev/null /etc/systemd/network/99-default.link
Créez une convention de nommage manuelle, par exemple en
nommant les interface comme internet0
, dmz0
ou lan0
.
Pour ce faire, créez des fichiers .link
dans /etc/systemd/network/, qui
choisissent un nom explicite ou une meilleure convention de
nommage pour vos interfaces. Par exemple :
cat > /etc/systemd/network/10-ether0.link << "EOF"
[Match]
# Changez l'adresse MAC comme il faut pour votre périphérique réseau
MACAddress=12:34:45:78:90:AB
[Link]
Name=ether0
EOF
Voir systemd.link(5) pour plus d'informations.
Dans /boot/grub/grub.cfg, passez l'option net.ifnames=0
sur la ligne de commande du
noyau.
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-eth-static.network << "EOF"
[Match]
Name=<network-device-name>
[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
Domains=<Your Domain Name>
EOF
Vous pouvez ajouter plusieurs entrées DNS si vous avez plus d’un
serveur DNS. Ne rajoutez pas d’entrée DNS ou Domains si vous
voulez utiliser un fichier /etc/resolv.conf
statique.
Si le système doit se connecter à Internet, il devra résoudre les
noms de domaines Internet (DNS) 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
.
Si vous utilisez un moyen incompatible pour configurer vos
interfaces réseaux (par exemple ppp, etc), ou si vous utilisez
un résolveur local (par exemple bind, dnsmasq, unbound, 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é.
Pour désactiver systemd-resolved, exécutez la commande suivante :
systemctl disable systemd-resolved
Lorsque vous utilisez systemd-resolved pour la
configuration DNS, il créera le fichier /run/systemd/resolve/stub-resolve.conf
. Et, si
/etc/resolv.conf
n'existe pas, il
sera créé par systemd-resolved en tant que
lien symbolique vers /run/systemd/resolve/stub-resolv.conf
. Il est
donc inutile de créer un fichier /etc/resolv.conf
manuellement.
Si un fichier statique /etc/resolv.conf
est désiré, créez-le en
exécutant 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 votre 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. Une autre
possibilité est d'utiliser le service DNS public de Google avec
les adresse IP suivantes comme serveurs de noms.
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. Autrement, vous pouvez aussi utiliser les résolveurs de
FDN : 80.67.169.12
et 80.67.169.40
en IPv4
et 2001:910:800::12
et
2001:910:800::40
en
IPv6.
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
(Fully
Qualified Domain Name) ici. Cette information sera
saisie dans le fichier /etc/hosts
.
Choisissez un nom de domaine pleinement qualifié (fully-qualified domain
name, ou FQDN) et les alias possibles à déclarer dans
le fichier /etc/hosts
. Si vous
utilisez une adresse IP statique, vous devrez décider de celle-ci.
La syntaxe du fichier hosts 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—ce que la plupart des utilisateurs n'ont pas), 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.
Si l'ordinateur doit être visible sur Internet, un FQDN valide peut être le nom de domaine lui-même ou une chaine composée d'un préfixe (souvent le nom d'hôte) et du nom de domaine séparés du charactère « . ». Ensuite, vous devez contacter votre fournisseur de nom de domaine pour pouvoir résoudre le FQDN vers votre adresse IP publique.
Même si l'ordinateur n'est pas visible sur Internet, un FQDN est
toujours requis par certains programmes, comme les MTA, pour
fonctionner correctement. Un FQDN spécial, localhost.localdomain
, peut être utilisé pour
cela.
Créez le fichier /etc/hosts
avec la
commande suivante :
cat > /etc/hosts << "EOF"
# Début de /etc/hosts
<192.168.0.2>
<FQDN>
[alias1] [alias2] ...
::1 ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# Fin de /etc/hosts
EOF
Les valeurs <192.168.0.2>
et <FQDN>
doivent être
remplacées suivant les contraintes et les besoins spécifiques (si
la machine se voit affecter une adresse IP par un administrateur
réseau/système et qu'elle est connectée à un réseau existant). Vous
pouvez omettre le ou les noms d'alias facultatifs, ainsi que la
ligne <192.168.0.2
si
vous utilisez une connexion configurée avec DHCP ou
l'autoconfiguration IPv6, ou si vous utilisez le FQDN localhost.localdomain
.
Le fichier /etc/hostname
ne contient
pas d'entrées pour localhost
,
localhost.localdomain
ou le nom d'hôte
(sans domain) car ils sont gérés par le modules NSS myhostname
. Consultez la page de manuel
nss-myhostname(8)
pour plus de détails.
L'adresse ::1 est l'équivalent en IPv6 de 127.0.0.1 et représente l'interface de rebouclage IPv6.