Schwacher WAN-Durchsatz
-
Hallo,
ich habe jetzt schon einiges selbst versucht, jedoch schaffe ich es nicht, mehr als ~3 MByte/s über den WAN-Port zu bekommen.
Aber zunächst mal zu meinem Aufbau:
Internet AirVPN
| :
| M-Net 100/10 :
| :
.–---+---------. :
+-------+ Fritzbox 7490 | :
| '-----+---------' :
| | 192.168.178.1/24 : OpenVPN Tunnel
| WAN | :
| | DHCPv4 :
| .---+-----. :
| | pfSense +~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
| '---+-----'
| | 192.168.123.1/24
| LAN | (über VPN)
| | DHCPv4
| .--------|-+------.
+--+ VLAN 1 | VLAN 2 | Managed Switch (TP-Link TL-SG1024DE)
'-+------|------+-'
| |
...-+-.... |
| Server | | (Haustechnik etc.)
....-+-....
| Clients | (Offene WLANs etc.)Als Hardware für pfSense kommt folgendes zum Einsatz:
-
Supermicro A1SRi-2558F
-
Intel Atom Processor C2558
-
C2000 SoC I354 Quad GbE Controller (MACs)
-
-
8GB Kingston ValueRAM (KVR16LSE11/8KF)
-
DeLOCK SATA Flash Module 16GB
Ich verwende ausschließlich neue Cat 7 Kabel.
Konfiguriert habe ich pfSense nach der Offiziellen Anleitung von AirVPN.Nun aber zum eigentlichen Problem:
Ein Download (dieser Datei) perfetch
(nach/dev/null
) über SSH auf pfSense auszuführen, resultiert in einer Geschwindigkeit von 20-30 MBit/s (~3 MByte/s). Ob ich dabei über WAN direkt oder über VPN gehe, macht kaum etwas aus.
Über einen Laptop direkt am VPN_LAN erreiche ich 30-40 MBit/s (viawget
). Ein Test mit zweifetch
-Instanzen (auf pfSense) gleichzeitig resultierte in doppelter Geschwindigkeit (also ~60 MBit/s), durch weitere Instanzen konnte ich das jedoch nicht weiter steigern.
Teste ich über den Laptop direkt an der Fritzbox erreiche ich problemlos 10 MByte/s (nicht ausführlich getestet, aber die vollen 100 MBit/s erreiche ich auch).Die unter https://doc.pfsense.org/index.php/Tuning_and_Troubleshooting_Network_Cards vorgeschlagenen Einstellungen habe ich bereits ausprobiert. Die Systemauslastung ist auch vernachlässigbar und die Geschwindigkeitsgrenze ist ziemlich sauber (d.h. keine Schwankungen) und immer Reproduzierbar.
Ich weiß einfach nicht mehr weiter. Ich würde mich freuen, wenn ihr noch Ideen hättet woran das liegen könnte.
Andere Probleme, welche ich auch noch habe, werde ich dann danach angehen (Traffic aus zweitem LAN geht nicht raus, virtuelles pfSense, "Internet"/Netzwerk über Switch langsamer). Für den Moment kann man sich aber den Switch aus obigem Diagramm wegdenken (ich habe ohne diesen getestet).
So weit erst mal von meiner Seite. Weitere Infos werden auf Nachfrage ergänzt.
mfG
-
-
Könnte eine falsche MTU sein und die Datenpakete werden fragmentiert.
Double NAT ist ein zusätzliches Problem und völlig unnötig sowie generell mit Einschränkungen behaftet.Ich würde ja ein simples DSL Modem z.B. DrayTek Vigor 130 vor die Pfsense hängen. Also nur Modem Betrieb und die FB raus werfen, bzw. hinter die Pfsense hängen, falls diese VOIP macht.
Eine ganz ähnliches Supermicroboard macht hier ohne Probleme 500mbit im LAN und bald 200mbit FTTH (getestet habe ich diese Geschwindigkeit) mit der Pfsense schon
-
MTU habe ich gar nicht gesetzt. Müsste doch eigentlich automatisch erkannt werden, oder? Werde ich mir aber mal anschauen.
Um die Double NAT werde ich nicht umhinkommen. Zumindest bis August muss ich mit der "Edition M-Net" der Fritzbox arbeiten :/
Davon abgesehen sollte das doch trotzdem gehen, oder? Wenn ich selbst auf der pfSense an sich (also noch vor der 2. NAT sozusagen) die Geschwindigkeit nicht erreiche.Ich müsste das ganze mal ausführlicher mit iPerf testen und nochmal den Durchsatz an der Fritzbox ohne IPv6 (das war am Testlaptop nicht explizit deaktiviert) messen.
-
Double NAT ist ein zusätzliches Problem und völlig unnötig sowie generell mit Einschränkungen behaftet.
Spannende Aussage, die ich bislang aber noch nirgends habe erleben dürfen. Was sind denn generelle Einschränkungen und Probleme? Wenn auf dem vorgeschalteten Router die pfSense dahinter als exposed Host eingetragen wird, sollte das den Paketen reichlich egal sein. Da hier keine Encapsulation irgendeiner Form stattfindet, ist an der spezifischen Stelle auch kein MTU ein Problem (was nicht heißt dass es davor oder dahinter nicht schon falsch ist). Aber bei ner doppelten NAT hat MTU bislang noch nie reingespielt und auch sonst kein großes Problem gemacht - bin ja als Kabelnetz geschädigter auch darauf angewiesen und nutze das jahrelang schon problemlos mit allem was rumfliegt (v6, VPN, etc.)
-
UPnP ist zum Beispiel eines der klassischen Problemfelder bei Double NAT
-
Ömmm nö. Zumindest bei mir nicht. Funktioniert problemlos in o.g. Szenario. Da ich Daten unterwegs bzw. an andere Standorte bspw. mit BTSync synchronisiere, sehe ich da recht gut, ob UPnP-Ports aufgemacht werden und funktionieren oder nicht. Und da die Daten synchron sind und brav synchronisiert werden, klappt das auch sauber :)
-
Mag sein, dass dies bei einem exposed Host so ist, ist aber nun auch nicht wirklich das klassische Double NAT.
-
Exposed Host ist hier gar nicht benötigt, da offene Ports nicht gewünscht sind. Da würde es ja auch schon Probleme durch das VPN geben ;)
Ich hab jetzt auch nochmal mit iPerf durchgemessen. Komme sowohl am WAN- als auch am (VPN-)LAN-Port auf 80-90 MBit/s (bei 100-MBit/s-Ethernet-Verbindung), die Hardware ist also definitiv nicht das Problem.
Interessant finde ich dann wiederum Folgendes:
Windows Client hinter pfSense (wohlgemerkt wiederum hinter einem weiteren Router [also im Endeffekt triple NAT ;)]):
iperf -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 TCP window size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.XXX.XXX port XXXXX connected with 89.84.127.53 port 5200 write failed: Connection reset by peer [ ID] Interval Transfer Bandwidth [ 3] 0.0- 0.0 sec 256 KBytes 54.3 Mbits/sec
Auf pfSense selbst:
mit VPN:iperf -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 TCP window size: 64.1 KByte (default) ------------------------------------------------------------ [ 3] local 10.XXX.XXX.XXX port XXXXX connected with 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 18446744073695952896 bits 3422735104518636462967653138432s/sec
ohne VPN:
iperf -B 192.168.178.XXX -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 Binding to local address 192.168.178.XXX TCP window size: 64.3 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.178.XXX port 5200 connected with 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 18446744073695969280 bits 3422661519731621410045167665152s/sec
Dabei denke ich, dass folgende Test aussagekräftiger sind:
Windows Client:
iperf -l 1M -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 TCP window size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.XXX.XXX port XXXXX connected with 89.84.127.53 port 5200 write failed: Connection reset by peer [ ID] Interval Transfer Bandwidth [ 3] 0.0- 0.0 sec 416 KBytes 86.7 Mbits/sec
pfSense:
über VPN:iperf -l 1M -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 TCP window size: 64.1 KByte (default) ------------------------------------------------------------ [ 3] local 10.XXX.XXX.XXX port XXXXX connected with 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.3 sec 10.0 MBytes 8.15 Mbits/sec
ohne VPN:
iperf -B 192.168.178.XXX -l 1M -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 Binding to local address 192.168.178.XXX TCP window size: 64.3 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.178.XXX port 5200 connected with 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 11.0 MBytes 9.22 Mbits/sec
Wobei ich befürchte, dass das alles an der Version von iperf liegt (dabei habe ich extra nicht die eigentlich aktuelle v3 genommen) :/
Windows:```
iperf -v
iperf version 2.0.8b (17 Sept 2015) pthreadspfSense:``` iperf -v iperf version 2.0.5 (08 Jul 2010) pthreads
Nehme ich die 2.0.5 für Win32 komme ich auch auf folgendes:
iperf -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 TCP window size: 64.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.XXX.XXX port XXXXX connected with 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 2946184355743860 bits 2985223529346989240780709248336s/sec
iperf -l 1M -p 5200 -c bouygues.testdebit.info ------------------------------------------------------------ Client connecting to bouygues.testdebit.info, TCP port 5200 TCP window size: 64.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.XXX.XXX port XXXXX connected with 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth [ 3] 0.0-11.7 sec 9.00 MBytes 6.47 Mbits/sec
Okay. Ich mach gleich nochmal einen Post. iPerf3 gibts auch für pfSense, nur nicht über das GUI…
-
Jetzt mit Version 3.1.2 auf allen Maschinen:
Windows Client:
iperf3 -4 -p 5200 -c bouygues.testdebit.info Connecting to host bouygues.testdebit.info, port 5200 [ 4] local 192.168.XXX.XXX port XXXXX connected to 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 640 KBytes 5.24 Mbits/sec [ 4] 1.00-2.00 sec 896 KBytes 7.34 Mbits/sec [ 4] 2.00-3.00 sec 1.00 MBytes 8.39 Mbits/sec [ 4] 3.00-4.00 sec 896 KBytes 7.35 Mbits/sec [ 4] 4.00-5.00 sec 896 KBytes 7.33 Mbits/sec [ 4] 5.00-6.00 sec 1.00 MBytes 8.40 Mbits/sec [ 4] 6.00-7.00 sec 1.00 MBytes 8.39 Mbits/sec [ 4] 7.00-8.00 sec 896 KBytes 7.33 Mbits/sec [ 4] 8.00-9.00 sec 896 KBytes 7.34 Mbits/sec [ 4] 9.00-10.00 sec 1.00 MBytes 8.39 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 9.00 MBytes 7.55 Mbits/sec sender [ 4] 0.00-10.00 sec 8.79 MBytes 7.38 Mbits/sec receiver iperf Done.
pfSense:
mit VPN:iperf3 -4 -p 5200 -c bouygues.testdebit.info Connecting to host bouygues.testdebit.info, port 5200 [ 4] local 10.XXX.XXX.XXX port XXXXX connected to 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 1.03 MBytes 8.63 Mbits/sec 0 78.8 MBytes [ 4] 1.00-2.00 sec 914 KBytes 7.48 Mbits/sec 4 37.7 MBytes [ 4] 2.00-3.00 sec 937 KBytes 7.67 Mbits/sec 2 37.7 MBytes [ 4] 3.00-4.00 sec 998 KBytes 8.18 Mbits/sec 0 77.1 MBytes [ 4] 4.00-5.00 sec 1010 KBytes 8.28 Mbits/sec 3 70.2 MBytes [ 4] 5.00-6.00 sec 786 KBytes 6.44 Mbits/sec 2 65.1 MBytes [ 4] 6.00-7.00 sec 909 KBytes 7.45 Mbits/sec 24 22.3 MBytes [ 4] 7.00-8.00 sec 949 KBytes 7.77 Mbits/sec 0 70.2 MBytes [ 4] 8.00-9.00 sec 967 KBytes 7.92 Mbits/sec 3 56.5 MBytes [ 4] 9.00-10.00 sec 865 KBytes 7.09 Mbits/sec 3 65.1 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 9.17 MBytes 7.69 Mbits/sec 41 sender [ 4] 0.00-10.00 sec 9.07 MBytes 7.61 Mbits/sec receiver iperf Done.
ohne VPN:
iperf3 -B 192.168.178.XXX -4 -p 5200 -c bouygues.testdebit.info Connecting to host bouygues.testdebit.info, port 5200 [ 4] local 192.168.178.XXX port XXXXX connected to 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 1.05 MBytes 8.84 Mbits/sec 0 80.4 MBytes [ 4] 1.00-2.00 sec 1.15 MBytes 9.65 Mbits/sec 0 110 MBytes [ 4] 2.00-3.00 sec 1.12 MBytes 9.39 Mbits/sec 1 82.2 MBytes [ 4] 3.00-4.00 sec 1.11 MBytes 9.32 Mbits/sec 0 112 MBytes [ 4] 4.00-5.00 sec 1.09 MBytes 9.16 Mbits/sec 1 89.7 MBytes [ 4] 5.00-6.00 sec 1.13 MBytes 9.46 Mbits/sec 7 63.6 MBytes [ 4] 6.00-7.00 sec 1.12 MBytes 9.36 Mbits/sec 0 99.1 MBytes [ 4] 7.00-8.00 sec 1.10 MBytes 9.21 Mbits/sec 12 69.2 MBytes [ 4] 8.00-9.00 sec 1.10 MBytes 9.23 Mbits/sec 0 103 MBytes [ 4] 9.00-10.00 sec 1.09 MBytes 9.12 Mbits/sec 7 84.1 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 11.1 MBytes 9.27 Mbits/sec 28 sender [ 4] 0.00-10.00 sec 10.9 MBytes 9.17 Mbits/sec receiver iperf Done.
Bonus - Linux Laptop direkt an der Fritzbox:
iperf3 -4 -p 5200 -c bouygues.testdebit.info Connecting to host bouygues.testdebit.info, port 5200 [ 4] local 192.168.178.XXX port XXXXX connected to 89.84.127.53 port 5200 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 1.05 MBytes 8.85 Mbits/sec 0 84.8 KBytes [ 4] 1.00-2.00 sec 1.11 MBytes 9.32 Mbits/sec 1 77.9 KBytes [ 4] 2.00-3.00 sec 1.12 MBytes 9.36 Mbits/sec 0 87.5 KBytes [ 4] 3.00-4.00 sec 1.15 MBytes 9.67 Mbits/sec 2 71.1 KBytes [ 4] 4.00-5.00 sec 1.07 MBytes 9.00 Mbits/sec 1 62.9 KBytes [ 4] 5.00-6.00 sec 1.04 MBytes 8.72 Mbits/sec 2 56.1 KBytes [ 4] 6.00-7.00 sec 1.12 MBytes 9.36 Mbits/sec 0 69.7 KBytes [ 4] 7.00-8.00 sec 1.12 MBytes 9.39 Mbits/sec 1 61.5 KBytes [ 4] 8.00-9.00 sec 1.05 MBytes 8.78 Mbits/sec 3 52.0 KBytes [ 4] 9.00-10.00 sec 1.06 MBytes 8.87 Mbits/sec 0 65.6 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 10.9 MBytes 9.13 Mbits/sec 10 sender [ 4] 0.00-10.00 sec 10.8 MBytes 9.09 Mbits/sec receiver iperf Done.
Das sieht mir jetzt leider so aus, als ob bei iPerf (zumindest mit dem Server) der Flaschenhals woanders steckt :(