OPNsense Forum

International Forums => German - Deutsch => Topic started by: _Alchemist_ on March 28, 2018, 04:42:25 pm

Title: Noob braucht Hilfe bei Hardwareauswahl
Post by: _Alchemist_ on March 28, 2018, 04:42:25 pm
Hallo, ich bin noch ein kompletter Noob bin was OPNsense angeht, darum hier ein paar Fragen:

1. Welche Leistung muss der Router haben?

Meine Anforderungen an den Router sind zwar relativ gering, trotzdem möchte ich auf Nummer sicher gehen. Die wären übrigens:

Ich habe bereits den Punkt "Hardware sizing & setup" in der OPNsense Dokumentation gelesen, in dem eine 1 GHz Dual-Core CPU + 1 GiB RAM (Reasonable) oder eine 1,5 GHz Multi-Core CPU + 4 GiB RAM (Recommended) mit einem intel NIC empfohlen wird.

Ich habe 2 Plattformen die ich für den Router verwenden könnte, die eine bestände aus einem ASRock E350M1 (Mini-ITX Mainboard mit integrierter AMD E-350 [2x 1,6 GHz] CPU) und 2x 1 GiB DDR3-1066 (unbuffered ECC) RAM, und die andere aus einem MSI AM1I (ebenfalls Mini-ITX), mit dem AMD Athlon 5150 (4x 1,6 GHz) und 1x 4GB (unbuffered) DDR3-1600.

Als NIC würde ich wahrscheinlich eine Intel PRO/1000 PT (dual 1000Base-T) verwenden, da FreeBSD's Treiber mit Realtek NICs scheinbar nicht so gut funktionieren.

Das Netzteil würde dann das be quiet! Pure Power 9 300W (habe ich bereits) verwenden, denke das sollte für einen Router dieser ausmaße locker ausreichen?

2. Systemdatenträger Andorderungen

Als "Install target" wird eine 40 - 120 GiB SSD empfohlen, aber von was ist die benötigte Kapazität abhängig?

Braucht man eine 120GiB SSD nur wenn man Caching Proxy benutzt oder braucht OPNsense den Speicher selber?

Und muss man beim kauf einer SSD irgendetwas beachten (zB. TBW) / gibt es bevorzugte Marken?

3. Caching Proxy & Traffic Shaping

Über diese beiden Dienste habe ich jetzt viel gutes gehört, das mit dem Caching wäre für die 7 Windows Geräte praktisch um Bandbreite zu sparen (Updates), und Traffic Shaping soll (soweit ich das richtig verstanden habe) die Möglichkeit geben, zB. Ping Pakete eines Online Spieles auch bei hoher "Internet Last" ohne Verzögerung (Queue?) zu versenden und zu empfangen. Ich nehme mal an dass beide die CPU ziemlich belasten werden / können? Wäre die von mir vorgeschlagene Hardware dafür ausreichend?


Falls sich jemand die Zeit nehmen kann um mich ein wenig aufzuklären, wäre ich ziemlich dankbar.

Gruß, _Alchemist_ :)
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: Alphakilo on March 28, 2018, 08:09:39 pm
Hallo Alchemist!

Ich bin selbst noch recht neu im OPNsense-Land, von daher kann ich wenig zu den NICs sagen.

1. Welche Leistung muss der Router haben?

Bei den CPUs würde ich den Athlon 5150 bevorzugen:
http://www.cpu-world.com/Compare/661/AMD_Athlon_5150_vs_AMD_E-Series_E-350.html

Einmal wegen der Leistung, aber speziell wegen den AES instructions.
Auf der anderen Seite ist ECC bei 24/7 Betrieb auch sehr wichtig.

2. Systemdatenträger Andorderungen

Meine Installation benötigt jetzt nach einer Woche Laufzeit 3GB speicher (ohne Proxy-Cache).
~700MB davon sind Logs.

Die HDD / SSD würde ich lieber Überdimensionieren, speziell mit dem Hintergedanken einen Squid cachen zu lassen.
Eine volle (0-byte free) root-Partition ist außerordentlich tödlich für das zu Grunde liegende System.

3. Caching Proxy & Traffic Shaping

Zum Proxy:
Ich bin kein Freund vom cachen. Das führt aus meiner Erfahrung nur zu tränen.

Speziell in den heutigen Zeiten in denen SSL / TLS sehr verbreitet ist. Du müsstest den Traffic mehr oder weniger transparent entschlüsseln (MiTM) um den Inhalt cachen zu können.

Das ist aus sehr vielen Gründen keine gute Idee. Im Endeffekt senkst du damit deine Sicherheit im Internet ganz erheblich (nicht nur deine Privatsphäre) und viele Seiten (speziell die großen) wehren sich auch aktiv gegen dieses Vorgehen (HSTS, HPKP).

Wenn du Windows 10 einsetzt können die Maschinen sich untereinander Updates "zuschieben" (Windows Update Delivery Optimization), ein ganz kleines bisschen wie WSUS nur dezentral und ohne Kontrollmöglichkeiten (Außer AN / AUS).

Bezüglich des "Shapings":

Ich vermute mit "Qeues" wurdest du auf QoS / ToS verwiesen.
QoS / ToS ist tricky... Und nicht sehr intuitiv.

Der Grundgedanke dahinter ist das du jedem Paket das dein Netzwerk durchläuft eine Priorität gibst.
Je nach Priorität werden die Pakete dann bevorzugt behandelt oder halt bei drohender congestion / sättigung auch mal ein paar nanosekunden länger liegen gelassen.

Jedes Gerät zwischen dir und dem Ziel (Switch, Router, etc) muss etwas mit dieser Priorität anfangen können und ist auch nicht dazu verpflichtet sich daran zu halten.

Innerhalb von einem Netzwerk funktioniert das auch ganz gut, sofern man alle Geräte administriert und korrekt konfiguriert.
In dem durchschnitts-daheim-LAN (5 - 7 User  ;) ) merkt man das nicht.

Das Ganze gilt aber nur bis zu deiner Netzwerkgrenze (WAN, Upstream). Deinen Provider wird es nicht interessieren für wie wichtig du welches Paket hältst (Stichwort: "best effort"). Deine gesetzten Prioritäten werden verworfen oder umgeschrieben sobald sie deinen Router Richtung ISP verlassen.

Umgekehrt wirst du auch keine Prioritäten in den Paketen von deinem Provider finden (WAN, Downstream). Die müsstest du selbst setzen.
Dazu bräuchtest du Informationen über die Netzbereiche auf denen die Spieleserver liegen und/oder deren Ports. Diese Informationen zuverlässig zu beschaffen ist schwieriger als es klingt.

Um die Latenz von meinem LAN in's Internet akzeptabel zu halten und Sättigung der Bandbreite zu vermeiden halten verwende ich shaping:
https://wiki.opnsense.org/manual/how-tos/shaper.html

Spezieller: "Share bandwidth evenly". Damit ist sichergestellt, das nicht die gesamte Downstreambandbreite von einem einzelnen Host ausgelastet werden kann.
Somit kann ich in Ruhe Updaten, nebenher Netflix schauen und die Latenz steigt nur minimal.

Mal eine Frage am Rande: wie willst du denn die Internetanbindung genau realisieren (welcher Provider, welches Modem, ...)?
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: fabian on March 28, 2018, 08:45:36 pm
Ich verwende ein PCENGINES APU 1 Board (der Nachfolger ist das 2er: http://pcengines.ch/apu2.htm), welches relativ gut läuft.

So ein Embedded-Board hat einige Vorteile:
* Passive Kühlung: Kein Lärm und da keine beweglichen Teile vorhanden sind auch ein geringeres Risiko für einen Defekt
* Niedriger Stromverbrauch: Solche Boards brauchen weniger Strom als vollwärtige PCs -> Geringere Stromkosten
* Für die Boards bekommt man auch ein Gehäuse
* Leichter Tragbar
* In der Regel günstig

Nachteile:
* Komponenten lassen sich schwerer nachrüsten (wenn es überhaupt geht)
* Vermutlich in der Leistung etwas schwächer
* Es muss immer alles getauscht werden
* Verbindung über RS-232 ist ggf. für Anfänger "Kompliziert"

Das APU Board bootet von der SD-Karte oder von einer SSD. Ich verwende eine SD-Karte. Das ist zwar langsam beim Starten aber wenn es mal läuft ist es eh egal, da nur mehr Protokolle geschrieben werden und ich kein Netflow verwende. Den Proxy-Cache habe ich nur im Hauptspeicher - ist genug frei und die SD-Karte wird nicht belastet.
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: _Alchemist_ on March 28, 2018, 09:31:52 pm
@Alphakilo Danke schon mal für die Infos, damit wäre schon mal ein bisschen meines Halbwissens getilgt ;)

Wenn das mit dem Caching wirklich so kompliziert ist, lass ich das lieber, aber das "Share bandwidth evenly" werde ich mir mal genauer ansehen - Hauptsache mein Ping schnalzt nicht jedes mal von 10 auf 250ms wenn jemand ein Spiel herunterläd.

Edit

Wegen dem Prozessor, aus welchem Grund wäre der AMD Quad-Core dem AMD Dual-Core vorzuziehen?
Und braucht man die AES-Ni Erweiterung auch wenn man keine VPNs benutzt? Und wegen dem ECC-RAM, ob der auch auf dem Msi Mainboard läuft müsste ich erst testen, jedenfalls wären das dann nur 2GB statt 4GB.

@fabian So ein PCENGINES Board mag zwar schön und gut sein, aber für sowas habe ich zur Zeit einfach nicht genug Geld, die beiden AMD CPUs + Mainboards aber schon.
Passiv gekühlt ist der Athlon 5150 übrigens sowieso schon --> Arctic Alpine M1 passiv

Wäre es denn trotzdem empfehlenswert eine SSD statt einem USB Stick / einer SD Karte zu verwenden? Geschwindigkeit beim booten ist nicht wirklich ein wichtiger Faktor, aber dafür Stabilität.

Gruß
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: fabian on March 28, 2018, 09:46:28 pm
Grundsäzlich ist eine SSD stabiler da diese normalerweise mehr Spiecherzellen haben und daher die Belastung durch das Schreiben besser aufgeteilt werden kann und der Speicher damit länger hält. Zudem reagiert die FW allgemein ein bisschen träge bei einer SD-Karte, da die Lesegeschwindigkeit schlechter ist.
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: _Alchemist_ on March 28, 2018, 10:04:30 pm
Würde dann eine 32GiB SSD schon ausreichen oder wäre eine 120GiB besser?

32 GiB: https://geizhals.de/transcend-ssd370s-32gb-ts32gssd370s-a1257646.html?v=l&hloc=de
120 GiB: https://geizhals.de/kingston-a400-ssd-120gb-sa400s37-120g-a1616801.html?v=l&hloc=de

Gruß :)
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: Alphakilo on March 28, 2018, 10:30:37 pm
Wegen dem Prozessor, aus welchem Grund wäre der AMD Quad-Core dem AMD Dual-Core vorzuziehen?

Mehr. Threads.  :P
Du betreibst mehr oder weniger einen Server. Kein single-purpose device. Es passieren Dinge im Hintergrund. Und diese Dinge brauchen Zeit von der CPU.
Je mehr Dinge du parallel ausführen kannst, desto geringer die Wahrscheinlichkeit das etwas auf freie CPU-Zeit warten muss.

Und braucht man die AES-Ni Erweiterung auch wenn man keine VPNs benutzt?

Da scheiden sich die Meinungen. Fest steht aber das nicht nur VPN von den AES-NIs profitiert.
Vom herstellen von TLS / SSL Verbindung bis hin zum überprüfen von signierten Updates wird so ziemlich alles durch AES gestützt.

Und wegen dem ECC-RAM, ob der auch auf dem Msi Mainboard läuft müsste ich erst testen, jedenfalls wären das dann nur 2GB statt 4GB.

Bitflips im RAM passieren. Je länger die Maschine läuft desto Wahrscheinlicher ist es irgendwo im Speicher ein paar "falsche" Bits zu haben. Ohne ECC gibt es wenig Möglichkeiten zu prüfen, ob der ausgelesene Speicherbereich von Bitflips betroffen ist oder nicht.

Die Auswirkungen kommen immer drauf an wo der / die Bit(s) gekippt sind. Von Logikfehlern in Applikationen, Abstürzen (Segfault, "Oops"), Kernelpaniks ("BSOD") über Dateien die korrupt auf den Blockspeicher geschrieben werden ist eigentlich alles drin.

Das ist mit einer der Gründe warum bei Consumer-Hardware so vieles durch einen Neustart gelöst werden kann.

Ich persönlich würd's für daheim drauf ankommen lassen und mehr Speicher statt ECC nehmen. Aber das ist Geschmackssache.

Wäre es denn trotzdem empfehlenswert eine SSD statt einem USB Stick / einer SD Karte zu verwenden? Geschwindigkeit beim booten ist nicht wirklich ein wichtiger Faktor, aber dafür Stabilität.

Da schließe ich mich fabian an. SD-Karten und Sticks sind nicht für den Einsatzzweck geeignet. Oder zumindest nicht konzipiert.
Außerdem sind USB-Controller nicht für ihre Stabilität bekannt.

Und nimm lieber die 120GB, für 'nen Zehner mehr bekommst du fast das vierfache der Kapazität, wenn die Geizhals-Links stimmen  ;)
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: _Alchemist_ on March 28, 2018, 10:52:42 pm
Mehr. Threads.  :P
Du betreibst mehr oder weniger einen Server. Kein single-purpose device. Es passieren Dinge im Hintergrund. Und diese Dinge brauchen Zeit von der CPU.
Je mehr Dinge du parallel ausführen kannst, desto geringer die Wahrscheinlichkeit das etwas auf freie CPU-Zeit warten muss.

Dann wird es der Athlon 5150.

Bitflips im RAM passieren. Je länger die Maschine läuft desto Wahrscheinlicher ist es irgendwo im Speicher ein paar "falsche" Bits zu haben. Ohne ECC gibt es wenig Möglichkeiten zu prüfen, ob der ausgelesene Speicherbereich von Bitflips betroffen ist oder nicht.

Die Auswirkungen kommen immer drauf an wo der / die Bit(s) gekippt sind. Von Logikfehlern in Applikationen, Abstürzen (Segfault, "Oops"), Kernelpaniks ("BSOD") über Dateien die korrupt auf den Blockspeicher geschrieben werden ist eigentlich alles drin.

Das ist mit einer der Gründe warum bei Consumer-Hardware so vieles durch einen Neustart gelöst werden kann.

Ich persönlich würd's für daheim drauf ankommen lassen und mehr Speicher statt ECC nehmen. Aber das ist Geschmackssache.

Mit dem ECC-RAM den ich habe würde das wahrscheinlich so oder so keinen Unterschied machen, da er unbuffered ist, heißt Fehler können zwar erkannt, aber nicht behoben werden. Für registered ECC-RAM bräuchte ich wohl ein Supermicro oder ASRock Rack Mainboard, aber die kosten dann wieder mehrere Hundert Euro ...
Ich bleibe dann also bei den "normalen" 4GiB RAM.

Da schließe ich mich fabian an. SD-Karten und Sticks sind nicht für den Einsatzzweck geeignet. Oder zumindest nicht konzipiert.
Außerdem sind USB-Controller nicht für ihre Stabilität bekannt.

Und nimm lieber die 120GB, für 'nen Zehner mehr bekommst du fast das vierfache der Kapazität, wenn die Geizhals-Links stimmen  ;)

Stimmt, denke die dürfe dann auch länger halten, FreeBSD unterstützt ja TRIM (muss man das eigentlich selbst konfigurieren oder lauft das "out-of-the-box"?)

Gruß
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: NicholasRush on March 28, 2018, 11:06:18 pm

Bezüglich des "Shapings":

Ich vermute mit "Qeues" wurdest du auf QoS / ToS verwiesen.
QoS / ToS ist tricky... Und nicht sehr intuitiv.

Der Grundgedanke dahinter ist das du jedem Paket das dein Netzwerk durchläuft eine Priorität gibst.
Je nach Priorität werden die Pakete dann bevorzugt behandelt oder halt bei drohender congestion / sättigung auch mal ein paar nanosekunden länger liegen gelassen.

Jedes Gerät zwischen dir und dem Ziel (Switch, Router, etc) muss etwas mit dieser Priorität anfangen können und ist auch nicht dazu verpflichtet sich daran zu halten.

Innerhalb von einem Netzwerk funktioniert das auch ganz gut, sofern man alle Geräte administriert und korrekt konfiguriert.
In dem durchschnitts-daheim-LAN (5 - 7 User  ;) ) merkt man das nicht.

Das Ganze gilt aber nur bis zu deiner Netzwerkgrenze (WAN, Upstream). Deinen Provider wird es nicht interessieren für wie wichtig du welches Paket hältst (Stichwort: "best effort"). Deine gesetzten Prioritäten werden verworfen oder umgeschrieben sobald sie deinen Router Richtung ISP verlassen.

Umgekehrt wirst du auch keine Prioritäten in den Paketen von deinem Provider finden (WAN, Downstream). Die müsstest du selbst setzen.
Dazu bräuchtest du Informationen über die Netzbereiche auf denen die Spieleserver liegen und/oder deren Ports. Diese Informationen zuverlässig zu beschaffen ist schwieriger als es klingt.

Um die Latenz von meinem LAN in's Internet akzeptabel zu halten und Sättigung der Bandbreite zu vermeiden halten verwende ich shaping:
https://wiki.opnsense.org/manual/how-tos/shaper.html

Spezieller: "Share bandwidth evenly". Damit ist sichergestellt, das nicht die gesamte Downstreambandbreite von einem einzelnen Host ausgelastet werden kann.
Somit kann ich in Ruhe Updaten, nebenher Netflix schauen und die Latenz steigt nur minimal.

Mal eine Frage am Rande: wie willst du denn die Internetanbindung genau realisieren (welcher Provider, welches Modem, ...)?

Es geht eher weniger um deine Downstreambandbreite sondern mehr um deinen begrenzten Upstream. Wenn mehrere PCs gleichzeitig TCP Verbindungen offen halten. Und dort viel Traffic fließt, dauert es nicht lange und du bekommst Probleme mit Echtzeitanwendungen wie VOIP.
Die Pakte müssen von dir aus gesehen Priorisiert werden, weil du den begrenzten Upload hast.

Ob sie im Providernetz priorisiert werden oder nicht spielt keine Rolle für dich, weil du den kleinsten Flaschenhals in der Kette hast. Dein Provider wird ohnehin VOIP auf allen seinen Links und Switchen Priorisieren, sonst könnte er nämlich die Dienstgüte und Verfügbarkeit seines Telefondienstes nicht gewährleisten.
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: _Alchemist_ on March 29, 2018, 12:37:58 pm
Es geht eher weniger um deine Downstreambandbreite sondern mehr um deinen begrenzten Upstream. Wenn mehrere PCs gleichzeitig TCP Verbindungen offen halten. Und dort viel Traffic fließt, dauert es nicht lange und du bekommst Probleme mit Echtzeitanwendungen wie VOIP.
Die Pakte müssen von dir aus gesehen Priorisiert werden, weil du den begrenzten Upload hast.

Ob sie im Providernetz priorisiert werden oder nicht spielt keine Rolle für dich, weil du den kleinsten Flaschenhals in der Kette hast. Dein Provider wird ohnehin VOIP auf allen seinen Links und Switchen Priorisieren, sonst könnte er nämlich die Dienstgüte und Verfügbarkeit seines Telefondienstes nicht gewährleisten.

Macht Sinn, im Vergleich zu meinem Heimnetzwerk (Gigabit-Ethernet) ist mein Internet nicht mal auf dem Level von Fast-Ethernet, gerade mal 2,5MBit/s Up 54MBit/s Down ... ein richtiger Flaschenhals.

Nur noch eine Frage zur SSD: Ich habe gelesen dass es (zumindest vor 5-6 Jahren bei pfSense) oft das Problem gab, dass durch Firewall Logging, Performance monitoring usw. manche SSDs schon nach einem halben Jahr ausgefallen sind.
Ist das in den Letzten Jahren behoben worden oder sind heutige SSDs einfach nicht mehr so anfällig wie die SSDs damals?

Gruß
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: fabian on March 29, 2018, 03:50:25 pm
Nur noch eine Frage zur SSD: Ich habe gelesen dass es (zumindest vor 5-6 Jahren bei pfSense) oft das Problem gab, dass durch Firewall Logging, Performance monitoring usw. manche SSDs schon nach einem halben Jahr ausgefallen sind.
Ist das in den Letzten Jahren behoben worden oder sind heutige SSDs einfach nicht mehr so anfällig wie die SSDs damals?

Die Qualität von SSDs ist heute wesentlich besser aber ich würde trotzdem versuchen, die SSD möglichst wenig zu belasten um eine möglichst lange Lebensdauer zu gewährleisten (zum Beispiel indem man nicht notwendige Logs deaktiviert).

Bei einer SSD sollte ja immer dabei stehen, wie oft sie beschrieben werden kann.
Title: Re: Noob braucht Hilfe bei Hardwareauswahl
Post by: JeGr on April 05, 2018, 12:07:56 pm
> Ist das in den Letzten Jahren behoben worden oder sind heutige SSDs einfach nicht mehr so anfällig wie die SSDs damals?

Das ist wirklich uralt. Ich habe in den letzten 6 Jahren KEIN(!) einziges Device mit einer defekten SSD verloren, egal ob Kunde oder intern und wir setzen schon länger Voll-Installationen von Sensen ein, weil die SD/Nano Geschichten irgendwann zum einen schnarchig langsam waren und zum anderen man sich wegen RAMDisk und Co keinen Kopf mehr machen braucht. Das bisschen was die Logs schreiben, macht normalen SSDs die den Namen verdienen keinen Streß, zumal wenn sie nicht zu 100% genutzt werden. Gerade da macht sich dann positiv bemerkbar wenn die SSD eher ein wenig größer als kleiner ist. Habe ich 32 GB und brauche meist nur 2-4 und wenn der Controller einen halbwegs vernünftigen Algo und Chip zum Verteilen der Writes hat, wird man in der üblichen Lebensdauer von so 3-5 Jahren keinen Ausfall einer SSD sehen.

> Und braucht man die AES-Ni Erweiterung auch wenn man keine VPNs benutzt?

Es ist ein Trugschluß anzunehmen, dass die AES-NI Instruction Sets nur für Verschlüsselung - also VPN - verwendet werden. Es ist nun schon mehrfach gezeigt und belegt worden, dass diese für weit mehr eingesetzt werden und auch Chip-intern mehr tun, als nur simple Crypto-Beschleunigung. Zudem sollte man ein (ich denke) 8 Jahre altes InstructionSet auch endlich mal als Standard mit anerkennen :)