Cette section s'applique seulement si une carte réseau doit être configurée.
Si aucune carte réseau ne sera pas utilisée, il n'est pas nécessaire
de créer des fichiers de configuration relatifs aux cartes réseau. Si
c'est le cas, supprimez les liens symboliques network
de tous les répertoires des niveaux
d'exécution (/etc/rc.d/rc*.d
) après
avoir installé les scripts de démarrage de la Section 7.6,
« LFS-Bootscripts-20120901 ».
S'il n'y a qu'une interface réseau à configurer sur le système, cette section est facultative, bien que cela ne fera pas de mal de l'appliquer. Dans de nombreux cas (comme un portable avec deux interfaces l'une sans, l'autre avec fil), l'application de la configuration de cette section est nécessaire.
Avec Udev et les pilotes réseau modulaires, la numérotation des
interfaces réseau n'est pas constante entre deux redémarrages, car
les pilotes sont chargés en parallèle, et du coup, dans un ordre
aléatoire. Par exemple, sur un ordinateur ayant deux cartes réseau
fabriquées par Intel et Realtek, la carte réseau produite par Intel
peut devenir eth0
et celle de Realtek
eth1
. Dans certains cas, après un
redémarrage, les cartes sont renumérotées d'une autre façon. Pour
éviter cela, Udev est fourni avec un script et des règles pour
affecter des noms stables aux cartes réseau basés sur leur adresse
MAC.
Les règles ont été pré-générées dans les instructions de
construction d'udev (systemd) au
chapitre précédent. Regardez le fichier /etc/udev/rules.d/70-persistent-net.rules
pour
trouver les noms affectés à vos périphériques réseaux :
cat /etc/udev/rules.d/70-persistent-net.rules
Dans certains cas comme lorsque des adresses MAC ont été affectées à la main à une carte réseau, ou dans un environnement virtuel tel que Xen, il se peut que le fichier de règles réseau n'ait pas été généré car les adresses ne sont pas affectées de manière cohérente. Dans ce cas, passez simplement à la section suivante.
Le fichier commence par un bloc de commentaire suivi de deux lignes pour chaque NIC. La première ligne de chaque NIC est une description commentée des IDs matériels (IDs de fabricant PCI et de périphérique, si c'est une carte PCI), puis de ses pilotes entre parenthèses, si le pilote peut être trouvé. Ni l'ID du périphérique ni le pilote ne sont utilisés pour déterminer quel nom donner à une interface ; Ces informations sont là pour référence seulement. La seconde ligne est la règle Udev qui correspond à ce NIC et qui lui affecte au final un nom.
Toutes les règles Udev sont constituées de plusieurs mots, séparés d'une virgule et optionnellement d'un espace. Ces clés de règle ainsi qu'une explication de chacune d'entre elles sont les suivantes :
SUBSYSTEM=="net"
- Demande à
Udev d'ignorer les périphériques qui ne sont pas des cartes
réseau ;
ACTION=="add"
- Demande à Udev
d'ignorer cette règle pour un uevent qui n'est pas un ajout
(les uevents "retrait" et "changement" se produisent aussi
mais ils n'ont pas besoin de renommer les interfaces
réseau) ;
DRIVERS=="?*"
- Ceci existe afin
qu'Udev ignore les VLAN ou les sous-interfaces bridge (car
les sous-interfaces n'ont pas de pilotes). Ces
sous-interfaces sont ignorées car le nom qui pourrait leur
être affecté entrerait en conflit avec leur périphériques
parents ;
ATTR{adresse}
- La valeur de
cette clé est l'adresse MAC du NIC ;
ATTR{type}=="1"
- Assure que la
règle ne correspond qu'à l'interface primaire dans le cas de
certains pilotes sans fil, qui créent plusieurs interfaces
virtuelles. Les interfaces secondaires sont ignorées pour la
même raison que le sont les VLAN et les sous-interfaces
bridge : il y aurait en ce cas un conflit de nom ;
KERNEL=="eth*"
- Cette clé a été
ajoutée au générateur de règles d'Udev pour gérer les
machines ayant plusieurs interfaces réseau, toutes ayant la
même adresse MAC (la PS3 en fait partie). Si les interfaces
indépendantes ont des noms de base différents, cette clé
permettra à Udev de leur parler en aparté. Ce n'est
normalement pas nécessaire pour la plupart des utilisateurs
de Linux From Scratch, mais ça ne fait pas de mal ;
NAME
- La valeur de cette clé
est le nom qu'Udev affectera à l'interface.
La valeur de NAME
est la partie
importante. Assurez-vous de connaître quel nom a été affecté à
chacune de vos cartes réseau avant de continuer, et assurez-vous
d'utiliser cette valeur NAME
lorsque
vous créerez les fichiers de configuration ci-dessous.
Les interfaces activées et désactivées par le script réseau
dépendent des fichiers du répertoire /etc/sysconfig/
. Ce répertoire devrait contenir
un fichier par interface à configurer, tel que ifconfig.xyz
, où « xyz » signifie, pour l'administrateur, quelque
chose comme le nom du périphérique (par exemple eth0). Dans ce
fichier, il y a les attributs de cette interface, tels que son ou
ses adresses IP, ses masques de sous-réseau, et ainsi de suite. Il
faut que la fin du nom de fichier soit ifconfig.
La commande suivante crée un fichier modèle pour le périphérique eth0 avec une adresse IP statique :
cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
ONBOOT=yes
IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF
Les valeurs de ces variables doivent être modifiées dans chaque fichier pour correspondre à la bonne configuration.
Si la variable ONBOOT
est configurée à
« yes », le script réseau
configurera le NIC pendant le démarrage du système. S'il est
configuré avec toute autre valeur que « yes », le NIC sera ignoré par le script réseau
et ne sera pas configurée automatiquement. On peut démarrer et
arrêter l'interface à la main avec les commandes ifup et ifdown.
La variable IFACE
définit le nom de
l'interface, par exemple, eth0. Elle est nécessaire dans tous les
fichiers de configuration des périphériques réseaux.
La variable SERVICE
définit la méthode
utilisée pour obtenir l'adresse IP. Les scripts de démarrage LFS
ont un format d'affectation d'IP modulaire. Créer les fichiers
supplémentaires dans le répertoire /lib/services/
autorise d'autres méthodes
d'affectation d'IP. Ceci est habituellement utilisé pour le DHCP,
qui est adressé dans le livre BLFS.
La variable GATEWAY
devrait contenir
l'adresse IP par défaut de la passerelle, si elle existe. Sinon,
mettez entièrement en commentaire la variable.
La variable PREFIX
contient le nombre de
bits utilisés dans le sous-réseau. Chaque octet dans une adresse IP
est exprimé sur huit bits. Si le masque du sous-réseau est
255.255.255.0, alors il est en train d'utiliser les trois premiers
octets (24 bits) pour spécifier le numéro du réseau. Si le masque
réseau est 255.255.255.240, il utiliserait les 28 premiers bits.
Les préfixes plus longs que 24 bits sont habituellement utilisés
par les fournisseurs d'accès Internet ADSL et câble. Dans cet
exemple (PREFIX=24), le masque réseau est 255.255.255.0. Ajustez la
variable PREFIX
en concordance avec
votre sous-réseau spécifique. Si vous ne le mettez pas, PREFIX vaut
24 par défaut.
Pour plus d'informations, voir la page de manuel de ifup.
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 du serveur
DNS, disponibles auprès du FAI ou de l'administrateur système, dans
/etc/resolv.conf
. Créez le fichier en
lançant ce qui suit :
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.
Les adresses des DNS publiques IPV4 de Google sont 8.8.8.8 et 8.8.4.4.