Heim  >  Artikel  >  Computer-Tutorials  >  Bindungsmethode der Linux-Netzwerkkarten-Identifikationssequenz

Bindungsmethode der Linux-Netzwerkkarten-Identifikationssequenz

王林
王林nach vorne
2024-03-08 19:07:20819Durchsuche

Bei Verwendung eines Linux-Systems kann es nach der Installation bestimmter Netzwerkkartentreiber oder verwandter Programme zu einer Abweichung der Netzwerkkarte kommen.

Bindungsmethode der Linux-Netzwerkkarten-Identifikationssequenz

Mögliche Darstellungen sind:

Nach der Installation eines bestimmten Netzwerkkartentreibers kann die Reihenfolge der Netzwerkkarten umgekehrt sein. Beispielsweise war der zuvor mit dem Netzwerkkabel verbundene Netzwerkport eth0, aber nach der Installation des Treibers kann er zu eth1 oder einem anderen Namen werden.

(2) Der Name der Netzwerkkarte hat sich geändert. Dies ist keine Änderung von eth0 zu eth1, sondern eine sehr seltsame Änderung. Beispielsweise kann eth0 nicht gefunden werden und es gibt eine zusätzliche Netzwerkkarte mit dem Namen __tmp3183921382193__

Diese Situation kann wirklich ärgerlich sein. Da einige Benutzer möglicherweise den Befehl ifconfig | verwenden müssen, um Informationen für die Entwicklungsarbeit zu erhalten, liegt auf jeden Fall ein Fehler im Programm vor.

(3) Die Reihenfolge der optischen Port-Netzwerkkarte und der elektrischen Port-Netzwerkkarte ist nicht in der richtigen Reihenfolge oder vertauscht.

Kurz gesagt besteht unser Ziel darin, den Namen einer bestimmten Netzwerkkarte als das gewünschte physische Gerät angeben zu können. So geht's:

Der erste Schritt besteht darin, die Netzwerkkarteninformationen zu identifizieren

Um eine Netzwerkkarte zu verwenden, müssen Sie zunächst wissen, welcher Name welchem ​​physischen Gerät entspricht. Die Methode ist wie folgt: Ziehen Sie ein Netzwerkkabel vom Switch ab und schließen Sie es nacheinander von oben nach unten an die Netzwerkkarte an Sie können jeweils nur eine Netzwerkkarte anschließen. Überprüfen Sie nach dem Anschließen mit dem Befehl ethtool, ob das Netzwerkkabel angeschlossen ist, z. B.

[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

Ich habe gesehen, dass der Status von eth0 mit dem Netzwerkkabel verbunden ist. Wenn „Verknüpft“ erkannt wird: Nein, bedeutet dies, dass das Netzwerkkabel nicht angeschlossen ist.

Auf diese Weise können Sie den Namen des Geräts erkennen und es gut beschriften.

Schritt 2: Ermitteln Sie die MAC-Adresse jeder Netzwerkkarte

ifconfig -a kann alle Netzwerkgeräte sehen. Rufen Sie die MAC-Adresse jedes Geräts über ifconfig -a grep HWaddr ab.

Zum Beispiel:

[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

Ermitteln Sie die MAC-Adresse jeder Netzwerkkarte.

Schritt 3: Verknüpfen Sie die MAC- und Netzwerkkartennamen.

Wir alle wissen, dass die Konfigurationsdatei der Netzwerkkarte für RedHat-Systeme wie folgt lautet:

/etc/sysconfig/network-scripts/ifcfg-ethX wird in X=0, 1, 2 gespeichert. . .

Zum Beispiel:

[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

Diese Datei ist die Konfigurationsdatei zum Initialisieren der Netzwerkkarte. Wenn wir beispielsweise den Gerätenamen der MAC-Adresse MAC1 der Netzwerkkarte als ethn angeben möchten, ändern Sie die Datei

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

Fügen Sie MAC-Adressbindungs- und Namenskonfigurationsinformationen hinzu

DEVICE=ethn

HWADDR=MAC1 (zum Beispiel 00:30:48:7f:b5:ca)

Andere Konfigurationsinformationen sind davon nicht betroffen. Nachdem Sie alle Netzwerkkarten gebunden haben, starten Sie das System neu und es sollte in Ordnung sein.

Zu beachten ist außerdem die Akte der Fahrerkorrespondenz:

/etc/modprobe.conf

Um diese Datei zu ändern, stellen Sie sicher, dass ein bestimmtes Gerät den entsprechenden Treiber verwendet, wie zum Beispiel:

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

Erklären Sie, dass eth0 und eth1 den Forcedeth-Treiber verwenden und eth2 und eth3 den e1000-Treiber verwenden.

Besondere Umstände

Nachdem der Server die Netzwerkkarte ersetzt hat, ändert sich die MAC-Adresse. Nach dem Start des Linux-Systems sind die ursprünglichen Netzwerkkarten-Konfigurationsdateien eth0 und eth1 nicht mehr die aktuellen Netzwerkkarten-Konfigurationsdateien, und es wird eine Meldung angezeigt, dass das Gerät eth0 dies tut scheinen nicht vorhanden zu sein.

Lösung:

Löschen Sie einfach /etc/udev/rules.d/70-persistent-net.rules und starten Sie dann den Computer neu, da diese Datei die Identifikationsinformationen der Netzwerkkarte am unteren Rand des Systems speichert, einschließlich der Korrespondenz zwischen ethX und MAC . Löschen Sie sie und starten Sie sie neu. Das Betriebssystem erkennt die vorhandene Netzwerkkarte wieder und kehrt zum Normalzustand zurück.

Wenn außerdem die ursprünglichen Konfigurationsdateien eth0 und eth1 HWADDR-Felder enthalten, müssen diese ebenfalls gelöscht werden.

Das obige ist der detaillierte Inhalt vonBindungsmethode der Linux-Netzwerkkarten-Identifikationssequenz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:mryunwei.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen