Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.6. Ajout d'un périphérique réseau

Le processus d'ajout d'un périphérique réseau a considérablement changé avec la migration du noyau 2.4 vers le noyau 2.6 :
  • Le système de fichiers proc n'est plus utilisé pour contrôler ou obtenir le statut des périphériques réseau.
  • Le nouveau système de fichiers sys offre désormais des capacités pour contrôler les périphériques.
  • /sys/class/net/interface_name/device fournit désormais le statut sur les périphériques actifs.
    interface_name est un nom comme eth0 ou eth2 qui est donné à une interface réseau par le pilote de périphériques lorsque le périphérique est configuré.
  • /etc/chandev.conf n'existe plus.
    Le système de fichiers sys contient désormais les informations qui étaient placées dans /etc/chandev.conf.
  • /etc/modules.conf n'existe plus.
    Les spécifications d'alias de l'interface réseau se trouvent désormais dans /etc/modprobe.conf.
Section 22.6.1, « Ajout d'un périphérique qeth » describes in detail how to add a qeth device to an existing instance of Red Hat Enterprise Linux. Section 22.6.2, « Mini guide sur l'ajout de périphériques réseau » is a quick reference for installing other IBM System z network interfaces.

22.6.1. Ajout d'un périphérique qeth

Déterminez tout d'abord si les modules de pilote du périphérique qeth ont été chargés.
# lsmod | grep qeth
qeth                  135240  0
qdio                   45360  2 qeth
ipv6                  303984  13 qeth
ccwgroup               15104  1 qeth
Si la sortie de la commande lsmod montre que les modules ne sont pas chargés, vous devez lancer la commande modprobe pour les charger :
# modprobe qeth
Créez ensuite un périphérique de groupe qeth.
# echo read_device_bus_id,write_device_bus_id,
data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
Due to the length of this command, it has been broken into two lines.
Dans l'exemple qui suit, read_device_bus_id a la valeur 0.0.0600, write_device_bus_id la valeur 0.0.0601 et data_device_bus_id la valeur 0.0.0602. Le périphérique est un NIC virtuel z/VM et l'adresse IP à attribuer à cette interface est 192.168.70.69.
# echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group
Vérifiez ensuite que le périphérique de groupe qeth a été correctement créé :
# ls /sys/bus/ccwgroup/drivers/qeth
0.0.0600  0.0.09a0  group  notifier_register
Vous pouvez également ajouter un nom de port. Vous devez tout d'abord vérifier si un nom de port est requis.
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
no portname required
Cette réponse indique que vous n'avez pas à fournir de nom de port.
Pour ajouter un nom de port, vérifiez que les périphériques sont éteints, puis lancez la commande suivante :

Note

Les périphériques doivent être éteints lorsque vous ajoutez un nom de port.
# echo portname > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
Ramenez ensuite les périphériques en ligne :
# echo 1 /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
Puis vérifiez l'état du périphérique :
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online1
A return value of "1" indicates that the device is online, while a return value '0' indicates that the device is offline.
Vérifiez que le nom de l'interface a été attribué au périphérique :
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name
eth1
Pour changer la valeur de if_name, utilisez la commande suivante :
# echo new_if_name > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name
Vous pouvez également définir d'autres paramètres et fonctions, selon la manière dont vous configurez votre système et les fonctions dont vous avez besoin.
  • add_hhlen
  • broadcast_mode
  • buffer_count
  • canonical_macaddr
  • card_type
  • checksumming
  • chpid
  • detach_state
  • fake_broadcast
  • fake_ll
  • ipa_takeover
  • portno
  • priority_queueing
  • recover
  • route4
  • rxip
  • state
  • ungroup
  • vipa
Pour de plus amples informations sur le fonctionnement de ces fonctions, consultez le document Device Drivers, Features, and Commands - SC33-8289-02 à l'adresse suivante : http://www-128.ibm.com/developerworks/linux/linux390/october2005_documentation.html#3
Vous devez maintenant créer le fichier de configuration pour votre nouvelle interface. Les fichiers de configuration des interfaces réseau se trouvent dans /etc/sysconfig/network-scripts/.
Les fichiers de configuration réseau utilisent la convention de nommage ifcfg-device, où device correspond à la valeur trouvée dans le fichier if_name du périphérique de groupe qeth créé auparavant. eth1 est la valeur dans notre exemple.
S'il existe déjà un fichier de configuration défini pour un autre périphérique du même type, la solution la plus simple est de le copier sous le nouveau nom.
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth1
Si vous ne possédez pas de périphérique similaire déjà défini, vous devez en créer un. Utilisez l'exemple de ifcfg-eth0 comme modèle.
/etc/sysconfig/network-scripts/ifcfg-eth0
# IBM QETH
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:06:29:FB:5F:F1
IPADDR=9.12.20.136
NETMASK=255.255.255.0
ONBOOT=yes
NETTYPE=qeth
SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2
TYPE=Ethernet
Éditez le nouveau fichier ifcfg-eth1.
Supprimez la ligne HWADDR pour le moment.
Modifiez l'instruction DEVICE afin de refléter le contenu du fichier if_name de votre ccwgroup.
Modifiez l'instruction IPADDR afin de refléter l'adresse IP de votre nouvelle interface.
Modifiez l'instruction NETMASK si nécessaire.
Si vous souhaitez que votre nouvelle interface soit activée au démarrage, assurez-vous que ONBOOT est réglé sur yes.
Assurez-vous que l'instruction SUBCHANNELS correspond aux adresses matérielles de votre périphérique qeth.
/etc/sysconfig/network-scripts/ifcfg-eth1
# IBM QETH
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.70.87
NETMASK=255.255.255.0
ONBOOT=yes
NETTYPE=qeth
SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602
TYPE=Ethernet
Un périphérique qeth nécessite une définition d'alias dans /etc/modprobe.conf. Éditez ce fichier et ajoutez un alias pour votre interface.
/etc/modprobe.conf
alias eth0 qeth
alias eth1 qeth
options dasd_mod dasd=0.0.0100,0.0.4b19
Vous pouvez maintenant démarrer la nouvelle interface :
# ifup eth1
Vérifiez le statut de l'interface :
# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 02:00:00:00:00:01
          inet addr:192.168.70.87  Bcast:192.168.70.255  Mask:255.255.255.0
          inet6 addr: fe80::ff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:23 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:644 (644.0 b)  TX bytes:264 (264.0 b)
Notez le champ HWaddr dans la première ligne de la sortie de la commande ifconfig. La valeur après doit être ajoutée au fichier ifcfg-eth1. Ajoutez une ligne comme la suivante dans ce fichier :
HWADDR=02:00:00:00:00:01
Maintenant, le fichier ifcfg-eth1 ressemble à l'exemple suivant :
# IBM QETH
DEVICE=eth1
HWADDR=02:00:00:00:00:01
BOOTPROTO=static
IPADDR=192.168.70.69
NETMASK=255.255.255.0
ONBOOT=yes
NETTYPE=qeth
SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602
TYPE=Ethernet
Vérifiez le routage pour la nouvelle interface :
# route
Kernel IP routing table
Destination     Gateway         Genmask        Flags Metric Ref  Use Iface
192.168.70.0    *               255.255.255.0  U     0      0      0 eth1
9.12.20.0       *               255.255.255.0  U     0      0      0 eth0
169.254.0.0     *               255.255.0.0    U     0      0      0 eth1
default         pdlrouter-if5.p 0.0.0.0        UG    0      0      0 eth0
Vérifiez vos modifications a l'aide de la commande ping pour envoyer un ping vers la passerelle :
# ping -c 1 192.168.70.8
PING 192.168.70.8 (192.168.70.8) 56(84) bytes of data.
64 bytes from 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 ms
Si les informations de route par défaut ont changées, vous devez également mettre à jour /etc/sysconfig/network.