802.1X-Authentifizierung für das Netzwerk der Bonding-Einstellung in CentOS7

Netzwerkeinstellungen auf einer einzelnen Netzwerkkarte funktionieren, aber ...

Es gab einen Fall, in dem ich wollte, dass das installierte Servernetzwerk über mehrere NIC-Ports ** Bonging und mit der 802.1X-Authentifizierung ** dem Netzwerk beitritt. Ich konnte nur mit einer einzigen Netzwerkkarte alleine am Netzwerk teilnehmen, aber in Zusammenarbeit mit den Menschen um mich herum konnte ich auch bei Bonking mit der 802.1X-Zertifizierung teilnehmen.

Ich habe keine Methode für die 802.1X-Authentifizierung mit "** Bonding-Einstellungen **" gefunden, selbst wenn ich im Internet gesucht habe. Daher werde ich sie hier als Artikel veröffentlichen. (Danke an alle, die mitgearbeitet haben!)

Umwelt / Dinge vorzubereiten

Ich kann die Geräteinformationen des Servers und des Netzwerk-Switch nicht beantworten, aber ich hoffe, Sie können sich vorstellen, dass der Server ein Racking-Server wie Fujitsu, HP, IBM ist und der Netzwerk-Switch mit Produkten wie NETGEAR und Cisco durchgeführt wird. Überlegen.

OS:CentOS7.8
Zu verbindender NIC-Port: Kabelverbindung mit zwei Ports auf der Intel 10G-NIC
Zertifikatsdatei: ZZZZZZ.pem(Oder es kann im CRT-Format sein)
Private Schlüsseldatei: ZZZZZZ.p12

① Konvertieren Sie die Zertifikatdatei vom CRT-Format in das PEM-Format

Anfangs habe ich vom Benutzer ein Zertifikat im CRT-Dateiformat erhalten, aber ich kenne die Ursache nicht, aber im CRT-Format ist die 802.1X-Authentifizierung in der nachfolgenden Arbeit fehlgeschlagen. Konvertieren Sie also mit dem folgenden Befehl vom CRT- in das PEM-Format.

openssl x509 -in ZZZZZZ.crt -out ZZZZZZ.pem

(2) Migrieren Sie das Speicherortverzeichnis der Zertifikatdatei und der privaten Schlüsseldatei

Speichern Sie ZZZZZZ.pem und ZZZZZZ.p12 in / etc / pki / CA / certs /.

③ Bearbeiten Sie die ifcfg-Datei

Die Bonding-Einstellungsdatei wurde wie folgt in / etc / sysconfig / network-scripts / ifcfg-bond0 festgelegt.

BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=layer2+3"
DEVICE=bond0
TYPE=Bond
BOOTPROTO=none
BONDING_MASTER=yes
NAME=bond0
ONBOOT=yes
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
MTU=9000
DNS1=aaa.bbb.ccc.ddd
DNS2=aaa.bbb.ccc.ddd
GATEWAY=aaa.bbb.ccc.ddd
IPADDR=aaa.bbb.ccc.ddd
NETMASK=aaa.bbb.ccc.ddd
PREFIX=yy

# 802.1X Authentifizierungseinstellungen
KEY_MGMT=IEEE8021X
IEEE_8021X_EAP_METHODS=TLS
IEEE_8021X_IDENTITY=XXXXXXXXX
IEEE_8021X_CA_CERT=/etc/pki/CA/certs/ZZZZZZ.pem #Geben Sie den Pfad an, in dem die Datei im PEM-Format in ② gespeichert wird
IEEE_8021X_PRIVATE_KEY=/etc/pki/CA/certs/ZZZZZZ.p12 #Geben Sie den Pfad an, in dem die Datei im p12-Format in (2) gespeichert wird.
DOMAIN=zzzz.zzzz.zzzz

④ Bearbeiten Sie / etc / sysconfig / wpa_supplicant und /etc/wpa_supplicant/wpa_supplicant.conf

Bearbeiten Sie den Inhalt von / etc / wpa_supplicant / wpa_supplicant.conf wie folgt.

INTERFACES="-iZZZZZZ"
DRIVERS="-Dwired"
OTHER_ARGS="-u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid -t"

Bearbeiten Sie den Inhalt von / etc / sysconfig / wpa_supplicant wie folgt.

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
network={
        key_mgmt=IEEE8021X
        eap=tls
        identity="ZZZZZZ"
        ca_cert="/etc/pki/CA/certs/ZZZZZZ.pem"
        private_key="/etc/pki/CA/certs/ZZZZZZ.p12"
        private_key_passwd="ZZZZZZ"
        }

(5) Deaktivieren Sie den Start von Network Manager, wenn der Server gestartet wird.

Wenn NetworkManager im Voraus gestartet wird, ist die 802.1X-Authentifizierung nicht möglich. Deaktivieren Sie daher den Dienst.

chkconfig NetworkManager off

⑥ Aktivieren und starten Sie wpa_supplicant

Da wpa_supplicant für die 802.1X-Authentifizierung gestartet werden muss, ** aktivieren und starten Sie den Dienst **.

chkconfig wpa_supplicant on
systemctl start wpa_supplicant

⑦ Starten Sie wpa_supplicant und prüfen Sie, ob die Verbindung erfolgreich ist.

Wenn Sie mit dem folgenden Befehl "bond0: CTRL-EVENT-CONNECTED - Verbindung zu abgeschlossen" erhalten, ist die 802.1X-Authentifizierung erfolgreich.

wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -D wired -i bond0

⑧ Überprüfen Sie, ob die Supplicant-Authentifizierung auf der Netzwerk-Switch-Seite erfolgreich ist

Recommended Posts

802.1X-Authentifizierung für das Netzwerk der Bonding-Einstellung in CentOS7
Verstehen Sie die Eigenschaften von Scala in 5 Minuten (Einführung in Scala)
[Android] So erhalten Sie die Einstellungssprache des Terminals
So stellen Sie die Chronik ein, wenn sich die Zeit in CentOS7 verschiebt
Docker-Umgebung Nuxt-Axios-Modul zum Festlegen von baseURL
So ändern Sie den Einstellwert von Springboot Hikari CP
Ich war süchtig nach Laradock + VSCode + xdebug
So leiten Sie den letzten Tag des Monats in Java ab
[Rails] Bei der Beschreibung der Validierung ist Vorsicht geboten
Es reagiert nicht auf die Beschreibung in .js der Packs-Datei
So legen Sie die IP-Adresse und den Hostnamen von CentOS8 fest
Korrigieren Sie den Namen der Kriegsdatei auf den in Maven festgelegten
So erhalten Sie die ID des automatisch inkrementierten PRIMAY-Schlüssels in MyBatis
Die in /lib/calendars.properties von Java jre festgelegte Millisekunde ist UTC
Ich möchte den Wert von Attribute in Selenium of Ruby ändern
Ich war süchtig nach der API-Version min23 von registerTorchCallback
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
So ermitteln Sie die Länge einer Audiodatei mit Java
So erhöhen Sie den Wert von Map in einer Zeile in Java
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
Übergeben Sie das Gebietsschema i18n an JavaScript
Reihenfolge der Verarbeitung im Programm
Fügen Sie nun "InfluxDB + Telegraf + Chronograf" in CentOS8 ein und versuchen Sie, die Temperatur mehrerer Raspberry pi4 zu steuern.
Korrektur, um eine Erhöhung der DB-Verbindungsnummer mit dem benutzerdefinierten Authentifizierungsanbieter des Cognos SDK-Beispiels zu verhindern
Eine Geschichte, der ich mit der automatischen Starteinstellung von Tomcat 8 unter CentOS 8 zweimal verfallen war
# 16 Richtlinieneinstellung zum Erstellen einer Bulletin Board-API mit Zertifizierungsberechtigung in Rails 6
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Schritte zum Ausführen von Spring Boot beziehen sich auf die Werte in der Eigenschaftendatei
Bestätigung und Umgestaltung des Flusses von der Anfrage zum Controller in [httpclient]
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
Führen Sie x11-Apps in einem Docker-Container aus (unterstützt den Netzwerkzugriff vom Container aus).
So ermitteln Sie die Gesamtzahl der Seiten beim Paging in Java
So beschränken Sie die Aktion des Übergangsziels, wenn Sie nicht angemeldet sind
So erhalten Sie den Einstellungswert (Eigenschaftswert) aus der Datenbank in Spring Framework
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
[Rails] Die Ursache dafür, dass nicht gepostet werden konnte, war in form_with
Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft
So implementieren Sie die E-Mail-Authentifizierungsfunktion zum Zeitpunkt der Benutzerregistrierung
Ändern Sie das Speicherziel des Bildes in der Rails-App in S3. Teil 2
Holen Sie sich das Ergebnis von POST in Java
Kürzen Sie die UUID in Swift auf base64.
Das Erfolgsgeheimnis von IntelliJ IDEA
Java-Referenz zum Verständnis in der Abbildung
Die Identität der Schienenparameter [: id]
So bestimmen Sie die Anzahl der Parallelen
So sortieren Sie eine Liste von SelectItems
So erhalten Sie das Datum mit Java
Ausgabe des Buches "Einführung in Java"
Japanische Einstellungen für MySQL im Docker-Container
Die Geschichte des Schreibens von Java in Emacs
[Swift] So ermitteln Sie die Anzahl der Elemente in einem Array (Super Basic)
graphql-ruby: So erhalten Sie den Namen der Abfrage oder Mutation im Controller Hinweis
Wenn Sie die Testabdeckung privater Methoden in JUnit erfüllen möchten
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
So überprüfen Sie die neueste Version von io.spring.platform für das Schreiben in pom.xml von Spring (STS)
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen