Hallo, gerade etwas am Verzweifeln.
Hat jemand ein funktionierendes Beispiel mit einem wechselnden IPv6-Prefix der Telekom als WAN? Hatte gerade einen Download über Steam über IPv6 der die gesamte Bandbreite gefressen hatte und kein Ansatz konnte das unterbinden. Ich hatte es ursprünglich nach dem offiziellen Wiki (https://docs.opnsense.org/manual/how-tos/shaper_share_evenly.html) probiert und nun noch ein weiteres Tutorial (https://maltechx.de/2021/03/opnsense-setup-traffic-shaping-and-reduce-bufferbloat/) probiert, doch die App frisst weiterhin 99% der PipeDown. Über IPv4 lief es nach dem Wiki einwandfrei.
Seltsam ist auch das im Shaper-Status mit "Show active flows" jeglicher IPv6-Traffic als Source ::/0 und Destination ::/0 auflistet, während bei IPv4 die entsprechende Quelle/Ziel korrekt mit der genauen IP aufgelistet wird.
Hat jemand ein ähnliches Setup bei dem es funktioniert, was mache ich falsch?
Nun nochmal vereinfacht mit iperf3 getestet von zwei Clients über das gleiche LAN 192.168.22.0/24 und entsprechenden IPv6s aus dem Telekom-Prefix-Bereich 2003::/19. Die Regeln sind dabei:
Pipes:
PipeDown, 10 Mbit/s, Weighted Fair Queueing
PipeUp, 10 Mbit/s, Weighted Fair Queueing
Queues:
QueueDown auf PipeDown, 100 Weight, destination
QueueUp auf PipeUp, 100 Weight, source
Rules:
Seq 11, WAN, ip, any auf allem, Direction in, Target QueueDown
Seq 21, WAN, ip, any auf allem, Direction out, Target QueueUp
Setup der Interfaces ist simpel:
LAN IPv4 Static, IPv6 Track Interface, Tracking WAN
LAN meldet 192.168.22.1 / 2003:cc:XXX:73c9
WAN IPv4 PPPoE, IPv6 DHCPv6, PD Size 56, Use IPv4 connectivity
WAN meldet 80.128.XXX.XXX / 2003:cc:XXX:73c9
Router ist ein DEC-750
Beide Testclients Ubuntu Linux über LAN verbunden.
Testläufe über einen Client zeigen das zumindest die Pipe korrekt funktioniert und auf 10 Mbit/s limitiert, sowohl über IPv4 als auch IPv6.
Das tatsächliche Verhalten bei zwei gleichzeitigen Clients im Mischbetrieb ist doch recht unerwartet, mit einigen Sekunden versetzt gestartet:
iperf3 -c SERVER -p 55020 -t 20 -R -4
Connecting to host SERVER, port 55020
Reverse mode, remote host SERVER is sending
[ 5] local 192.168.22.162 port 38928 connected to 116.203.XXX.XXX port 55020
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 1.00-2.00 sec 588 KBytes 4.82 Mbits/sec
[ 5] 2.00-3.00 sec 591 KBytes 4.84 Mbits/sec
[ 5] 3.00-4.00 sec 588 KBytes 4.81 Mbits/sec
[ 5] 4.00-5.00 sec 571 KBytes 4.68 Mbits/sec
[ 5] 5.00-6.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 6.00-7.00 sec 588 KBytes 4.82 Mbits/sec
[ 5] 7.00-8.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 8.00-9.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 9.00-10.00 sec 588 KBytes 4.82 Mbits/sec
[ 5] 10.00-11.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 11.00-12.00 sec 537 KBytes 4.40 Mbits/sec
[ 5] 12.00-13.00 sec 636 KBytes 5.21 Mbits/sec
[ 5] 13.00-14.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 14.00-15.00 sec 588 KBytes 4.82 Mbits/sec
[ 5] 15.00-16.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 16.00-17.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 17.00-18.00 sec 589 KBytes 4.83 Mbits/sec
[ 5] 18.00-19.00 sec 588 KBytes 4.82 Mbits/sec
[ 5] 19.00-20.00 sec 589 KBytes 4.83 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-20.01 sec 11.8 MBytes 4.95 Mbits/sec 12 sender
[ 5] 0.00-20.00 sec 11.5 MBytes 4.81 Mbits/sec receiver
Der IPv4-Client schaut also OK aus. Er bekommt 50%.
Der IPv6-Client dagegen hat ein sehr seltsames Verhalten:
iperf3 -c SERVER -p 55021 -t 120 -R -6
Connecting to host SERVER, port 55021
Reverse mode, remote host SERVER is sending
[ 5] local 2003:cc:XXX:7099 port 60670 connected to 2a01:XXX::1 port 55021
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 409 KBytes 3.35 Mbits/sec
[ 5] 1.00-2.00 sec 458 KBytes 3.75 Mbits/sec
[ 5] 2.00-3.00 sec 448 KBytes 3.67 Mbits/sec
[ 5] 3.00-4.00 sec 478 KBytes 3.92 Mbits/sec
[ 5] 4.00-5.00 sec 494 KBytes 4.04 Mbits/sec
[ 5] 5.00-6.00 sec 463 KBytes 3.79 Mbits/sec
[ 5] 6.00-7.00 sec 448 KBytes 3.67 Mbits/sec
[ 5] 7.00-8.00 sec 404 KBytes 3.31 Mbits/sec
[ 5] 8.00-9.00 sec 355 KBytes 2.91 Mbits/sec
[ 5] 9.00-10.00 sec 306 KBytes 2.51 Mbits/sec
[ 5] 10.00-11.00 sec 283 KBytes 2.32 Mbits/sec
[ 5] 11.00-12.00 sec 211 KBytes 1.73 Mbits/sec
[ 5] 12.00-13.00 sec 169 KBytes 1.39 Mbits/sec
[ 5] 13.00-14.00 sec 111 KBytes 909 Kbits/sec
[ 5] 14.00-15.00 sec 86.0 KBytes 704 Kbits/sec
[ 5] 15.00-16.00 sec 70.7 KBytes 579 Kbits/sec
[ 5] 16.00-17.00 sec 201 KBytes 1.65 Mbits/sec
[ 5] 17.00-18.00 sec 587 KBytes 4.81 Mbits/sec
[ 5] 18.00-19.00 sec 865 KBytes 7.09 Mbits/sec
[ 5] 19.00-20.00 sec 989 KBytes 8.10 Mbits/sec
[ 5] 20.00-21.00 sec 1.01 MBytes 8.45 Mbits/sec
^C[ 5] 21.00-21.46 sec 473 KBytes 8.37 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-21.46 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-21.46 sec 9.12 MBytes 3.56 Mbits/sec receiver
Er wird immer weiter runterdrosselt, bis zu Sekunde 16, wo der IPv4-Client fertig ist.
Ebenfalls geprüft habe ich ob es mit Hardware CRC/TSO/LRO zusammen hängen könnte und die Einstellungen für die Tests an- und abgestellt, ohne einen Effekt. Den Router selbst auch einmal durchgestartet.
Das Problem mit der Totdrosselung von IPv6-Traffic passiert ungefähr jeden zweiten bis dritten Test.
Es deckt sich nicht einmal mit dem Verhalten was ich gestern hatte mit Steam, wo IPv6 die absolute Priorität bekam, allerdings weiss ich auch nicht auf welche Art Steam die Dateien übertragt.
Hat jemand eine Idee wo der Fehler sein könnte oder ein funktionierendes Setup?