Langsamer Traffice zwischen 2 VLANs

Started by _patrick_, December 05, 2023, 02:06:45 PM

Previous topic - Next topic
December 05, 2023, 02:06:45 PM Last Edit: December 05, 2023, 02:08:27 PM by _patrick_
Hallo Leute,

ich habe eine OPNSense (i5-3570k mit 20GB Ram und 3 Netzwerkkarte (einmal die am Mainboard verbaute als WAN, einmal eine 1GbE PCIe Steckkarte als WAN2 und eine 10GBe PCIe Steckkarte als LAN). Auf der LAN Karte liegt das HauptLAN und die verschiedenen VLANs.

Ich habe 3 NAS System und den Hauptrechner die jeweils mit einer 2,5GBit Karte angebunden sind. Die 3 NAS sind im VLAN10, der Rechner im VLAN20.

Verschiebe ich Daten von einem NAS zum anderen erreiche ich 190 bis 250 MB/s, verschiebe ich jedoch Daten vom PC auf das NAS erreiche ich nur konstante 125 MB/s also GBe.

Ich habe jetzt testweise das NAS ins VLAN10 verfrachtet und siehe da, ich komme wieder auf die 190 bis 250 MB/s.

Kann mir jemand sagen wo hier das Problem liegt.

Vielen Dank schonmal
Grüße
Patrick

Anbei auch noch ein Netzplan

      .-----+------.   
      |  OPNsense  |
      '-----+------' 
             |
         10GBe
        LAN | 10.0.1.1/24
        vLAN10 | 10.0.10.1/24
        vLAN20 | 10.0.20.1/24
            |
      .-----+------.   
      |  LAN Switch +-----------------+ Stand PC (VLAN20)
      '-----+------' 
             |
         10GBe
             |
      .-----+------.   
      |  LAN Switch +-----------------+ NAS (VLAN10)
      '-----+------' 

Benutzt du IDS/IPS oder Zenarmor oder irgend so was?
Hardware:
DEC740

Hatte Zenarmor laufen mit "Routing Modem with native driver", das hatte ich auch als erstes im Verdacht und habe es deshalb mal umgestellt auf "Passive Mode (Reporting only)", aber keine Änderung.

Folgende Plugins habe ich noch laufen

Crowdsec
mDNS
Unbound

DNS habe ich AdGuard auf 2 Thin Clients aber das muss für den Anwendungsfall ja eigentlich egal sein.




December 05, 2023, 06:59:48 PM #3 Last Edit: December 05, 2023, 07:03:16 PM by Monviech
Kannst du den throughput mal von client zu client mit einem tool wie iperf messen? Auf der OPNsense iperf3 nehmen und dann erstmal von beiden VLANs mit einem Client erstmal zur OPNsense testen.
Client Vlan1 <-> Opnsense Vlan1
Client Vlan10 <-> Opnsense Vlan10
Da würde man ja 2,5Gbit/s full duplex erwarten

Wenn das in Ordnung ist, durch die OPNsense zwischen 2 Clients geroutetes iperf3 machen.

Client Vlan1 <-> Vlan1 Opnsense Vlan10 <-> Vlan10 Client
Da würde man auch 2,5Gbit/s full duplex erwarten
Hardware:
DEC740

Quote from: _patrick_ on December 05, 2023, 06:57:01 PM
Hatte Zenarmor laufen mit "Routing Modem with native driver", das hatte ich auch als erstes im Verdacht und habe es deshalb mal umgestellt auf "Passive Mode (Reporting only)", aber keine Änderung.

Zenarmor ist Zenarmor. Auch nur IDS statt IPS muss die Pakete inspizieren und verbraucht CPU, außerdem läuft es m.W. bislang nur auf einem Kern. Schalt mal ganz ab oder aktiviere es nur auf dem WAN-Interface.

Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Quote from: meyergru on December 05, 2023, 09:18:24 PM
Zenarmor ist Zenarmor. Auch nur IDS statt IPS muss die Pakete inspizieren und verbraucht CPU, außerdem läuft es m.W. bislang nur auf einem Kern. Schalt mal ganz ab oder aktiviere es nur auf dem WAN-Interface.

Habe es jetzt einmal komplett deinstalliert. Ändert aber nichts. Lasse es trotzdem jetzt mal deinstalliert bis der Fehler behoben ist und dann teste ich es nochmal mit ob es da zu Verschlechterungen kommt.

Quote from: Monviech on December 05, 2023, 06:59:48 PM
Kannst du den throughput mal von client zu client mit einem tool wie iperf messen? Auf der OPNsense iperf3 nehmen und dann erstmal von beiden VLANs mit einem Client erstmal zur OPNsense testen.

Habe jetzt mal einen iperf vom Stand PC zur OPNSense gemacht und irgendwie kommt da nicht wirklich das gewünschte Ergebnis raus. (sofern ich alles richtig gemacht habe - muss gestehen habe noch nie mit iperf gearbeitet).

Wenn ich in der OPNSense das LAN auswähle kommt bei Schnitstelle ix0 (also eben die 10Gbit Karte), wenn ich ein VLAN auswähle kommt bei Schnitstelle "any" .

Rauskommen tut dann das was man im Screenshot sieht, also weit entfernt von 2,5Gbit (1. Test war LAN, 2. Test war das VLAN20 in dem der PC hängt) - was ich nicht verstehe denn wieso habe ich dann die 2,5Gbit wenn ich das NAS ins gleiche VLAN hänge. Liegt das daran weil die OPNSense dann nur durchlässt und nichts routen muss?


December 06, 2023, 11:59:21 AM #6 Last Edit: December 06, 2023, 12:02:06 PM by Monviech
Wenn du in dem gleichen VLAN bist dann macht die OPNsense gar nichts.


VLAN = Switch = Layer 2 im OSI Schichtenmodell. Alle Clients in der selben Broadcastdomäne können direkt miteinander kommunizieren. Der Switch macht hier die ganze Arbeit. Alle Clients im selben Netz lösen die IP Adresse mit dem ARP (Adress Resolution Protokol) auf, und können dann direkt kommunizieren. https://de.wikipedia.org/wiki/Broadcast-Dom%C3%A4ne

Routing = Router = Layer 3 im OSI Schichtenmodell. Router trennen verschiedene Broadcastdomänen und Routen zwischen ihnen. Das Routing passiert also nur, wenn Clients in ihrer ARP Tabelle nicht die IP Adresse in der selben Broadcastdomäne finden. Dann schicken sie das Paket an den Default Gateway (OPNsense) und lassen die eine Routing Entscheidung treffen.

Das bedeutet, wenn dein PC zur OPNsense schlechte Geschwindigkeit hat, obwohl zwischen dem PC und der OPNsense gerade kein Routing passiert, würde ich das als erstes überprüfen. Vielleicht ist der 10GBit Adapter schlecht, oder die Hardware hat Probleme. Ich würde erstmal die physikalische Verbindung und das Switching überprüfen.
Hardware:
DEC740

December 06, 2023, 12:40:03 PM #7 Last Edit: December 06, 2023, 01:25:02 PM by _patrick_
Quote from: Monviech on December 06, 2023, 11:59:21 AM
Ich würde erstmal die physikalische Verbindung und das Switching überprüfen.

Danke dir, und danke für die ausführliche Erklärung (diese Layer Geschichten habe ich schonmal gehört aber haben mich nie wirklich interessiert, aber jetzt ist es zumindest ein bisschen klarer). Dann werde ich das mal überprüfen und schauen das ich mal die Verbindung mit 10GBit bzw. 2,5 Gbit zustande bekomme. Weil eigentlich sind alle Switche per Glasfaser über 10G miteinander und auch mit 10G mit der OPNSense verbunden. Also irgendwo ist hier der Hund begraben.

Die Hardware fadisiert sich wie gesagt, also scheinbar kommt er dann einfach nicht richtig mit der 10GB Karte  klar. Aber zumindest laut HWProbe passt es

Intel   82599ES 10-Gigabit SFI/SFP+ Network Connection   network   ix   works

Ich könnte es testweise mit einem 2,5GBit USB Adapter versuchen aber da habe ich gelesen das FreeBSD und USB LAn Adapter nicht die besten Freunde sind. Sonst muss halt wirklich eine neue Karte her  ::)

EDIT: Es ist die Karte - https://geizhals.at/inter-tech-argus-st-7211-77773005-a2544949.html?hloc=at

Der Hauptswitch der zur OPNSense geht ist ein EdgeSwitch 16 XG - hier geht dann ein DAC Kabel zur OpnSense.

Was mir noch einfällt ich habe noch ein 2. Kabel (nur 1Gbit) von dem Switch zur Opnsense was aber eine extra LAN Karte geht als WAN2. Das sollte ja aber eigentlich nicht stören oder? Hier geht ja nur ein extra VLAN drüber, da die Fritzbox über die das DSL reinkommt woanders steht als die OPNSense

Und wieder gilt der alte Satz: Wer misst, misst Mist.

iperf kann den vollen Durchsatz bei > 1 GBit/s nur messen, wenn mehrere Threads genutzt werden, also: "-P8" zu den Parametern hinzufügen und dann nochmal von vorne...
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

December 06, 2023, 06:28:46 PM #9 Last Edit: December 06, 2023, 08:34:25 PM by _patrick_
Quote from: meyergru on December 06, 2023, 04:14:04 PM
Und wieder gilt der alte Satz: Wer misst, misst Mist.

Herzlichen Dank für die Info mit dem Multithreading, jetzt bin ich diesbezüglich auch erkenntnisreicher als vorher.

Wie gesagt habe ich bisher nicht mit iPerf gearbeitet, deswegen kannte ich die ganzen Befehle bzw. Parameter bzw. die Eigenheiten" wie eben das mit dem Multithread nicht. Aber Danke merke ich mir  ;)


Die Ergenisse schauen wie folgt aus:

PC mit 2,5GbE PCIe Karte -> OPNSense:
[SUM]   0.00-10.00  sec  2.75 GBytes  2.37 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  2.75 GBytes  2.37 Gbits/sec                  receiver

QNAP NAS mit den integrierten 2,5GbE Schnitstellen -> OPNSense:
[SUM]   0.00-10.00  sec  1.99 GBytes  1.71 Gbits/sec                 sender
[SUM]   0.00-10.01  sec  1.90 GBytes  1.63 Gbits/sec                  receiver

QNAP NAS mit den originalen QNAP 5GbE  USB Adapter -> OPNSense:
[SUM]   0.00-10.00  sec  2.61 GBytes  2.25 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  2.61 GBytes  2.25 Gbits/sec                  receiver

Synology NAS mit 2,5 GbE -> OPNSense:
[SUM]   0.00-10.00  sec  2.69 GBytes  2.31 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  2.69 GBytes  2.31 Gbits/sec                  receiver

Also das heißt an dem liegt es mal nicht - die Clients haben zur OPNSense jeweils den richtige Speed

Danach habe ich den Test PC -> NAS und umgekehrt gemacht, dabei kommt folgendes raus:

PC -> NAS (Server)
[SUM]   0.00-10.00  sec  2.76 GBytes  2.37 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  2.76 GBytes  2.37 Gbits/sec                  receiver

NAS -> PC (Server)
[SUM]   0.00-10.01  sec  0.00 Bytes  0.00 bits/sec                  sender
[SUM]   0.00-10.01  sec  2.35 GBytes  2.01 Gbits/sec                  receiver


Also vom Speed her per iperf passt es jedenfalls jetzt mal, aber über SMB kriege ich trotzdem nur die 130 MB/S :-(

Quote from: _patrick_ on December 06, 2023, 06:28:46 PM
Also vom Speed her per iperf passt es jedenfalls jetzt mal, aber über SMB kriege ich trotzdem nur die 130 MB/S :-(

Das THEORETISCHE Maximum bei 1.000Mbit/s berechnet sich wie folgt:
8bit = 1Byte --> 1.000Mbit / 8 = 125MBytes
Die Hardware ist also physikalisch in der Lage, 125MBytes/s zu übertragen. So, und jetzt kommt noch der ganze Overhead von TCP, IP, SMB etc. hinzu.

"Früher" hatten wir da mal ideale Werte von ca. 40% der theoretischen Bandbreite, also hier ca. 50MB/s bei 1Gbit Netzwerk.

Das kannst du jetzt hochrechnen auf Deine 2,5er Schnittstellen:
2.500Mbit / 8 = 312MBytes
312 * 0,4 =125MB/s

Tja, und damit liegen wir genau bei dem von Dir gemessenen Wert. Passt also alles.

Merke: Nicht alles, was man misst, kann man auch richtig interpretieren ;)

Neben der "Pi-mal-Daumen"-Schätzung von 40% kannst Du natürlich auch noch am SMB ein wenig schrauben. Gerade SMB ist nicht unbedingt für Performanz bekannt. Vor allem, wenn es SMB1 oder SMB2 ist!
Prüfe, was bei Euch "gesprochen" wird und versuche dann zu optimieren.
Siehe u.a. auch hier.

/KNEBB


Ach so, als Ergänzung/ Erklärung auch nochmal der Link hier.

December 07, 2023, 09:59:28 PM #12 Last Edit: December 07, 2023, 10:08:06 PM by _patrick_
Quote from: knebb on December 07, 2023, 12:57:41 PM
Tja, und damit liegen wir genau bei dem von Dir gemessenen Wert. Passt also alles.

Merke: Nicht alles, was man misst, kann man auch richtig interpretieren ;)

Neben der "Pi-mal-Daumen"-Schätzung von 40% kannst Du natürlich auch noch am SMB ein wenig schrauben. Gerade SMB ist nicht unbedingt für Performanz bekannt. Vor allem, wenn es SMB1 oder SMB2 ist!
Prüfe, was bei Euch "gesprochen" wird und versuche dann zu optimieren.
Siehe u.a. auch hier.


Aber das klingt für mich irgendwie unlogisch, nach der Theorie hätte ich ja bei meinem Gigabyte Netz bisher nie die vollen 110 MB/s beim kopieren haben dürfen, und das war aber der Fall (auch über das VLAN hinweg in ein anderes VLAN). Oder verstehe ich was falsch???

Also ich habe bei mir SMB3 im Einsatz (denke ich zumindest) - ist halt die Frage ob ich es wo sehe (zumindest bei meinem QNAP NAS ist als minimum Version SMB3 eingestellt)

EDIT: Gerade nochmal alles auf 1G umgehängt und getestet - hier habe ich konstante 108 - 113 MB/s - siehe Screenshot

Ok, dann habe ich mich wohl getäuscht. Vielleicht liegt es aber dennoch am SMB Protokoll. Das zickt nämlich massiv rum, wenn es etwas delay im Netzwerk hat. Möglicherweise hat es gerade so geschafft, die 1Gbit auszulasten, so dass mehr Bandbreite auch nichts mehr bringt.  ???

Aber ich gebe zu, dass da jetzt vieles Spekulation ist- gerade SMB bin ich nicht richtig fit.

Dennoch die Frage: Du nutzt aber schon Jumboframes in Deinem Netzwerk?

Wenn Du mittels nc die volle Speed bekommst, würde ich den Fehler nicht bei deR OPNSense suchen.... einzig mal schauen, was die CPU-Auslastung während eines großen Kopiervorganges so von sich gibt...


/KNEBB

December 08, 2023, 07:41:04 AM #14 Last Edit: December 08, 2023, 07:43:31 AM by _patrick_
Quote from: knebb on December 07, 2023, 10:22:58 PM
Dennoch die Frage: Du nutzt aber schon Jumboframes in Deinem Netzwerk?

Wenn Du mittels nc die volle Speed bekommst, würde ich den Fehler nicht bei deR OPNSense suchen.... einzig mal schauen, was die CPU-Auslastung während eines großen Kopiervorganges so von sich gibt...

Nein Jumboframes sind deaktiviert, ich habe mal gelesen das dies kaum was bringt und vorallem es alle alle Komponenten voll unterstützen müssen. Das Problem ist, ich habe verschiedene Switche bei manchen kann ich händisch etwas eingeben, bei anderen nur aus einem Drop Down Menü wählen und da hab ich manchmal 9000 und manchmal andere Werte wie ich glaube 9014. Funktioniert das dann vernünftig wenn die Werte alle unterschiedlich sind. Und auf dem NAS hatte ich irgendwie Probleme wenn ich die Jumboframes aktiviert hatte.

Sorry für die blöde Frage aber was ist "nc". Ohne OPNSense also im gleichen VLAN funktioniert der Speed. Es liegt also wohl definitiv an der OPNSense. CPU geht so auf 30% rauf wenn ich kopiere