Cette section s'applique seulement si une carte réseau doit être configurée.
Si une carte réseau ne sera pas utilisée, il n'y a aucun besoin 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
).
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 une interface sans fil et filaire), l'application de la configuration de cette section est nécessaire.
Avec Udev et les pilotes réseau modulaires, la numérotation n'est
pas constante au fur et à mesure des redémarrages par défaut, 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
devient 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.
Pré-générez les règles pour vous assurer que les mêmes noms seront affectés aux mêmes périphériques à chaque démarrage, y compris le premier :
for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done
Maintenant, examinez le fichier /etc/udev/rules.d/70-persistent-net.rules
, pour
trouver quel nom a été donné à quel périphérique réseau :
cat /etc/udev/rules.d/70-persistent-net.rules
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 montrant ses IDs matériels (comme ses IDs de fabricant PCI et de périphérique, si c'est une carte PCI), puis avec 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 ne sont qu'en tant que référence. La deuxième ligne est la règle Udev correspondant à ce NIC et qui lui affecte au final un nom..
Toutes les règles Udev sont constituées de plusieurs mots, séparés par une virgule ou optionnellement un espace. Ces clés de règle ainsi qu'une explication de chacune d'entre elles sont les suivantes :
SUBSYSTEM=="net"
- Ceci dit à
Udev d'ignorer les périphériques qui ne sont pas des cartes
réseau.
ACTION=="add"
- Ceci dit à 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 sautées car le nom qui pourrait leur
être affecté entrerait en conflit avec leur périphériques
parents.
ATTR{address}
- La valeur de
cette clé est l'adresse MAC du NIC.
ATTR{type}=="1"
- Ceci 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
sauté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 noms.
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 aisurez-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 network
dépendent des fichiers compris dans /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/ses
adresse(s) 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 :
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 network
configurera la carte réseau (Network Interface Card, NIC) pendant le
démarrage du système. S'il est configuré avec toute autre valeur
que « yes », l'interface
réseau sera ignorée par le script network et 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 une adresse IP. Les scripts de démarrage LFS
ont un format d'affectation IP modulaire. Créer les fichier
supplémentaires dans le répertoire /lib/services/
autorise d'autres méthodes
d'affectation d'IP. Ceci est habituellement utilisé pour le DHCP
(Dynamic Host
Configuration Protocol, NdT :protocole de
configuration de l'hôte dynamique), 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
a besoin de contenir
le nombre de bits utilisé dans le sous-réseau. Chaque octet dans
une adresse IP est sur huit bits. Si le masque réseau 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 réseau. Si
le masque réseau est 255.255.255.240, il utiliserait les 128
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 le système a besoin d'être connecté à Internet, il aura besoin
de la résolution de noms proposée par le DNS (Domain Name Service)
pour résoudre les noms de domaines Internet, 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"
# Begin /etc/resolv.conf
domain <Votre nom de domaine>
nameserver <Adresse IP du DNS primaire>
nameserver <Adresse IP du DNS secodaire>
# End /etc/resolv.conf
EOF
Le paramètre domain
peut être omis ou
remplacé par un paramètre search
. Voir
la page de man de resolv.conf pour plus de détails.
Remplacez <adresse IP du
DNS>
avec l'adresse IP du DNS le plus approprié pour
la configuration. Il y aura souvent plus d'une entrée (les conseils
recommandent des serveurs DNS disposant de capacité de prise en
charge. Si vous avez seulement besoin ou si vous voulez uniquement
le serveur DNS, supprimez la seconde ligne serveur de noms à partir du fichier.
L'adresse IP pourrait aussi être un routeur sur le réseau local.
Les adresses de DNS publiques IPV4 de Google sont 8.8.8.8 et 8.8.4.4.