Odp: Sprzętowy NAT w OpenWRT
Może będzie mniej podejrzane, jak napiszę, że testowałem w trybie "ROUTING" a nie "NAT".
-----
Poprzednie wyniki, to rezultaty uzyskane na szybko przez podmianę na chwilę Drayteka Vigor 2960 (Draytek szwankował, stąd testy) na testowane urządzenia i wykonanie szybkiego sprawdzenia parametrów łącza na speedtest.net (i tak byli tacy co zauważyli brak internetu przez 2 minuty). Draytek daje radę 940/940.
-----
Ale jako, że temat mnie trochę męczył, to zrobiłem"pomiary" za pomocą iperf (wszystko w trybie routing, czyli po prostu dwukierunkowy forward z akceptowaniem wszystkiego):
Xiaomi Router 4A Gigabit (czyli MT7621):
tylko software offloading
z włączonym wsparciem sprzętowym
TP-Link Archer C7 v4:
bez offloading
tylko software offloading
z włączonym wsparciem sprzętowym (którego ten model nie ma)
4A, software ofloading, linux -> windows:
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.66 port 56189 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 958 MBytes 803 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.66 port 56207 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 897 MBytes 752 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.66 port 56241 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 899 MBytes 753 Mbits/sec4A, software ofloading, windows -> linux:
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37076 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 563 MBytes 472 Mbits/sec
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37078 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 941 MBytes 789 Mbits/sec
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37080 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 563 MBytes 472 Mbits/sec
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37082 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 658 MBytes 552 Mbits/sec
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37084 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 942 MBytes 790 Mbits/sec4A, hardware ofloading, linux -> windows:
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.66 port 59506 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 929 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.66 port 59553 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 929 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.66 port 59698 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.09 GBytes 936 Mbits/sec4A, hardware ofloading, windows -> linux:
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37086 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 929 Mbits/sec
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37088 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 931 Mbits/sec
# iperf -c 192.168.1.66
------------------------------------------------------------
Client connecting to 192.168.1.66, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.14 port 37090 connected with 192.168.1.66 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.09 GBytes 934 Mbits/secC7, po 3 wyniki bez offloading, z software offloading, w włączoną opcją hardware:
# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 55475
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 324 MBytes 271 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 55622
[ 4] 0.0-10.0 sec 329 MBytes 275 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 55766
[ 4] 0.0-10.0 sec 329 MBytes 276 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 53877
[ 4] 0.0-10.0 sec 1.04 GBytes 891 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 53921
[ 4] 0.0-10.0 sec 1.04 GBytes 893 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 56092
[ 4] 0.0-10.0 sec 1.02 GBytes 876 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 50715
[ 4] 0.0-10.0 sec 1.01 GBytes 870 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 50732
[ 4] 0.0-10.0 sec 1.03 GBytes 887 Mbits/sec
[ 4] local 192.168.32.14 port 5001 connected with 192.168.1.66 port 50752
[ 4] 0.0-10.0 sec 1.05 GBytes 897 Mbits/secTak do kompletu - wyniki bez routera po drodze (jakieś switche były...):
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.21 port 54142 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 931 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.21 port 54200 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.09 GBytes 939 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.21 port 54205 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.06 GBytes 912 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.21 port 54213 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 926 Mbits/sec
>iperf -c 192.168.32.14
------------------------------------------------------------
Client connecting to 192.168.32.14, TCP port 5001
TCP window size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.32.21 port 54218 connected with 192.168.32.14 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.08 GBytes 926 Mbits/secNa obydwu sprzętach miałem OpenWrt 21.02-SNAPSHOT (r16090-bbbc01ede5) z eko.one.pl. Testowane systemy: Windows 10 20H2 i Ubuntu Server 18.04.
W mojej domowej sieci, to co przeszło przez C7 w trybie "software offloading" jest dla mnie całkiem wystarczające.
Jak chodzi o sprzęt w pracy, to powiedziałbym, że MT7621 daje radę w trybie hardware (celowałbym w ER-X, a nie 4A użytkowo), ale komentarz @chemik89 dotyczący stabilności tego rozwiązania trochę mnie martwi ![]()