GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Netzwerkschnittstellenbindung scheint nur als Root zu funktionieren?

Ich habe einen CentOS 7-Server mit zwei Netzwerkschnittstellen. Einer zeigt auf unser LAN (ens32) und der andere auf unsere DMZ (ens33).

Während die LAN-Schnittstelle gut funktioniert, habe ich festgestellt, dass der Datenverkehr anscheinend nur die DMZ-Schnittstelle durchquert, wenn ich als Root angemeldet bin, und ich bin mir nicht sicher, was dies bedeutet oder ob es Auswirkungen auf andere Probleme hat, die ich erlebe .

Wenn ich zum Beispiel ausführe:

curl --interface ens32 ipecho.net/plain

Als Nicht-Root-Benutzer erhalte ich die öffentliche IP für diese Schnittstelle.

Wenn ich laufe:

curl --interface ens33 ipecho.net/plain

Als Nicht-Root-Benutzer scheint der Befehl zu blockieren und ich bin gezwungen, den Prozess zu beenden.

Wenn ich den vorherigen Befehl als root ausführe, erhalte ich die erwartete Ausgabe, die die öffentliche IP für diese Schnittstelle ist.

Kann jemand erklären, was hier vor sich geht?

Akzeptierte Antwort:

Wie es im offiziellen curl zu sehen ist Seite, um eine bestimmte Schnittstelle anzugeben/zu binden, muss entweder CAP_NET_RAW vorhanden sein oder als root ausgeführt werden .

Also also root in der Lage ist, die Bindung/Routing durchzuführen, und es funktioniert nicht mit einem normalen Benutzer für Sie.

Wenn ein normaler Benutzer curl verwendet , ohne dass das --interface verwendet werden darf Option, werden stattdessen die Standard-Routing-Regeln des Servers auf diese Operation angewendet.

Von der offiziellen Curl-Seite curl.1 die Manpage:

–Schnittstelle

Ausführen einer Operation über eine angegebene Schnittstelle. Sie können
den Schnittstellennamen, die IP-Adresse oder den Hostnamen eingeben. Ein Beispiel könnte so aussehen:

curl – Schnittstelle eth0:1 https://www.example.com/

Wenn diese Option mehrmals verwendet wird, wird die letzte verwendet.

Unter Linux kann es verwendet werden, um ein VRF anzugeben, aber die Binärdatei muss
entweder CAP_NET_RAW haben oder als Root ausgeführt werden.

Weitere Informationen zu
Linux VRF:https://www.kernel.org/doc/Documentation/networking/vrf.txt


Linux
  1. Linux Setuid funktioniert nicht?

  2. Linux – Warum funktioniert Setuid nicht?

  3. Linux – Inhalt von /etc/network im Alpine Linux Image?

  4. So richten Sie Linux Etherchannel Bonding für die Netzwerkschnittstelle HA ein

  5. Lokale Netzwerkschnittstellenadressen nur mit proc abrufen?

Ein Leitfaden für Systemadministratoren zur Netzwerkverwaltung

So konfigurieren Sie die virtuelle Netzwerkschnittstelle auf Redhat 7 Linux

3 Möglichkeiten, eine Netzwerkschnittstelle in Linux zu konfigurieren

Verwenden von ifstat für Linux-Netzwerkstatistiken

Linux ifconfig-Befehl

So stellen Sie die bevorzugte Netzwerkschnittstelle unter Linux ein