26

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):

  1. Xiaomi Router 4A Gigabit (czyli MT7621):

    • tylko software offloading

    • z włączonym wsparciem sprzętowym

  2. 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/sec

4A, 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/sec

4A, 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/sec

4A, 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/sec

C7, 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/sec

Tak 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/sec

Na 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 sad

27

Odp: Sprzętowy NAT w OpenWRT

Hardware flow offloading dla PPPoE na R6220 (MT7621) działa z OpenWRT 19.07, ale router potrafi się od czasu do czasu zawiesić lub samoczynnie zrestartować. Natomiast z 20.02 HFO dla PPPoE po prostu nie działa.

28 (edytowany przez chemik89 2021-05-24 14:18:27)

Odp: Sprzętowy NAT w OpenWRT

testujcie testujcie, u mnie leci tymczasowo tylko ping na r6220 z HWOL, na razie od kilkunastu godzin i dalej działa.
Później wymyśle jakiś skrypcik skaczący po losowych stronach z wget > /dev/null ;p

zwykły OL staje się coraz bardziej bezuzyteczny z kolejnymi wersjami, wyniki są zbyt niestabilne i obciążające CPU - który nie zawsze może poświęcić temu zadaniu 100% uwagi, tylko HW lub x86 nas uratuje smile

29 (edytowany przez mar_w 2021-05-24 16:32:06)

Odp: Sprzętowy NAT w OpenWRT

Jest tego trochę w sieci...:


naprzemiennie jak znalazł wink

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

30

Odp: Sprzętowy NAT w OpenWRT

mar_w napisał/a:

Jest tego trochę w sieci...:


naprzemiennie jak znalazł wink

zbyt proste, chciałem żeby poskakał troche po serwerach a nie zasysał ciągle z jednego wink no i ilość równoległych połaczeń wiecej wink

31 (edytowany przez mar_w 2021-05-24 16:43:37)

Odp: Sprzętowy NAT w OpenWRT

to był tylko przykład. można też puścić wszystko na raz smile
jak ma się wywalić to się wywali na takim czymś.

Najlepszy będzie Torrent z maksymalną liczbą połączeń, bez kombinacji

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

32 (edytowany przez chemik89 2021-05-24 16:47:08)

Odp: Sprzętowy NAT w OpenWRT

też o nim pomyślałem wcześniej i chyba na niego padnie wink przynajmniej będzie jakiś pożytek z seedowania obrazu debiana czy coś wink
no i będzie mix połączeń tcp i udp wink

33

Odp: Sprzętowy NAT w OpenWRT

otóż to big_smile

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

34

Odp: Sprzętowy NAT w OpenWRT

U mnie R6220 z HW NAT wywala się, gdy nic (lub prawie nic) nie jest pobierane, np. w środku nocy. Rekord stabilności to prawie 72 godziny, a rekord niestabilności to około 30 minut.

35

Odp: Sprzętowy NAT w OpenWRT

Witam. Tak informacyjnie, u mnie śmiga R6220, z OpenWrt w wersji: 19.07-SNAPSHOT r11285-11f4918ebb, hwnat aktywny, przez router przechodzi dziennie ok. 3-6TB danych (router nietypowo nie udostępnia internetu, a jedynie stanowi "bezpieczny łącznik" pomiędzy dwiema odrębnymi sieciami lan) przy tym uzyskiwane prędkości odpowiadają parametrom gigabitowego ethernetu (kopiowanie plików do 115MB/s) Przy tych parametrach, restarty występują średnio co ok. 2 tygodnie, i są spowodowane najprawdopodobniej błędną obsługą switcha (pojawiają się wpisy w logu "mtk_soc_eth 1e100000.ethernet eth0: port 4 link down") Poza tym, bez zastrzeżeń, być może na nowszej wersji systemu by było lepiej, jednak router stanowi integralną część sieci i póki co nie mogę sobie pozwolić na "zabawę" w zmianę oprogramowania.

36

Odp: Sprzętowy NAT w OpenWRT

Nie będzie więcej. Przecież masz gigabitowy switch tylko.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

37

Odp: Sprzętowy NAT w OpenWRT

cheaterenator, jeśli dobrze rozumiem, ten "bezpieczny łącznik" nie używa PPPoE?

38

Odp: Sprzętowy NAT w OpenWRT

i jak wygląda obecnie sytuacja? Jest poprawa na nowych buildach?

39

Odp: Sprzętowy NAT w OpenWRT

Jeśli chodzi o wersje rozwojowe, występują problemy z niestabilnością na kernelu 5.10, a do tego po zmianie firewalla na nftables hardware offloading w ogóle nie działa, przynajmniej na razie.

40

Odp: Sprzętowy NAT w OpenWRT

Na x86 problem nie występuje, he he

Dom : router https://i.imgur.com/IuB6Zwy.png | TP-LINK T1700G-28TQ |Zyxel XGS-1210-12 | 6x Ruckus r310 unleashed  + Ruckus icx7150-c12p | Truenas scale 124TB 25Gb| Xpenology 12TB | apc smart ups 750 lcd smile 100Mb/s - 25Gb/s
Podróżne : GL.Inet MT3000  +1TB hdd
Działka : rb260gs 1j wdm 1Gb+ ruckus r310 + nb m5 + kilka kamer ip  + panel 285Wp + lifepo4 12v 60Ah .

41

Odp: Sprzętowy NAT w OpenWRT

W dzisiejszym buildzie (r18781-8d8d26ba42) działa hardware offloading na R6220, ale jeszcze nie testowałem z VLAN i PPPoE.

42

Odp: Sprzętowy NAT w OpenWRT

Ginti napisał/a:

W dzisiejszym buildzie (r18781-8d8d26ba42) działa hardware offloading na R6220, ale jeszcze nie testowałem z VLAN i PPPoE.

Daj znać po testach z PPPoE, ponieważ aktualnie mój build z r18394-962c585580 ma problem ze sterownikiem mt76, a nie mam możliwości wrzucenia aktualnego mastera.

43

Odp: Sprzętowy NAT w OpenWRT

Dziwna sprawa z PPPoE i VLAN, bo zużycie procesora na maksa, ale prędkość jak z hardware offloadingiem.

44

Odp: Sprzętowy NAT w OpenWRT

Miałem chwilę aby wrzucić aktualnego mastera ale niestety się nie buduje:

ERROR: module '/home/bartekk/openwrt/r6220/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-5.10.100/net/ipv6/netfilter/nft_reject_ipv6.ko' is missing.
make[3]: *** [modules/netfilter.mk:1068: /home/bartekk/openwrt/r6220/openwrt/bin/targets/ramips/mt7621/packages/kmod-nft-core_5.10.100-1_mipsel_24kc.ipk] Error 1
make[3]: Leaving directory '/home/bartekk/openwrt/r6220/openwrt/package/kernel/linux'
time: package/kernel/linux/compile#2.46#0.23#2.69
    ERROR: package/kernel/linux failed to build.

45

Odp: Sprzętowy NAT w OpenWRT

Wygląda na to, że offloading obecnie nie działa prawidłowo z PPPoE, bo nie dodano portu wan do odpowiedniej tabeli nftables: https://forum.openwrt.org/t/possible-ke … /115505/66

46

Odp: Sprzętowy NAT w OpenWRT

W takim razie czekamy na fixa i zbuduje na czysto raz jeszcze smile

47

Odp: Sprzętowy NAT w OpenWRT

Już jest: https://github.com/openwrt/openwrt/comm … 703f6f7d36

48

Odp: Sprzętowy NAT w OpenWRT

Potwierdzam - OpenWrt SNAPSHOT r18801-56256259a1 idzie jak burza przy 600/100 przez PPPoE, może to czas żeby podbić do 1000/300 i zobaczyć czy też sobie poradzi smile