51

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

A co się stanie jeśli wpada nie zatrzymam? Jest ryzyko, że uwalę tym router i trzeba będzie wszystko wgrywać na nowo? Czy po prostu się nie zaktualizuje i uruchomi ponownie ze starym oprogramowaniem?
Aktualizowałem już kilka razy, a kila tych razy zapomniałem o zatrzymaniu wpada. Co prawda nic się złego nie stało i router normalnie się zaktualizował, ale wolałbym wiedzieć na przyszłość, czy czymś to grozi (niezatrzymanie wpada).

52

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

kw napisał/a:
kmaras77 napisał/a:

Musze testować nowe buildy na jednym routerze aby rodzina mnie nie zjadła, jak WiFi przestanie działać.

Mam to samo, ja testuje w nocy big_smile

No właśnie, a jak snapshot nie siadnie i jest gorzej niż było to macie jakąś prostą i szybką metodę na downgrade? Ja w górę aktualizuję przez firmware selectora, ale zastanawiam się niekiedy, co zrobić na szybko jak będzie zmiana na gorsze smile

53

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

I jak, stabilnej jak nie było tak dalej nie ma tongue

54

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

kmaras77 napisał/a:

Był problem, który objawiał się zrywaniem WiFi i wpisem w logu kernela:

ath11k: Failed to flush transmit queue and wifi disruption

Ale w jakiej wersji? Ja mam najnowszą.

55

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

To ja w takim razie napiszę coś innego. Aktualnie mój AX3600 działa bardzo stabilnie na WiFi. Na snapshocie sprzed 2 tygodni temu miałem ciągłe zrywanie połączenia po podłączeniu laptopa i stacjonarki. Na aktualnym snapshocie póki co wszystko działa idealnie. Nie zauważam problemów.

56

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

kw napisał/a:

Ale czy trafi do oficjalnego to też jestem ciekaw. Pytanie jaki status mają te sterowniki bo jak nie są na jakiejś wolnej licencji to można zapomnieć.

Sterowniki mają na pewno otwarte źródło, gdyż zamieszczony jest cały branch wraz z nss na githubie.
Jaka jest różnica w prędkości bez NSS i z NSS? Ktoś może robił test iperf?

57

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

A w tym oficjalnym buildzie (snapshot) OpenWrt hw offloading nie działa? A jeśli nie, to czy kiedyś będzie (czy powstanie oficjalna wersja obrazu) bez dodatkowych zabaw w zewnętrzne źródła?

To akurat dom jednorodzinny smile Miejscowość nie jakaś duża, więc mam nadzieję, że źle nie będzie smile

Co do komend nftable - już to mam u siebie ułożone z jumpami tak jak chciałem. Teraz w zasadzie tylko czekać aż zostanie założony światłowód i wykona się przez jakiś czas speedtesty jaka ta przepustliwość jest smile

Cezary, zależy. Z jednej strony tak (sprawiedliwy podział), a z drugiej strony szukałem czegoś by np. podzielić łącze WAN na np. 3 grupy: 10MB/s, 10MB/s i 5MB/s. Z czego, najidealniejsza sytuacja to taka, w której łącze samo się dostosowuje, aby nie marnować wolnego pasma (jeśli np. można coś pobrać szybciej, a np. ktoś śpi).
Przykładowo, są 2 ograniczenia: 20MB/s i 20MB/s i jest 2 użytkowników, a każdy z nich ma wydzielone 20MB/s. Natomiast, jeśli jeden z nich pójdzie spać (adres IP / adresy IP danego użytkownika się rozłączą) to przepustowość tego jednego użytkownika zwiększy się do 40MB/s (tak będzie efektywniej). Ale to jest ogólnie raczej ciężkie do zrobienia, więc to odstawiam na razie na bok. Na razie wydzielenie sztywnych prędkości dla pewnych zakresów adresów to strzał w 9/10 wink

Tak nawiasem, nawiązuję do tego postu, gdzie kiedyś dokładniej opisałem przykładową (podobną sytuację), którą potrzebuję uzyskać: https://eko.one.pl/forum/viewtopic.php?id=22765 smile

Jedyne co mnie jeszcze martwi to światłowód, a raczej ta prędkość z UPC (tam jest napisane, że np. do 600Mbps, a nie sztywne 600Mbps, więc jeśli z 600Mbps zrobi się 480Mbps to będę musiał ciąć łącza tak, aby nie nachodziły na siebie (100% łącza to wtedy 480Mbps)). Jestem jednak nadziei, że będzie to prawie cały czas 600Mbps albo chociaż niech będzie to 500Mbps, ale żeby nie było skoków, że raz 550Mbps, a za 3h jest 350Mbps, potem za 1h 450Mbps, a pod wieczór z 200Mbps (mam nadzieję, że aż tak źle to nie wygląda przy światłowodzie (jeszcze mam ADSL 10Mbps wink)).

Jeszcze sobie przypomniałem jedną rzecz, może ktoś mnie oświeci w związku z nftables. Czy jest jakaś reguła opcja, która zrobi w firewallu pierwszeństwo pakietów związanych z np. określone porty, gry (multiplayer typu CS, League of Legends, Dota itd.), VoIP?
To by też dużo pomogło jeśli już rozmawiamy tak o firewallu i nftables smile

mar_w napisał/a:

Ad2. Grupa ma 2 MB/s a pojedynczy host tylko 1 MB/s ale ma możliwość podbicia o dodatkowy 1 Mb/s gdy mu pozwoli łącze gdy inni pójdą spać.

Ok, a jak on wykrywa, kiedy inne hosty "idą spać"? Czy po prostu "na siłę wpycha się" w łącze? Czy może patrzy czy pakiety lecą na pozostałych regułach (lejcach)?

Ad2. Ma to sens, widzę teraz dużą różnicę tego. Wiem o co chodzi, jednak do moich zastosowań najlepszym rozwiązaniem jest ograniczenie zakresów IP, a to jak ktoś już sobie rozdysponuje łącze to już tej osoby inwencja big_smile


mar_w napisał/a:

Ad4. Absolutnie nie jestem na "Ty" z nftables. Dostaję białej gorączki jak mam wpisywać z terminala nowe regułki, znając trochę lepiej iptables.
to jest chyba nielogiczne mieć grupę 1M a części z nich dawać lejce 20 a innym 10 ?
Trochę kombinujesz, zjedz snickersa bo nie jesteś Sobą wink
Ja bym założył 2 łańcuchy na upload i 2 na download np
lejce1_up dla adresów 0.10-0.100
lejce2_up dla adresów 0.10-0.100
to samo dla download
Na ostatni punkt trzeba się zastanowić na świeżym "kalafiorze" bo już późno się zrobiło....

Globalizacje to się robi gdy masz w firmie 1000 użytkowników i 30 różnych grup a w każdej grupie po 50 uprawnień do różnych funkcji w programie z czego ktoś może być w kilku grupach.

Hah big_smile Ale i tak radzisz sobie z nftables świetnie. Ja ledwo co zacząłem, dużo nie wymagam, ale te ograniczenia są dla mnie bardzo ważne. Tym bardziej, że mam bardzo dużo urządzeń w domu, a chcę całkowicie ograniczyć sytuacje, gdzie urządzenia wbijają się jak chcą i zabierają całe łącze.
Co do tego 1MB/s to oczywiście tylko przykład wink
I tak też zrobię, osobne grupy ograniczeniowe dla pewnych zakresów, oddzielnie dla upload i download smile

Tak nawiasem, wiesz może jak najlepiej dodać reguły nftables do OpenWRT tak aby przy ponownym uruchamianiu one już były w firewallu lub by zostawały dodane na początku uruchamiania? Jestem w sumie jeszcze świeży w OpenWRT, a wolałbym to zrobić w jakiejś przyszłościowej metodzie, tak, ab ustawienia były także łatwe do zachowania/przywrócenia przy aktualizacji systemu.

4. Mam jeszcze jedno pytanie, skoro widzę, że z nftables jesteś na "Ty" big_smile
Czy masz pomysł jak rozwiązać, aby wszystkie adresy od 192.168.0.1 do 192.168.0.255 były w jednej grupie ograniczonej do 1MB (wszystkie). Jednak z przedziału:
- od np. 192.168.0.10 do 192.168.0.100 mają ograniczenie do 20MB/s,
- a adresy od np. 192.168.0.101 do 192.168.0.120 mają ograniczenie do 10MB/s? smile

Chodzi o to, aby ująć wszystkie adresy od razu do jednej puli, a później z niej "odgraniczać" inne zakresy.

Kurcze, ale się cieszę. Dokładnie z jakieś 2h temu spróbowałem postawić kod nftables z punktu 4 i zadziałało! Było to czyste ułożenie na logikę i wzorowanie się na różnych innych skryptach nftables. Ale cieszy mnie to bardzo, że jest duży postęp i szansa na dane rozwiązanie!

@mar_w Bardzo Ci dziękuję także za odpowiedź, utwierdza mnie to w przekonaniu, że warto w to rozwiązanie iść big_smile
Mam natomiast kilka pytań do Twojego kodu, by go lepiej zrozumieć:
1. Co oznacza "counter packets 2400 bytes 21704344"? Chodzi mi o tą linijkę:

limit rate over 2 mbytes/second counter packets 2400 bytes 21704344 drop # handle 13

Czy może ta linijka wygląda w rzeczywistości tak jak poniżej?

limit rate over 2 mbytes/second drop # handle 13

2. Co oznacza opcja "burst 1 mbytes"? Czytam na internecie i jeszcze nie czaję tego. Czy może to jest coś w stylu "sprawiedliwego"/równego podziału łącza na użytkowników? Jak w ogóle to rozwiązać, aby podział łącza był w miarę równy (jednak może się wydarzyć sytuacja, że któremuś użytkownikowi nie poleci pełne łącze, ale za to dobrze by było, aby drugiemu użytkownikowi poleciała pełna prędkość ponad "sprawiedliwy podział" (do maksymalnego zdefiniowanego limitu w nftables)?

ip saddr 192.168.1.100 limit rate 1 mbytes/second burst 1 mbytes counter packets 7546 bytes 41975042 accept # handle 14

3. Testując kod z punktu nr 4 zauważyłem, że gdy przykładowo zastosowałem ograniczenie łącza 500KB/s to przy pobieraniu pliku testowego FTP zrywało mi połączenie na jednym z urządzeń. Tak jakby pakiety były na jednym z nich całkowicie DROP-owane. Czy da się to w ogóle jakoś rozwiązań, aby prędkość spadała, jednak, aby te połączenia się nie zrywały? Zastanawiam się czy to nie jest wina tej opcji DROP (i czy nie ma jakiejś mniej restrykcyjnej alternatywy dla DROP-u w stylu "kolejki")? Bo DROP rozumiem jako całkowite odrzucenie pakietu (chyba, że się mylę)?

1. Ok, rozumiem. W takim razie, gdybym miał reguły NFT to należy je dodawać komendami w SSH takimi jakie napisałem w punkcie 1 (przykładowe reguły), tak? Czy jak Ty byś je dodał (gdybyś potrzebował je wprowadzić u siebie)?
2. Sprawdzę w najbliższe dni i dam znać.

Mam kilka pytań do narzędzia nftables oraz potrzebuję pomocy do rozwiązania mojego problemu związanego z ograniczeniem przepustowości dla kilku adresów IP (ograniczenie łączne).
1. Czy jedyną metodą jest dodawanie tabel/łańcuchów nftables przy pomocy komend np.

# nft add table ip filter
# nft 'add chain ip filter input { type filter hook input priority 0 ; }'
# nft 'add chain ip filter output { type filter hook output priority 0 ; }'

Pytam, gdyż nie mogę za bardzo znaleźć komend w uci, gdzie dodaje się nazwę tabeli, łańcuchów, setów lub zbiorów define. Chyba, że nie jest to potrzebne/wymagane?

2. Czy da się ograniczyć wiele komputerów do jednej wspólnej prędkości np. pobierania? Na przykład są 2 komputery, są ograniczone do pobierania 500KB/s, zatem na jednym może lecieć 100KB/s, a na drugim 400KB/s (będą "biły" się o łącze, natomiast razem go nie przekroczą (500KB/s)).
Wiem, że na pewno da się to zrobić dla jednego adresu IP przy pomocy nftables (i działa to bardzo dobrze póki co):

table inet nft-qos-static {
        chain upload {
                type filter hook postrouting priority filter; policy accept;
                ip saddr 192.168.1.249 limit rate over 200 kbytes/second drop
        }

        chain download {
                type filter hook prerouting priority filter; policy accept;
                ip daddr 192.168.1.249 limit rate over 500 kbytes/second drop
        }
}

Natomiast jak to zedytować, by połączyć wiele adresów IP zamiast jednego (ograniczenie prędkości łączne dla grupy adresów IP)?

3. W nawiązaniu do kodu z punktu nr 2, wyobraziłem sobie taki kod przy pomocy zbiorów adresów IP define (może być niepoprawna składania - kod jest jedynie "poglądowy"):

table inet nft-test-qos {
        chain upload {
                type filter hook postrouting priority filter; policy accept;
                ip saddr { 192.168.1.249, 192.168.1.250, 192.168.1.251 } limit rate over 200 kbytes/second drop
        }

        chain download {
                type filter hook prerouting priority filter; policy accept;
                ip daddr { 192.168.1.249, 192.168.1.250, 192.168.1.251 } limit rate over 500 kbytes/second drop
        }
}

Zatem czy to nie byłaby suma ograniczenia prędkości dla danych 3 adresów powyżej? Czy może kod zadziała ograniczając każdy jeden adres z 3 do tych np. 500KB/s (z osobna, a nie razem)?

4. W tym punkcie również nawiązuje do pytania nr 2. Szukając w internecie i czytając sporo o nftables natrafiłem jeszcze na metody: goto oraz jump. Zatem wyobraziłem sobie taki kod w głowie (może być niepoprawny - kod jest jedynie "poglądowy"):

table inet test-ograniczen {
    chain download-end {
        limit rate over 500 kbytes/second drop
    }
    chain download {
        type filter hook prerouting priority filter; policy accept;
        ip daddr 10.6.0.100 jump download-end
        ip daddr 10.6.0.101 jump download-end
        ip daddr 10.6.0.102 jump download-end
    }
}

I czy to prawo działać? Czy ten kod nie ograniczyłby mi może przepustowości łącza dla tych 3 adresów IP (łącznie, a nie z osobna)?

Tak, w pełni się z tym zgadzam. Niepotrzebnie zżerałoby też CPU, gdyby każdy pakiet przelatywał przez LAN. Ma to sens. Dzięki raz jeszcze!

Powiem ogólnie tak, jestem dość w szoku, bo nie wiedziałem, że tak to działa, ale działa to idealnie smile WAN jest blokowany przez reguły nftables natomiast LAN (Ethernet + WiFi) są spięte razem (jeden interfejs) i wymieniają się danymi z pełną przepustowością. O to chodziło!

Hej,
potrzebuję ustawić ograniczenia przepustowości (pobieranie/wysyłanie) dla konkretnych adresów IP w OpenWRT 22. Zainstalowałem pakiet QoS over Nftables, jednak wprowadzone reguły dotyczą wszystkich interfejsów (także LAN). Potrzeba zmiany wynika z powodu, iż chciałbym wykorzystywać pełną przepustowość wymiany danych pomiędzy urządzeniami przez Ethernet jak i WiFi bez ograniczeń w sieci lokalnej. Natomiast z uwzględnieniem ograniczeń po WAN.
Zatem czy taka zmiana jest możliwa? Niestety jestem świeży w nftables i nie mam pojęcia jak dane polecenie napisać i czy jest to w ogóle możliwe.

Na forum openwrt znalazłem kod w temacie, jednak nie wiem czy może to działać. Prosiłbym o pomoc.

Link do forum: https://forum.openwrt.org/t/qos-over-nf … ce/77623/6

Kod:

#!/usr/sbin/nft -f
#

table inet nft-qos-static {
    host ip 192.168.0.25
        chain upload {
                type filter hook prerouting priority 0; policy accept;
                saddr via **WAN** limit rate over 128 kbytes/second **drop**
                saddr via **LAN** limit rate **unlimited**
        }
        chain download {
                type filter hook postrouting priority 0; policy accept;
                daddr via **WAN** limit rate over 1344 kbytes/second **drop**
                daddr via **LAN** limit rate **unlimited**
        }
    }
}

69

(1,213 odpowiedzi, napisanych Sprzęt / Hardware)

ZiP napisał/a:

@sebastian, to nie Twoja wina, widziałem że to AX6, wszystko sobie zmieniłem by było pod AX3600, ot, coś go zabolało i się zbrickował, ogólnie był oporny na tym firmware co miałem wgrany. Udało mi się wgrać international, a to już otwarło drogę do dalszej zabawy -> już działa ostatni snapshot openwrt smile Lubię jak coś się sypie. Teraz muszę odbudować swój konfig. Dzięki

A tak nawiasem, jak szybko odbudować swój config? Mam na myśli przywrócenie backupu i wcześniejszych pakietów, ale jak to zrobić szybko, prosto i przyjemnie? Myślę, że OpenWRT ma jakiś swój sposób na zrobienie backupu, późniejsze przywrócenie? Ktoś by mógł naprowadzić? Nie za wiele widzę o tym w sieci, a to może znacznie uprościć pracę przy zmianie FW.

Kurcze, dzięki wielkie za odpowiedź. Dużo mi to rozjaśniło.
Z QoS to wiem, przepustowości nie muszą być jakieś cudowne. W sumie wystarczy jak będzie po domu hulać na niektórych adresach po 10MB/s przez kabel. Z resztą reguł będę bawił się później, bo to nie jest aż taki priorytet smile

I rozumiem, że te błędy/ograniczenia w żadej sposób też nie utrudnią mi tagowania VLAN? Bo wiem, że to jest wymóg UPC/Orange, to wręcz priorytet, by to było.

Jeszcze raz dzięki za odpowiedź smile

Hej,
założyłem dany temat, gdyż stoję przed ważnym zakupem. Na wstępie zaznaczę, że jestem dość zaawansowanym użytkownikiem komputerowym, jednak z racji braku doświadczenia z OpenWrt mam problem z wyborem routera. A więc, po kilkunastu latach otrzymam wreszcie połączenie światłowodowe (z użyciem modemu ONT). Zaopatruję się na prędkość 600Mbps download i przynajmniej 100Mbps upload, zatem stoję przed wyborem routera  z wyższej półki. Dużo czytałem o różnych modelach, lecz nie ukrywam, że szczególną uwagę zwrócił na mnie Xiaomi AX3600, jednak na stronie OpenWrt widnieje lista potencjalnych problemów/ograniczeń związanych z tym routerem. Jako, że nie mam jeszcze dużego doświadczenia z oprogramowaniem OpenWrt, prosiłbym o rady (zwłaszcza osoby, które śledzą rozwój OpenWrt) jak wypada router AX3600 z racji czasu i czy będzie to dobra inwestycja na długie lata. Mam na myśli, czy Waszym zdaniem potencjalne problemy i ograniczenia zostaną usunięte, a router stanie się w pełni działającym urządzeniem? A jeśli tak się nie stanie - to czy obecne problemy/ograniczenia uniemożliwiają wykorzystanie routera AX3600 do moich zastosowań?

Na stronie OpenWRT można przeczytać, iż ograniczeniami i problemami są:
1. The sysupgrade command may fail due to a random issue of wpad not being effectively stopped while upgrading Openwrt. Stopping the wpad service with service wpad stop before doing the sysupgrade fixes the issue.
2. Ath11k memory: The ath11k driver needed for the main wireless radios uses a lot of memory when there are few stations connected and low bandwidth traffic flowing.
3. NSS acceleration: the Qualcom NSS hardware acceleration is not available and maybe never will be. There is a community effort to enable it in the forum but this does not guarantee that it will be officially supported in the future.
4. The IPQ807x target has not yet support for DSA, on OpenWrt: See this forum post. The regular DSA instructions on the mini tutorial do demonstrably work however; wireless interfaces need to be set up in the Network→Wireless section and then be bridged in their Interface Configuration→General Setup→Network menu to connect them to wired interfaces, and the contributor making this statement only uses tagged VLANs on the wired ports.

LINK: https://openwrt.org/toh/xiaomi/ax3600

A więc, najważniejszym moim pytaniem jest, czy powyższe ograniczenia spowodują, iż dany router nie nadaje się do moich zastosowań? Czytałem dużo na temat tych ograniczeń, jednak wciąż nie do końca rozumiem, czy któreś z nich uniemożliwia mi wykorzystanie routera przy mojej sieci domowej.
Moje minimalne zastosowania to:
- internet światłowodowy UPS/Orange (600Mbps/100Mbps),
- obsługa VLAN (do internetu światłowodowego),
- obsługa QoS,
- zaawansowane wprowadzenie systemu kształtowania ruchu (wykorzystanie komend: tc, nftables, iptables),
- obsługa urządzeń ok. 50 (lub więcej),
- obsługa min. 2 access-pointów.

Tak nawiasem, w czym przeszkadzają dane ograniczenia/problemy, co one powodują?
Z góry serdecznie dziękuję za pomoc!

Cześć wszystkim!
Za jakiś czas otrzymam podłączenie światłowodowe do swojego domu i potrzebuję pomocy w zakresie konfiguracji ograniczenia prędkości przesyłu (pobieranie oraz wysyłanie) na wszystkie urządzenia domowe. Czytałem o rozwiązaniach typu tc, luci-app-nft-qos lub qos, jednak nie wiem, które z nich jest najlepsze do mojego rozwiązania i które najbardziej przyszłościowe/rozwojowe.

1. Moim celem jest konfiguracja sieci opartej o 3 routery (jeden router główny jako serwer DHCP oraz połączenie z Internetem (port WAN), a 2 pozostałe jako Access Pointy). Problemem natomiast dla mnie jest skonfigurowanie routera z oprogramowaniem OpenWRT, w którym przydzielę prędkości przesyłu danych (pobieranie i wysyłanie) dla poszczególnych grup z urządzeniami po adresie MAC (schemat w załączniku).
2. Dobrym rozwiązaniem byłoby także utworzenie dodatkowej grupy (numer 5), do której trafią wszystkie niezdefiniowane urządzenia (nierozpoznany adres MAC) i będą ograniczone do 1MB/s (pobieranie oraz wysyłanie).
3. Czy istnieje możliwość ograniczenia przesyłania danych pomiędzy grupami tylko dla interfejsu WAN (połączenie Internetowe)? Tak, aby przesyłanie danych w sieci lokalnej odbywało się bez ograniczeń prędkości?
4. W przyszłości chciałbym pomyśleć również nad rozwiązaniem, które przykładowo będzie sprawdzało czy pewne urządzenia (z danej grupy, na przykład grupy 2) są wpięte do sieci. Jeśli nie – grupa o numerze 1 zwiększy swoje prędkości przesyłu do na przykład 10MB/s (pobieranie i wysyłanie). Czy takie rozwiązanie jest możliwe do skonfigurowania/napisania?

Moje założenia sieci:
- Wszystkie urządzenia są w jednej sieci.
- W sieci nie ma utworzonych podsieci ani VLANów.
- Wszystkie urządzenia są widoczne ze sobą.
- W głównym routerze (1) skonfigurowane są wszystkie ustawienia wraz z serwerem DHCP. Pozostałe 2 routery służą tylko jako rozszerzenie sygnału WiFi oraz dodatkowe porty Ethernet.
- Poszczególne grupy z urządzeniami posiadają ograniczenia prędkości przesyłu dla pobierania oraz wysyłania. Przykładowo: jeśli w grupie 1 komputer 1 pobiera z prędkością 8MB/s to pozostałe 2 urządzenia (razem) mają tylko 2MB/s pobierania.
- Wszystkie urządzenia mają ograniczenia zdefiniowane w grupach za pomocą adresu MAC niezależnie do jakiego routera zostaną wpięte/podłączone.

Schemat sieci

Proszę zatem o pomoc i porady jak dane rozwiązania (1-4) wprowadzić (i czy są w ogóle możliwe). Na czym się wzorować/opierać? A może ktoś podsunie propozycję z lepszym i prostszym rozwiązaniem? smile

Użytkownikom chcącym pomóc/doradzić z góry bardzo dziękuję za poświęcony czas.