Maison  >  Article  >  tutoriels informatiques  >  Méthode de liaison de la séquence d'identification de la carte réseau Linux

Méthode de liaison de la séquence d'identification de la carte réseau Linux

王林
王林avant
2024-03-08 19:07:20871parcourir

Lors de l'utilisation d'un système Linux, une dérive de la carte réseau peut se produire après l'installation de pilotes de carte réseau spécifiques ou de programmes associés.

Méthode de liaison de la séquence didentification de la carte réseau Linux

Les représentations possibles sont :

Après avoir installé un certain pilote de carte réseau, l'ordre des cartes réseau peut être inversé. Par exemple, le port réseau connecté au câble réseau auparavant était eth0, mais une fois le pilote installé, il peut devenir eth1 ou un autre nom.

(2) Le nom de la carte réseau a changé. Cette situation n'est pas un changement de eth0 à eth1, mais un changement très étrange, par exemple, eth0 est introuvable et il existe une carte réseau supplémentaire nommée __tmp3183921382193__

.

Cette situation peut vraiment être ennuyeuse. Parce que certaines personnes peuvent avoir besoin d'utiliser la commande ifconfig | grep eth pour obtenir des informations pour le travail de développement. Si le nom de la carte réseau prête à confusion, il y aura certainement des erreurs dans le programme.

(3) L'ordre de la carte réseau port optique et de la carte réseau port électrique est HS ou croisé.

En bref, notre objectif est de pouvoir spécifier le nom d'une certaine carte réseau comme périphérique physique souhaité. Voici comment procéder :

La première étape consiste à identifier les informations de la carte réseau

Pour utiliser une carte réseau, vous devez d'abord savoir quel nom correspond à quel appareil physique. La méthode est la suivante : tirez un câble réseau du switch et connectez-le un à un de haut en bas. vous ne pouvez connecter qu'une seule carte réseau à la fois. Après la connexion, passez Utilisez la commande ethtool pour vérifier si le câble réseau est connecté, par exemple

[root@bunian ~]# ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
 100baseT/Half 100baseT/Full
 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:10baseT/Half 10baseT/Full
 100baseT/Half 100baseT/Full
 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 2
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes

J'ai vu que le statut de eth0 est connecté au câble réseau. Si Linked est détecté : non, cela signifie que le câble réseau n’est pas connecté.

De cette façon, vous pouvez distinguer le nom de quel appareil et bien l'étiqueter.

Étape 2 : Obtenez l'adresse MAC de chaque carte réseau

ifconfig -a peut voir tous les périphériques réseau. Obtenez l'adresse MAC de chaque périphérique via ifconfig -a | grep HWaddr.

Par exemple :

[root@bunian ~]# ifconfig-a | grep HWaddr
eth0Link encap:EthernetHWaddr 00:30:48:7F:B5:CA
eth1Link encap:EthernetHWaddr 00:30:48:7F:B5:CB
eth2Link encap:EthernetHWaddr 00:04:23:A6:81:E0
eth3Link encap:EthernetHWaddr 00:04:23:A6:81:E1

Obtenez l'adresse MAC de chaque carte réseau.

Étape 3 : Liez les noms du MAC et de la carte réseau.

Nous savons tous que pour les systèmes RedHat, le fichier de configuration de la carte réseau est :

/etc/sysconfig/network-scripts/ifcfg-ethX est stocké dans X=0, 1, 2. . .

Par exemple :

[root@bunian]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# nVidia Corporation MCP55 Ethernet
DEVICE=eth0
ONBOOT=yes
HWADDR=00:30:48:7f:b5:ca
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.42.231
GATEWAY=192.168.42.1
BOOTPROTO=static
#NAMESERVER=202.106.0.20

Ce fichier est le fichier de configuration pour initialiser la carte réseau. Par exemple, si nous voulons spécifier le nom de périphérique de la carte réseau, l'adresse MAC MAC1 comme ethn, modifiez le fichier

/etc/sysconfig/network-scripts/ifcfg-ethn

Ajoutez la liaison d'adresse MAC et les informations de configuration du nom à l'intérieur

DEVICE=ethn

HWADDR=MAC1 (par exemple 00:30:48:7f:b5:ca)

Les autres informations de configuration ne seront pas affectées. Après avoir lié toutes les cartes réseau, redémarrez le système et tout devrait bien se passer.

Autre chose à noter est le dossier de correspondance des chauffeurs :

/etc/modprobe.conf

Pour modifier ce fichier, assurez-vous qu'un certain appareil utilise le pilote qui lui correspond, tel que :

cat /etc/modprobe.conf
alias eth0 forcedeth
alias eth1 forcedeth
alias scsi_hostadapter aic79xx
alias scsi_hostadapter1 sata_nv
alias scsi_hostadapter2 usb-storage
alias eth2 e1000
alias eth3 e1000

Expliquez que eth0 et eth1 utilisent le pilote forceth, et que eth2 et eth3 utilisent le pilote e1000.

Circonstances particulières

Une fois que le serveur a remplacé la carte réseau, l'adresse MAC changera. À ce moment-là, après le démarrage du système Linux, les fichiers eth0 et eth1 d'origine ne sont plus les fichiers de configuration actuels de la carte réseau, et une invite s'affichera indiquant que le périphérique eth0 le fait. ne semble pas être présent.

Solution :

Supprimez simplement /etc/udev/rules.d/70-persistent-net.rules puis redémarrez la machine, car ce fichier enregistre les informations d'identification de la carte réseau en bas du système, y compris la correspondance entre ethX et MAC . Supprimez-le et redémarrez-le. Le système d'exploitation reconnaîtra à nouveau la carte réseau existante et reviendra à la normale.

De plus, si les fichiers de configuration eth0 et eth1 d'origine contiennent des champs HWADDR, ils doivent également être supprimés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer