iperf zwischen verschiedenen netzwerken?

Naddel_81

Banned
Registriert
Okt. 2006
Beiträge
3.878
Hi an alle,

würde gerne die Leistung eines pfsense routers auf alter hardware testen und habe nun die Idee, dass ich mit iPerf/jperf im LAN1 (192.168.2.xxx) zu einem iperf/jperf client in LAN2 hinter dem router (192.168.1.xxx) einen Benchmark starte, weil dann ja wie im Internet zwischen den 2 LANs genattet wird, oder?

Ein Speedtest bei einer Internetseite ist ja bei DSL witzlos. Klar langweilt sich die CPU da. Ich würde mit dem Test gerne herausfinden wie viel Puffer der Router noch hat für schnellere Leitungen. Wird das so klappen oder kann man zwischen zwei LANs gar nicht testen?

Viele Grüße
 
Natürlich kann man. Solange du das Ziel pingen kannst, geht es. Aber hinter ein NAT kannst du nicht pingen, du kannst nur vom NAT raus pingen.

Ach ja, es ist wichtig sowohl den maximalen Durchsatz in Bytes/s aber auch die maximale Anzahl an Paketen pro Sekunde zu testen.
 
Wie alt ist denn die Hardware? Oder besser: auf welchem Modell genau willst du’s laufen lassen? Vielleicht kannst du dir das Testen auch sparen und es gibt schon Erfahrungsberichte von Leuten, die es mit genau deiner Hardware probiert haben.

Manchmal sind die WAN-Ports schwächer angebunden als die LAN-Ports. Eine Möglichkeit, das herauszufinden, sind z. B. die WAN-zu-LAN-Durchsatz-Tabellen bei smallnetbuilder. Ein paar Jährchen muß die Hardware aber schon auf dem Buckel, damit man davon was merkt. Heute ist eher der Anschluß das Problem, nicht der Router. Oder hast du symmetrische 10 G bei dir? ;)
 
es ist ein selbstgebauter dell optiplex 740 mit amd le 1660 CPU. darüber wird es keine testberichte geben ;)
aber ich werde morgen berichten, wenn alles klappt.
durch WAN zu LAN muss also der traffic auf jeden fall geNATtet werden, richtig? egal wie die IPs sind?

ich will ja möglichst internetverkehr simulieren gerade weil ja der internetanschluss keinen test zulässt, weil er vorher limitiert durch den provider. switchen kann jede CPU gigabitgeschwindigkeiten, aber routen ist ja die hohe kunst.

EDIT: müssen die ersten drei blöcke der IP eigentlich identisch sein für sowas? hier steht, dass dann zwei IPs zum gleichen netz gehören. auch, wenn sie vor dem router (WAN) und hinter dem router (LAN) in zwei verschiedenen netzwerken sind?

https://www.edv-lehrgang.de/ip-adressen-in-netzwerken/
 
Zuletzt bearbeitet:
Ist durch das Alter nicht sonderlich stromsparend, aber meinetwegen.

Übrigens hat tatsächlich doch schon jemand mal vor dir die Idee gehabt, pfSense auf so einer Kiste laufen zu lassen. Ist aber sieben Jahre her. :D https://forum.pfsense.org/index.php?topic=17465.0 Leider keine Aussagen zum Durchsatz. Gibt wohl auch gern mal Probleme mit Broadcom-Chipsätzen, weswegen häufig NICs von Intel empfohlen werden. Kann das bce4 allerdings nicht genau zuordnen. Dein Optiplex verwendet den Broadcomchipsatz 57XX.
Boote pfSense mal von CD und schau, ob während der Installation Fehler oder Meldungen dazu ausgegeben werden. Die kann man zwar beheben, aber das erfordert ein wenig BSD-Wissen oder erweitertes Google-Fu. Kannst du dir auch gern antun, aber einfacher ist es, ’ne gut unterstützte 5-€-Gigabit-NIC von Intel zu kaufen und die Onboard-NIC zu deaktivieren.

Zur Block/IP-Frage: Das kommt auf die Subnetzmaske an. Die muß nicht immer 255.255.255.0 sein, auch 255.0.0.0 und 255.255.0.0 sind beileibe nicht die einzigen verbleibenden Möglichkeiten. Für den Anfang ist es aber ganz hilfreich, wenn man sich an den historischen Klasse-A-, -B- und -C-Netzen orientiert. Grundsätzlich muß der Netzanteil der SNM übereinstimmen, der Hostanteil muß bei mehreren Geräten variieren und darf nicht identisch sein. Sobald du einen Router hast, der zwischen zwei Netzen vermittelt, ist es Jacke wie Hose, welche Struktur das Netz an NIC 1 hat und welche das an NIC 2 – nur die Routingtabelle muß stimmen.

https://www.edv-lehrgang.de/ip-adressen-in-netzwerken/ ist als Start nicht verkehrt, und du solltest Netzwerkgrundwissen mitbringen, wenn du etwas wie pfSense verwenden willst. Sonst machst du mehr kaputt, als es dir nützt.
 
Zuletzt bearbeitet:
danke DeusoftheWired für deine ausführliche Antwort und Recherche. Ich werde morgen einfach mal feste IPs vergeben und zwei Gigabit-Notebooks an WAN und LAN klemmen und dann mal mit iPerf und Netstress schauen, was bei rumkommt. Wenn ich den Onboardchip deaktiviere, muss ich zur bereits bestehenden Gigabit-PCI-Karte ja noch eine dazustecken. Und da wird es auch schon eng mit den Erweiterungsslots :)
Aktuell läuft der "Router" ja. Aber nur mit DSL. Und ich würde gerne nur aus Interesse mal wissen, was er so geroutet bekäme. Alles hinterm Router wäre ja witzlos. Da müsste er nur switchen und das wird er wohl hinkriegen im Gigabitbereich, denke ich. Aber als Router... Ich tippe mal auf maximal 500 Mbit/s bei dem alten AMD Single-Core :)

Edit: Muss ich an der Routingtabelle noch fummeln oder geht das automatisch? Ich gebe ja vor dem WAN die IP des Routers hinterm WAN /also im LAN an. Reicht das oder sehen die sich wegen der zwei Netze nicht?
 
Was du beim Test beachten musst ist, dass du in einem komplexen Setup effektiv nur die langsamste Komponente testest. Heißt: Wenn du dein Testgerät mit pfSense mit dem WAN-Port eines Consumer-Routers verbindest und jeweils dahinter im LAN einen Server/Client platzierst, dann bestimmt das langsamste Glied in der Kette die maximale Geschwindigkeit. Client--pfSense--(WAN)--Router#2--Server. Im worst case wird der Test also verfälscht, weil der Consumer-Router zB nur 100 Mbit/s WAN-LAN schafft, der pfSense-Router aber deutlich mehr.

Wenn du solche Tests machst, musst du sicherstellen, dass die anderen Komponenten, die am Test beteiligt sind, deutlich schneller sind als dein Testgerät, sonst limitieren sie und verfälschen das Ergebnis.


Die IPs solltest du ungefähr so wählen (Beispiel):

LAN#1 hinter pfSense: 172.27.1.0 (255.255.255.0)
WAN zwischen pfSense und Router#2: 10.0.0.0 (255.255.255.0)
LAN#2 hinter Router#2: 192.168.123.0 (255.255.255.0)

Wenn sich zwei Subnetze überlagern oder gar identisch sind, gibt es Probleme, weil die Route nicht eindeutig ist. Nimmst du in LAN#1 zB auch die 192.168.123.0 (255.255.255.0), würde ein Ping von LAN#1 aus auf zB 192.168.123.234 stets in LAN#1 bleiben und nie in LAN#2 geroutet werden. Erst dann, wenn die Ziel-IP außerhalb des eigenen Subnetzes liegt, wird das Paket anhand der Routing-Tabelle an ein explizites Gateway oder an das Standard-Gateway geschickt (pfSense-Router). Dieses Gateway schaut dann wiederum in seine eigene Routingtabelle und schickt das Paket weiter - zB über WAN an Router#2.

Im obigen Beispiel wäre NAT nicht zwangsläufig nötig, weil alle Subnetze eindeutig sind. Da du aber internetnah testen willst, aktivierst du eben NAT. Vom Client in LAN#1 aus würdest du dann aber natürlich nicht auf die LAN#2-IP vom Server verbinden, sondern auf die WAN-IP von Router#2. Dieser wiederum muss eine Portweiterleitung zum Server machen. Genau so wie es laufen würden, wenn das "WAN-Kabel" tatsächlich quer durch Deutschland gehen würde.

Wenn NAT aktiviert ist, kannst du LAN#1 und LAN#2 auch identisch wählen, sie sehen sich ja nicht gegenseitig. Allerdings machst du dir das Leben einfacher, wenn du sie eindeutig wählst, weil du dann zB auch mal ohne NAT testen könntest. Auch kopftechnisch ist es weniger verwirrend, wenn man genau weiß "172... = LAN#1" und "192... = LAN#2".
 
Zuletzt bearbeitet:
Ich teste das gleich mal ohne zusätzlichen Router. Nur mit pfsense und jeweils einem Client auf der LAN und einem auf der WAN Seite. Die IPs vergebe ich fest. Und dann schaue ich mal, was da maximal geroutet werden kann und ob die sich finden ohne manuelle Einträge in der Routine Tabelle.
 
Zuletzt bearbeitet:
Das ist eigentlich auch der relevante Part des Tests. Wenn du durch den zweiten Router testest, wird das wie gesagt evtl. durch diesen Router negativ beeinflusst, weil der vielleicht nicht schnell genug ist. Für den pfSense-Router ist das aber irrelevant, weil das Problem von langsameren externen Geräten immer ein Faktor bleibt - für die Gesamtverbindung.

Was pfSense kann ist ja für dich die interessante Information. Wenn zB der Server im WWW von dem du runterlädst zu lahm ist - aus welchen Gründen auch immer -, ist das für den pfSense-Router ja egal, Hauptsache er ist selbst min. genauso schnell wie das was von intern/extern kommt und geht.
 
Hier das Statusupdate/Fazit:

Habe dank eurer Hilfe den Test heute durchgeführt. Kriege mit einem TCP-Stream ca. 500 MBit/s hin auf der alten AMD LE 1660 Single-Core CPU (Passmark ca. 700 Punkte).
Mit drei parallelen TCP Streams geht die Bandbreite auf 600 Mbit/s hoch. Allerdings ist die CPU Auslastung dann so hoch, dass man nicht mal mehr auf der pfsense Weboberfläche navigieren kann. Für 1 GBit/s bräuchte man also locker eine CPU mit einem Passmark-Score von 1000. Da ist aber dann kein Duplex drin. Wer also wirklich zu den wenigen Glücklichen gehört, die in Deutschland eine sym. Gbit-Leitung ihr Eigen nennen dürfen, die sollten eine CPU verbauen, die mindestens 2000 Punkte im Passmark schafft (jeder aktuelle Celeron kann das locker).
Mit einem Stromspar-Atom könnte es auch klappen, darf aber dann kein wirklich alter Atom sein.

Alleine aus stromtechnischer Sicht ergibt so ein alter 60W (IDLE) bzw. 90W (LAST) Rechner als Router keinen Sinn. Es war nur aus reinem Interesse. Für die Stromkosten könnte man sich dann auch eine teurere Fritzbox holen. Die sollten GBit/s mittlerweile auch duplex schaffen als Router.

Hier eine schöne Zusammenfassung unserer Diskussion:

http://www.smallnetbuilder.com/wireless/wireless-howto/31679-how-to-test-a-wireless-router
 
Naja, bei einer 1 Gbit/s Internetleitung würde ich persönlich keinen Consumer-Router mehr nehmen. Dann darf es schon was (semi)professionelles sein, EdgeRouter, MikroTik und dergleichen - oder eben pfSense und Co auf entsprechenden Systemen. Kisten mit pfSense gibt es schon ab 150€..
 
Nö, nicht wirklich. Ich hab nen i3 (2ndGen) Server stehen und der schafft das problemlos - bei ca 30-35W mit 3 HDDs drin (ca. 80€ im Jahr). Ich hab mal mein OpenVPN spaßeshalber ausgereizt und selbst da kommt die Kiste auf 800+ Mbit/s. Und das ohne Crypto-Hardware, alles in CPU. Simples Routing ist dagegen relativ harmlos.

99% der Zeit langweilt sich ein (Heim)Router. Die Vollast-Szenarien, die man mit Paketgeneratoren, etc. testet, sind zumindest im privaten Umfeld weit weg von der Realität. Die Zeit, in der die CPU im worst case auf 100% geht und das Netzteil arbeiten muss, fällt kaum ins Gewicht. Und im Idle verbrauchen die Celerons und Co heutzutage fast nix mehr im Vergleich zu meinem betagten i3, der ja zudem noch HDDs, etc. drin hat.

Außerdem: Wenn man nun mal FullSpeed will, braucht das unter Umständen auch Leistung und die braucht eben Strom. Von nix kommt nix ;)
 
Zuletzt bearbeitet:
Also drei HDDs verbrauchen schon alleine über 20W (7W Leerlauf und bis zu 11W unter Last je nach Modell). Mit Mainboard, CPU und Netzteil wirst du da kaum auf 30W-35W kommen können. Da ist wohl dein Messgerät kaputt. Vor allem, weil der kleine -Stromspar-Haswell Celeron G1840 inkl. nur einer HDD schon 35W im Leerlauf benötigt.
 
Zuletzt bearbeitet:
War nicht mein Messgerät (hab nur'n Conrad 10€ Teil), sondern von unserem Firmenelektriker. Das ist sicher nicht kaputt ;)

Ich hab die CPU aber untertaktet und undervolted und ein kleines, hocheffizientes Netzteil. Die Platten werden per Skript schlafen gelegt und laufen also im Normalfall überhaupt nicht.
 
OK, das ist was anderes. Aber mit drei Platten kann man nicht auf 30W inkl. Plattform kommen. Wenn die laufen, hast du alleine schon gut 20W. Ich hab die HDDs per Skript immer laufen. 1. weil es weniger mechanische Belastung ist (Google mal LCC und Wdidle) und 2. weil ich die nervige Hochspinzeit nicht mag, wenn ich streamen will.
Untertakten geht bei mir nicht. Brauche die Leistung. Und die kriegt man leider nicht ohne entsprechenden Strom.
 
Alles eine Frage der Anforderungen, ich nutze den Server eher selten bzw. primär als VPN-Server, als Fileserver nutze ich ihn kaum noch. Deswegen habe ich eh vor, ihn beizeiten zu ersetzen und zB einen MikroTik, EdgeRouter o.ä. als VPN-Server einzusetzen. Hab eh nur VDSL25, da muss mein OpenVPN kaum 800 Mbit/s schnell sein ^^

Mein Server kommt aber für dich ja so oder so nicht in Frage, weil du ja nur einen reinen Router willst - zumindest habe ich das so aufgefasst. Es ging mir nur um die reine Machbarkeit. Ein aktueller i3/Celeron hat mehr Dampf als meiner und verbraucht dennoch weniger (Auslieferungszustand). Mehrere HDDs braucht ein Router auch nicht.
 
Zurück
Oben