Interface logique Si les pilotes périphériques de blocs et de caractères sont m
Interface logique Si les pilotes périphériques de blocs et de caractères sont montés en tant que fichiers dans le dossier /dev, il n’en est pas de même pour les interfaces réseau. Vous accédez à ces derniers par le biais d’un nom logique tel que eth0, eth1. Eth pour Ethernet et la valeur numérique 0 pour la première carte, 1 pour la seconde carte et ainsi de suite... Selon la distribution, une interface sans fil peut avoir comme nom logique eth0 ou bien wlan0. Wlan pour wireless LAN. Cette obtention de nom est réalisée par le gestionnaire de périphériques udev. Pour s’assurer que l’interface ait le même nom de façon persistante à chaque démarrage, une entrée est écrite dans le fichier 70-persistent-net.rules situé dans le dossier /etc/udev/rules.d. Ce fichier est généré automatiquement par le script /lib/udev/write_net_rules. Voici son contenu : # cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:/sys/devices/pci0000:00/0000:00:03.0 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*" ATTR{address}=="08:00:27:d4:90:6e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:/sys/devices/pci0000:00/0000:00:08.0 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:bd:db:5e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" Signification des principales directives : Directive Description SUBSYSTEM=="net" Le gestionnaire de périphériques udev ignore les périphériques qui ne sont pas des cartes réseau. DRIVERS=="?*" Ignore les VLAN et les interfaces virtuelles. ATTR{address} Spécifie l’adresse MAC de la carte réseau. Directive Description ATTR{dev_id} Spécifie l’identifiant du périphérique. ATTR{type}=="1" S’il existe plusieurs interfaces virtuelles, les paramètres sont uniquement assignés à l’interface primaire. KERNEL=="eth*" Nom du périphérique donné par le noyau. NAME Spécifie le nom de l’interface à assigner. La commande udevadm info affiche les informations d’un périphérique depuis la base de données udev. Syntaxe udevadm info <options> Options nécessaires : Option Description courte longue -a --attribute-walk Affiche les propriétés de sysfs concernant le périphérique spécifié. -p --path Spécifie le périphérique à afficher dans sysfs. Exemple # udevadm info -a -p /sys/class/net/eth0/ Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device ’/devices/pci0000:00/0000:00:03.0/net/eth0’: KERNEL=="eth0" SUBSYSTEM=="net" DRIVER=="" ATTR{addr_assign_type}=="0" ATTR{addr_len}=="6" ATTR{dev_id}=="0x0" ATTR{ifalias}=="" ATTR{iflink}=="2" ATTR{ifindex}=="2" ATTR{type}=="1" ATTR{link_mode}=="0" ATTR{address}=="08:00:27:1a:1a:48" ATTR{broadcast}=="ff:ff:ff:ff:ff:ff" ATTR{carrier}=="1" ATTR{speed}=="1000" ATTR{duplex}=="full" ATTR{dormant}=="0" ATTR{operstate}=="up" ATTR{mtu}=="1500" ATTR{flags}=="0x1003" ATTR{tx_queue_len}=="1000" ATTR{netdev_group}=="0" looking at parent device ’/devices/pci0000:00/0000:00:03.0’: KERNELS=="0000:00:03.0" SUBSYSTEMS=="pci" DRIVERS=="e1000" ATTRS{vendor}=="0x8086" ATTRS{device}=="0x100e" ATTRS{subsystem_vendor}=="0x8086" ATTRS{subsystem_device}=="0x001e" ATTRS{class}=="0x020000" ATTRS{irq}=="19" ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000, 00000000,000000,00000000,00000000,00000000,00000000,00000000, 00000000,00000000,00000000,00000003" ATTRS{local_cpulist}=="0-1" ATTRS{numa_node}=="-1" ATTRS{dma_mask_bits}=="32" ATTRS{consistent_dma_mask_bits}=="32" ATTRS{enable}=="1" ATTRS{broken_parity_status}=="0" ATTRS{msi_bus}=="" looking at parent device ’/devices/pci0000:00’: KERNELS=="pci0000:00" SUBSYSTEMS=="" DRIVERS=="" 1. Activer/désactiver une interface La commande ifconfig permet aussi d’activer ou de désactiver une interface. Syntaxe ifconfig <interface> <options> Options nécessaires : Exempl e Désacti vez l’interfa ce eth0 : # ifconfig eth0 down Activez l’interface eth0 : # ifconfig eth0 up ifconfig ne négocie pas un bail dhcp ou ne renégocie pas le bail en cours. Dans ce cas, vous devez utiliser les commandes ifup et ifdown. Syntaxes ifup <interface> Option Description up Active l’interface mentionnée. down Désactive l’interface mentionnée. ifdown <interface> ifup -a Options utiles : Option Description courte longue -a --all Active toutes les interfaces définies dans le fichier /etc/network/interfaces. Exemple Activez l’interface eth0 : # ifup eth0 Internet Systems Consortium DHCP Client 4.2.2 Copyright 2004-2011 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/08:00:27:1a:1a:48 Sending on LPF/eth0/08:00:27:1a:1a:48 Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 DHCPREQUEST on eth0 to 255.255.255.255 port 67 DHCPOFFER from 10.0.2.2 DHCPACK from 10.0.2.2 bound to 10.0.2.15 -- renewal in 35932 seconds. La trame DHCPDISCOVER sur le port UDP 67 effectue un broadcast en utilisant l’adresse 255.255.255.255 pour trouver un serveur DHCP disponible, lequel répond par la trame DHCPREQUEST. La machine Linux accepte l’offre par la trame DHCPOFFER. L’affaire est conclue par le serveur DHCP avec la trame DHCPACK. Désactivez l’interface eth0 : # ifdown eth0 Internet Systems Consortium DHCP Client 4.2.2 Copyright 2004-2011 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/08:00:27:1a:1a:48 Sending on LPF/eth0/08:00:27:1a:1a:48 Sending on Socket/fallback DHCPRELEASE on eth0 to 10.0.2.2 port 67 La trame DHCPRELEASE libère le bail. 2. Configurer une interface La configuration des interfaces réseau diffère. Nous avons d’un côté Debian et Ubuntu et de l’autre côté CentOS. a. Configurer Debian et Ubuntu La configuration est dans un fichier unique nommé interfaces situé dans le dossier /etc/network : # cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp # The 2nd network interface auto eth1 iface eth1 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.254 Le tableau ci-dessous explique les entrées de /etc/network/interfaces : Entrée Description auto <interface> Démarre l’interface lors du boot. iface <nom_config> inet loopback La configuration de l’interface de loopback (127.0.0.1). iface <nom_config> inet dhcp La configuration IP est dynamique (client DHCP). iface <nom_config> inet static La configuration IP est statique. Les options address, netmask et gateway sont alors nécessaires pour définir les paramètres. pre-up Exécute une commande avant d’activer l’interface. post-up Exécute une commande après l’activation de l’interface. b. Configurer CentOS Il existe un fichier de configuration par interface dans le dossier /etc/sysconfig/network-scripts. Le fichier est nommé de la façon suivante ifcfg-<interface> : # ls -1 /etc/sysconfig/network-scripts/ifcfg* /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-lo Voici le contenu du fichier de l’interface de loopback : # cat /etc/sysconfig/network-scripts/ifcfg-lo DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 # If you’re having problems with gated making 127.0.0.0/8 a martian, # you can change this to something else (255.255.255.255, for example) BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback De même, pour l’interface eth1 : # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:61:1B:3F TYPE=Ethernet UUID=ef71420f-0c55-4409-ba89-9a347e11e811 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp Le tableau ci-dessous explique les entrées des fichiers de configuration réseau : Entrée Description DEVICE Nom logique du périphérique. IPADDR Adresse IP. NETMASK Masque de sous-réseau. NETWORK Adresse de réseau. BROADCAST Adresse de broadcast. ONBOOT Active si yes ; désactive si no. HWADDR Adresse matérielle (adresse MAC). NM_CONTROLLED Si yes, le périphérique est géré par le dæmon. Network Manager. si no, le périphérique est géré manuellement par son fichier de configuration. BOOTPROTO Indique le protocole de démarrage : none : aucun protocole. dhcp : utiliser le protocole DHCP. USERCTL Si yes, tous les utilisateurs peuvent gérer l’interface réseau. Si no, seul le superutilisateur peut gérer l’interface. ETHTOOL_OPTS Définit des options Ethernet. Par exemple : ETHTOOL_OPTS="autoneg off speed 1000 duplex full" La valeur ON ou OFF de autoneg active ou désactive l’autonégociation. speed spécifie la vitesse 10, 100 ou 1000 en Mb/s. duplex peut avoir la valeur full ou half. c. Utilitaire ethtool L’utilitaire ethtool gère la configuration des interfaces réseau. Cet outil n’est pas installé par défaut sur Debian et Ubuntu contrairement à CentOS. d. Interface virtuelle Vous pouvez créer une interface virtuelle pour associer une deuxième adresse IP à une carte réseau. Il suffit d’ajouter au nom logique un :0 pour la première interface virtuelle, un :1 pour la seconde et ainsi de suite... Par exemple : eth0:0. Exemple avec CentOS Allez dans le dossier /etc/sysconfig/network-scripts et copiez le fichier ifcfg-eth0 en ifcfg-eth0:0 : # cp ifcfg-eth0 ifcfg-eth0:0 Vérifiez : # ls -1 ifcfg-eth* ifcfg-eth0 ifcfg-eth0:0 Le fichier ifcfg-eth0 contient ceci : # cat ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:61:1B:3F TYPE=Ethernet UUID=ef71420f-0c55-4409-ba89-9a347e11e811 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp Il ne reste plus qu’à modifier les paramètres de l’interface virtuelle dans le fichier ifcfg-eth0:0 avec un éditeur de texte : # cat ifcfg-eth0:0 DEVICE=eth0:0 TYPE=Ethernet BOOTPROTO=static IPADDR=10.0.0.150 NETMASK=255.255.255.0 GATEWAY=10.0.0.1 BROADCAST=10.0.0.255 NETWORK=10.0.0.0 USERCTL=no ONBOOT=yes Ensuite, redémarrez le service réseau : # service network restart Arrêt de l’interface eth0 : [ OK ] Arrêt de l’interface loopback : [ OK ] Activation de l’interface loopback : [ OK ] Activation de l’interface eth0 : Définition des informations IP pour eth0. fait. [ OK ] Vérifiez : # ifconfig eth0:0 eth0:0 Link encap:Ethernet HWaddr 08:00:27:61:1B:3F inet adr:10.0.0.150 Bcast:10.0.0.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 3. Adressage IPv4 Pour vous aider à calculer une adresse IP, vous pouvez utiliser ipcalc. Il est nativement installé dans CentOS. ipcalc <adresse_IP> <masque> Pas d’options pour cette commande. Exemple Vous avez une adresse IP 172.16.33.1/19. Vous voulez savoir dans quel sous-réseau vous vous situez : # ipcalc 172.16.33.1/19 Address: 172.16.33.1 10101100.00010000.001 00001.00000001 Netmask: 255.255.224.0 = 19 11111111.11111111.111 00000.00000000 Wildcard: 0.0.31.255 00000000.00000000.000 11111.11111111 => Network: 172.16.32.0/19 10101100.00010000.001 00000.00000000 HostMin: 172.16.32.1 10101100.00010000.001 00000.00000001 HostMax: 172.16.63.254 10101100.00010000.001 11111.11111110 Broadcast: 172.16.63.255 10101100.00010000.001 11111.11111111 Hosts/Net: 8190 Class B, Private Internet a. Adresse IPv4 statique Dans ce chapitre, nous avons indiqué que l’adresse IP était stockée dans un fichier de configuration et que ifconfig permet de consulter l’adresse MAC et l’adresse IP. Ifconfig peut aussi attribuer à la volée une adresse IP. Syntaxe ifconfig <interface> <adresse> netmask <masque> ifconfig <interface> <adresse/masque> Pas d’options pour cette commande. Exemple Vous devez uploads/Litterature/ ok-configurer-interface-reseaux-ifconfig.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 09, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.3515MB