1

(48 odpowiedzi, napisanych Sprzęt / Hardware)

Na razie mi działa. OpenWrt 23.05 i Gargoyle 1.15. Na "Stock Layout" i tego na razie nie zamierzam ruszać (chociaż może niesłusznie?). Ale tak na zapas chciałbym zapytać o działanie "na wypadek awarii".

1. Jak zmienię konfigurację na taką, że urządzenie zniknie mi z sieci, to jak przywrócić "OpenWrt Factory Settings"?

Pewnie standardowo, czyli jakaś igła/spinacz i trzeba przycisnąć i przytrzymać kilkanaście sekund ten guzik RESET z tyłu obudowy?? Potem 192.168.1.1 i konfiguracja od nowa, albo wgranie ustawień z kopii zapasowej?

2. Jeżeli nie wstanie po sysupgrade, to co dalej? Mam "Stock Layout" to pewnie jakieś procedury Xiaomi obowiązują? Ktoś był zmuszony przetetestować i mógłby opisać jak się do tego zabrać? Domyślam się, że wrócę do oprogramowania Xiaomi i przejście na OpenWrt od początku, ale to już tylko drobna niedogodność smile

2

(16 odpowiedzi, napisanych Sprzęt / Hardware)

marcinkk napisał/a:

Ciągle instalacja tylko w planach. Pesymistycznie zakładam, że się nie uda, więc potrzebuję mieć zapas czasu na ewentualne "odceglanie" wink

Dzisiaj w końcu zabrałem się za mojego Redmi AX6000 na oryginalnym chińskim sofcie: 1.0.67. Nie robiłem downgrade. Najpierw zainstalowałem OpenWrt 23.05.3. Zostawiłem "stock layout". A potem sysupgrade moją kompilację (dzisiejszą) Gargoyle 1.15. Na szybko działa, a testy wszystkich funkcji potem.

Device Name:                                            Gargoyle
Gargoyle Version:      1.15.X (Built 20240709-1351 git@66d5adbf)
Model:                 Xiaomi Redmi Router AX6000 (stock layout)

Ciągle nie wiem jak się to ustrojstwo odcegla i mam nadzieję, że nie będę musiał się uczyć wink

3

(16 odpowiedzi, napisanych Sprzęt / Hardware)

Ciągle instalacja tylko w planach. Pesymistycznie zakładam, że się nie uda, więc potrzebuję mieć zapas czasu na ewentualne "odceglanie" wink

W międzyczasie wpadł mi w ręce Dell Wyse 5070 z Pentium J5105. Postawiłem na nim Gargoyle 1.14.

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 122
model name      : Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz
stepping        : 1
microcode       : 0x34
cpu MHz         : 856.368
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 24
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 2995.20
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 122
model name      : Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz
stepping        : 1
microcode       : 0x34
cpu MHz         : 953.278
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 4
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 24
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 2995.20
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 122
model name      : Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz
stepping        : 1
microcode       : 0x34
cpu MHz         : 1029.670
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 2
cpu cores       : 4
apicid          : 4
initial apicid  : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 24
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 2995.20
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 122
model name      : Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz
stepping        : 1
microcode       : 0x34
cpu MHz         : 900.456
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 6
initial apicid  : 6
fpu             : yes
fpu_exception   : yes
cpuid level     : 24
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 2995.20
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

Wydajność OpenVPNa podobna jak wyniki dla Redmi AX6000 zaprezentowane powyżej, czyli w okolicach 130-150Mbit/s. Zmiana na openvpn-mbedtls nie poprawia sprawy a nawet wydajność spada. NAT bez włączonego flow offloading bez problemu 940Mbit/s, czyli podobnie jak AX6000.

Jeszcze jak już miałem urządzenie pod ręką to zrobiłem testy wydajności OpenSSLa:

OpenSSL 1.1.1w  11 Sep 2023
built on: Sat Nov 25 18:18:57 2023 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr)
compiler: x86_64-openwrt-linux-musl-gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -O3 -DPIC -fpic -ffunction-sections -fdata-sections -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -Wformat -Werror=format-security -fstack-protector -O3 -fpic -ffunction-sections -fdata-sections -znow -zrelro -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -D_FORTIFY_SOURCE=1 -DPIC -DOPENSSL_PREFER_CHACHA_OVER_GCM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
md5              78278.95k   210774.89k   388977.66k   493131.43k   534375.08k   537733.80k
sha1            129800.38k   495860.67k  1048172.89k  1452512.26k  1631969.28k  1646575.62k
des cbc          50237.42k    52412.18k    52944.73k    52961.62k    53160.62k    53155.16k
des ede3         19417.26k    19751.83k    19815.77k    19900.42k    19912.02k    19912.02k
aes-128 cbc     118099.58k   123666.65k   124891.99k   125682.69k   126036.65k   125719.89k
aes-192 cbc     101223.80k   106008.36k   106872.23k   107445.59k   107694.76k   107457.19k
aes-256 cbc      89090.70k    92487.42k    92993.02k    93433.17k    93457.07k    93701.14k
sha256          101877.77k   272493.03k   498496.94k   628895.74k   680039.77k   683447.64k
sha512           26052.95k   103815.02k   160529.15k   224618.15k   254544.55k   257239.72k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.001976s 0.000058s    506.0  17136.3
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.000809s 0.000732s   1236.0   1365.3


| r20265 single-thread | 1.1.1w | 493131430 | 1452512260 | 628895740 | 224618150 | 52961620 | 19900420 | 125682690 | 107445590 | 93433170 | 506.0 | 17136.3 | 1236.0 | 1365.3 |
OpenSSL 1.1.1w  11 Sep 2023
built on: Sat Nov 25 18:18:57 2023 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr)
compiler: x86_64-openwrt-linux-musl-gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -O3 -DPIC -fpic -ffunction-sections -fdata-sections -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -Wformat -Werror=format-security -fstack-protector -O3 -fpic -ffunction-sections -fdata-sections -znow -zrelro -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -D_FORTIFY_SOURCE=1 -DPIC -DOPENSSL_PREFER_CHACHA_OVER_GCM
md5             305596.77k   808443.67k  1510173.35k  1910433.11k  2062508.03k  1927806.98k
sha1            457735.42k  1783852.07k  3759835.82k  5212991.15k  5851228.84k  5838214.49k
des cbc         180286.26k   187843.71k   188451.50k   188040.87k   190403.93k   190338.39k
des ede3         69636.50k    70512.92k    70323.20k    71366.66k    71406.93k    71277.40k
aes-128 cbc     421937.73k   437434.82k   447862.53k   450950.83k   452116.48k   451280.90k
aes-192 cbc     358726.03k   378505.64k   383884.97k   386182.83k   386902.70k   382298.79k
aes-256 cbc     316462.27k   331153.86k   332752.98k   334419.29k   332887.38k   331218.94k
sha256          363993.62k   977287.00k  1787613.01k  2255403.69k  2413666.30k  2439430.14k
sha512           93438.39k   372659.14k   575556.27k   799330.65k   905857.71k   921610.92k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.000551s 0.000016s   1814.8  61236.9
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.000229s 0.000207s   4374.3   4829.0


| r20265 -multi 4 | 1.1.1w | 1910433110 | 5212991150 | 2255403690 | 799330650 | 188040870 | 71366660 | 450950830 | 386182830 | 334419290 | 1814.8 | 61236.9 | 4374.3 | 4829.0 |

Czyli ogólnie ten Redmi AX6000 (Mediatek Filogic?) prezentuje wydajność małych komputerków na platformiw x86_64. Nie wiem jak bardzo podniosła się wydajność w przypadku najnowszego Intel N100 z rodziny Alder Lake, na których Chińczycy budują routery i można na Ali sobie kupić takie coś.

4

(16 odpowiedzi, napisanych Sprzęt / Hardware)

Może znajdzie się ktoś odważny i doświadczony w ratowaniu AX6000 i wypróbuje moją kompilację Gargoyle 1.15 na ten router? Udostępnię wink

Poczytałem stronę o AX6000 na openwrt.org. Niby wszystko jasne, tylko, że u mnie jest:

root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00040000 00020000 "Nvram"
mtd2: 00040000 00020000 "Bdata"
mtd3: 00200000 00020000 "Factory"
mtd4: 00200000 00020000 "FIP"
mtd5: 00040000 00020000 "crash"
mtd6: 00040000 00020000 "crash_log"
mtd7: 01e00000 00020000 "ubi_kernel"
mtd8: 05000000 00020000 "ubi"

A to nie pasuje ani do "stock layout" ani do "ubootmod layout", więc nie wiem czy instrukcja odzyskiwania okaże się użyteczna sad

Chyba najbezpieczniej będzie nauczyć się robić rozbudowaną konfigurację OpenVPNa z poziomu OpenWrt/LuCI.

5

(16 odpowiedzi, napisanych Sprzęt / Hardware)

Hmmm... Skompilowało się... Mam:

gargoyle_1.15.x-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin

Jakie są szanse, że nie będę musiał się uczyć jak się robi recovery na tym sprzęcie?

6

(16 odpowiedzi, napisanych Sprzęt / Hardware)

Testy powyżej na openvpn-openssl. Z ciekawości przetestowałem openvpn-wolfssl i było około 30% wolniej, a z kolei openvpn-mbedtls dawało wyniki ok. 20% lepsze niż wersja openssl.

7

(16 odpowiedzi, napisanych Sprzęt / Hardware)

Oki może spróbuję, ale to już nie dzisiaj smile

Tak ogólnie:
Ta gałąź base_on_openwrt_2305 to jest wersja 1.15 beta o której piszą w tym wątku: https://www.gargoyle-router.com/phpbb/v … hp?t=17921

Tak mnie jeszcze naszło:

version: 3.0.13
built on: Thu May 23 10:24:48 2024 UTC
options: bn(64,64)
compiler: aarch64-openwrt-linux-musl-gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -ffunction-sections -fdata-sections -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -DPIC -fPIC -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -ffunction-sections -fdata-sections -Wformat -Werror=format-security -fstack-protector -fPIC -fuse-ld=bfd -znow -zrelro -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -D_FORTIFY_SOURCE=1 -DPIC
CPUINFO: OPENSSL_armcap=0x3d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
md5              13256.20k    43705.56k   111353.17k   181586.60k   223282.69k   226022.74k
sha1             15123.50k    56900.50k   192342.36k   476810.70k   837522.77k   886593.58k
sha256           1477630BD61957F000000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:386:Global default library context, Algorithm (DES-CBC : 18), Properties ()
.09k    55727.53k   188109.83k   456618.33k   796982.97k   835338.24k
sha512            8515.79k    33813.73k    82459.56k   150833.83k   197713.92k   202734.19k
des-cbc              0.00         0.00         0.00         0.00         0.00         0.00
des-ede3          8258.71k     8594.11k     8724.72k     8721.75k     8729.94k     8761.88k
aes-128-cbc     163013.20k   497267.18k   975160.49k  1335823.70k  1500289.46k  1508518.57k
aes-192-cbc     156653.32k   443521.99k   800592.47k  1035884.56k  1126607.53k  1133947.56k
aes-256-cbc     152189.84k   409711.83k   698407.21k   864894.98k   930018.65k   938277.16k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.005468s 0.000146s    182.9   6854.5
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.002011s 0.001813s    497.4    551.5

| r26379 single-thread | 26.00 | 3.0.13 | 181586600 | 476810700 | 456618330 | 150833830 | 0.00 | 8729940 | 1500289460 | 1126607530 | 930018650 | 182.9 | 6854.5 | 497.4 | 551.5 |
version: 3.0.13
built on: Thu May 23 10:24:48 2024 UTC
options: bn(64,64)
compiler: aarch64-openwrt-linux-musl-gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -ffunction-sections -fdata-sections -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -DPIC -fPIC -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -ffunction-sections -fdata-sections -Wformat -Werror=format-security -fstack-protector -fPIC -fuse-ld=bfd -znow -zrelro -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -D_FORTIFY_SOURCE=1 -DPIC
CPUINFO: OPENSSL_armcap=0x3d
md5              52429.75k   173671.51k   443104.77k   723651.24k   887854.42k   901600.60k
sha1             60065.47k   226532.29k   764645.80k  1890808.83k  3328723.63k  3512472.92k
sha256           58700.31k   221884.78k   745710.17k  1818384.04k  3154182.14k  3321042.26k
sha512           33868.66k   134151.70k   328626.35k   598764.89k   787969.37k   804881.67k
des-cbc              0.00         0.00         0.00         0.00         0.00         0.00
des-ede3         32814.27k    34288.28k    34702.42k    34808.66k    34848.77k    34837.85k
aes-128-cbc     651528.37k  1975786.97k  3890161.49k  5328769.37k  5965490.86k  5990957.06k
aes-192-cbc     623263.35k  1757440.51k  3195372.12k  4120246.95k  4493620.57k  4507440.47k
aes-256-cbc     605612.21k  1623496.53k  2776941.99k  3446124.54k  3710757.55k  3717376.68k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.001374s 0.000037s    728.0  27294.0
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.000512s 0.000474s   1953.0   2109.1


| r26379 -multi 4 | 26.00 | 3.0.13 | 723651240 | 1890808830 | 1818384040 | 598764890 | 0.00 | 34848770 | 5965490860 | 4493620570 | 3710757550 | 728.0 | 27294.0 | 1953.0 | 2109.1 |

W tej tabeli na stronie https://openwrt.org/docs/guide-user/per … rk.openssl byłbym zdaje się na drugim miejscu smile

root@OpenWrt:~# cat /proc/cpuinfo
processor       : 0
BogoMIPS        : 26.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 1
BogoMIPS        : 26.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 2
BogoMIPS        : 26.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 3
BogoMIPS        : 26.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

root@OpenWrt:~# cat /tmp/sysinfo/model
Xiaomi Redmi Router AX6000 (stock layout)

8

(16 odpowiedzi, napisanych Sprzęt / Hardware)

Kupiłem sobie AX6000 do testów:

NAT (flow offloading wyłączony).

iperf2:

[  3] local 192.168.32.21 port 5001 connected with 192.168.32.234 port 65139
[ ID] Interval       Transfer     Bandwidth
[  3] 0.00-10.04 sec  1.10 GBytes   943 Mbits/sec

iperf3:

-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
Accepted connection from 192.168.32.234, port 65121
[  5] local 192.168.32.21 port 5201 connected to 192.168.32.234 port 65122
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   937 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   942 Mbits/sec
[  5]   2.00-3.00   sec   112 MBytes   944 Mbits/sec
[  5]   3.00-4.01   sec   114 MBytes   944 Mbits/sec
[  5]   4.01-5.01   sec   112 MBytes   943 Mbits/sec
[  5]   5.01-6.00   sec   112 MBytes   944 Mbits/sec
[  5]   6.00-7.01   sec   114 MBytes   943 Mbits/sec
[  5]   7.01-8.01   sec   112 MBytes   944 Mbits/sec
[  5]   8.01-9.00   sec   112 MBytes   944 Mbits/sec
[  5]   9.00-10.01  sec   113 MBytes   944 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  1.10 GBytes   943 Mbits/sec                  receiver

OpenVPN (ogólnie powyżej 100Mbit/s, a poniżej najlepsze wyniki z kilku prób).

iperf2:

[  5] local 192.168.1.191 port 5001 connected with 10.8.0.4 port 52002
[ ID] Interval       Transfer     Bandwidth
[  5] 0.00-10.26 sec   172 MBytes   140 Mbits/sec

iperf3:

-----------------------------------------------------------
Server listening on 5201 (test #8)
-----------------------------------------------------------
Accepted connection from 10.8.0.4, port 49703
[  5] local 192.168.1.191 port 5201 connected to 10.8.0.4 port 49704
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  13.0 MBytes   109 Mbits/sec
[  5]   1.00-2.00   sec  13.8 MBytes   115 Mbits/sec
[  5]   2.00-3.01   sec  13.6 MBytes   114 Mbits/sec
[  5]   3.01-4.02   sec  16.1 MBytes   134 Mbits/sec
[  5]   4.02-5.01   sec  17.6 MBytes   149 Mbits/sec
[  5]   5.01-6.01   sec  18.1 MBytes   152 Mbits/sec
[  5]   6.01-7.00   sec  18.6 MBytes   156 Mbits/sec
[  5]   7.00-8.01   sec  17.4 MBytes   146 Mbits/sec
[  5]   8.01-9.01   sec  18.0 MBytes   151 Mbits/sec
[  5]   9.01-10.01  sec  18.5 MBytes   155 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   165 MBytes   138 Mbits/sec                  receiver

Czyli jak chodzi o możliwości i cenę sprzęt akceptowalny. Tylko muszę poczekać na Gargoyle sad

Ogólnie Gargoyle na filogic już się pojawia:

https://github.com/ericpaulbishop/gargo … ile_images

Ale Xiaomi AX6000 w powyższym pliku jeszcze nie ma.

Tutaj występuje jako "not set":

https://github.com/ericpaulbishop/gargo … gic/config

Pewnie samo włączenie nie wystarczy? Lista zależności jest długa?

9

(16 odpowiedzi, napisanych Sprzęt / Hardware)

MiniPC to jednak nie urządzenie, które wpakuję do szafki bezpiecznikowej przykręcając do kawałka blachy...

Zerknąłem tutaj: https://openwrt.org/docs/guide-user/per … rk.openssl i porównałem sobie wydajność w AES-128. To dobry kierunek? Faktycznie te IPQ80XX nie wypadają rewelacyjnie sad

Wygląda na to, że takie twory jak Xiaomi AX3000T albo AX6000 powinny dawać radę?
Niestety tylko 4 porty Gibgabit.
I póki co brak Gargoyle.
Ale to kwestia czasu jak się pojawi, czy raczej nie mieć nadziei?

10

(16 odpowiedzi, napisanych Sprzęt / Hardware)

Dzień dobry,

Mój Archer C7 radzi sobie dobrze z NATem i obsługą całej sieci. WiFi mam w nim wyłączone. OpenVPN działa, ale niezbyt szybko. I tak sobie pomyślałem, że może bym wymienił na coś mocniejszego. Pytanie brzmi na co?

Wymagania:

- dostępny soft Gargoyle (dam sobie radę z OpenVPN i WireGuard z poziomu bazowego OpenWrt, ale w Gargoyle jest przyjemniej)
- w miarę mocny procesor, 100Mbit/s przez OpenVPN byłoby fajne smile
- 5 portów Gbit Ethernet (to nie jest krytyczne wymaganie, ale w aktualnej konfiguracji sieci mam wszystkie porty w C7 aktywne, więc fajnie by było, żebym nie musiał żadnego kabla odłączać)
- wifi dowolne, i tak będzie wyłączone smile
- mogłoby być tanie wink

Tak sam przejrzałem na jakie sprzęty jest dostępne Gargoyle i może coś z IPQ806X? Archer C2600? Netgear R7500v2? Netgear R7800? A może coś na Mediateku?

Pozdrawiam,
Marcin

11

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Skasowanie build_dir nie wystarczyło, ale zrobiłem make distclean i potem już poszła kompilacja. Skonfigurowałem od nowa.

----

A wracając do szyfrowania sieci mesh. Zmieniłem zawartość pliku /etc/modules.d/ath9k z:

ath9k

na:

ath9k nohwcrypt=1

i zaczęło połączenie 802.11s działać również z szyfrowaniem.
Wydajność jest jaka jest ... 12-13 Mbit/s w porównaniu do 22-23 Mbit/s z wyłączonym szyfrowaniem ... ale działa. Zostawiam linka na jakiś czas i sprawdzę jak sprawa będzie wyglądała za kilka dni. Znaczy się, czy będzie ciągle połączenie działało, czyli czy jest stabilne wink

12

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Tak w ramach testów postanowiłem jednak spróbować skompilować ze źródeł. W skrócie zrobiłem:

git clone https://git.openwrt.org/openwrt/openwrt.git
git checkout openwrt-19.07
make menu config
make

Po menuconfig ustawiłem sobie co chciałem i nie chce się skompilować. Wypisało mi:

Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-gpio-button-hotplug:
 *     kernel (= 4.14.275-1-8d77cd2c522cf7e98194bac2a71c8e62)
 * opkg_install_cmd: Cannot install package kmod-gpio-button-hotplug.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ath:
 *     kernel (= 4.14.275-1-8d77cd2c522cf7e98194bac2a71c8e62)
 * opkg_install_cmd: Cannot install package kmod-ath.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ath9k:
 *     kernel (= 4.14.275-1-8d77cd2c522cf7e98194bac2a71c8e62)
 * opkg_install_cmd: Cannot install package kmod-ath9k.

Co zrobiłem źle? Czy z mojej strony jednak wszystko dobrze, tylko jest jakiś problem ze źródłami? Jak go naprawić?

13

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Może spróbuję trochę podsumować moje testy dotyczące sieci mesh (802.11s) na WA-901ND v2.

Doprowadziłem system do stanu, kiedy mogłem kompilować ze źródeł, ale obrazy do testów tworzyłem używając imagebuilder. Może coś bym zyskał kompilujać ze źródeł i zmieniając opcje kompilacji, ale nie wiem jakimi parametrami mogę operować - chodzi mi o opcje dotyczące optymalizacji kodu pod względem wydajności zamiast rozmiaru, czy coś podobnego.

----

Testowałem kilka wersji i stanęło na następujących opcjach tworzenia obrazu:

make image PACKAGES="-ppp -ppp-mod-pppoe -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables -odhcpd-ipv6only -opkg -wpad-mini wpad-mesh-wolfssl -iptables -firewall -kmod-nf-conntrack -kmod-nf-flow -kmod-nf-reject -kmod-usb-ohci -kmod-usb-ehci -kmod-usb2 -kmod-nf-ipt -kmod-usb-ledtrig-usbport -kmod-ipt-offload -kmod-ipt-core -dnsmasq mesh11sd"

Na początku działałem bez pakietu mesh11sd (pobranego z 21.02), ale jego dodanie nic nie zmieniło.

Na powyższych ustawieniach MESH działa, ale nie działa szyfrowanie. A dokładniej wyglada to w logu tak:

Mon Jun  5 09:01:29 2023 daemon.notice wpa_supplicant[981]: wlan0: new peer notification for b0:48:7a:d0:9f:bc
Mon Jun  5 09:01:29 2023 daemon.notice wpa_supplicant[981]: wlan0: mesh plink with b0:48:7a:d0:9f:bc established
Mon Jun  5 09:01:29 2023 daemon.notice wpa_supplicant[981]: wlan0: MESH-PEER-CONNECTED b0:48:7a:d0:9f:bc

Czyli niby ok, ale poąłczenie nie działa. A dokładniej jak się włączy pinga na dłużej, to czasami coś się odezwie po drugiej stronie siatki. Nie wiem o co chodzi. W logu nic ciekawego nie widzę. Komendy iw dev wlan0 station dump oraz iw dev wlan0 mpath dump pokazują, że wszystko jest ok:

root@mesh-link-253:~# iw dev wlan0 station dump
Station b0:48:7a:d0:9f:bc (on wlan0)
        inactive time:  10 ms
        rx bytes:       3281480
        rx packets:     42198
        tx bytes:       94265
        tx packets:     1511
        tx retries:     1
        tx failed:      0
        rx drop misc:   1755
        signal:         -26 [-32, -29, -32] dBm
        signal avg:     -25 [-31, -28, -31] dBm
        Toffset:        18446744073675589924 us
        tx bitrate:     117.0 MBit/s MCS 14
        rx bitrate:     130.0 MBit/s MCS 15
        rx duration:    0 us
        expected throughput:    42.388Mbps
        mesh llid:      0
        mesh plid:      0
        mesh plink:     ESTAB
        mesh local PS mode:     ACTIVE
        mesh peer PS mode:      ACTIVE
        mesh non-peer PS mode:  ACTIVE
        authorized:     yes
        authenticated:  yes
        associated:     yes
        preamble:       long
        WMM/WME:        yes
        MFP:            yes
        TDLS peer:      no
        DTIM period:    2
        beacon interval:100
        connected time: 2005 seconds
root@mesh-link-253:~# iw dev wlan0 mpath dump
DEST ADDR         NEXT HOP          IFACE       SN      METRIC  QLEN    EXPTIME         DTIM    DRET    FLAGS
b0:48:7a:d0:9f:bc b0:48:7a:d0:9f:bc wlan0       1802    189     0       0       1600    4       0x14

I jak podałem wyżej wpa_supplicant też się nie awanturuje, ale połączenie nie ma sad

Puściłem pinga na urządzenie podłączone za takim szyfrowanym linkiem typu mesh i fragment odpowiedzi wygląda tak:

Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.104.1: bytes=32 time=8ms TTL=64
Request timed out.
Request timed out.
Reply from 192.168.104.1: bytes=32 time=6ms TTL=64
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Czyli co jakiś czas odpowiedź jest, ale ogólnie jest to nieużywalne.

Bez szyfrowania działa.

----

Wersje z OpenSSL nie chciała mi się utworzyć na 19.07 (za mało miejsca), ale udało się taką stworzyć na 18.06:

make image PACKAGES="-ppp -ppp-mod-pppoe -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables -odhcpd-ipv6only -opkg -wpad-mini wpad-mesh-openssl -iptables -firewall -kmod-nf-conntrack -kmod-nf-flow -kmod-nf-reject -kmod-usb-ohci -kmod-usb-ehci -kmod-usb2 -kmod-nf-ipt -kmod-usb-ledtrig-usbport -kmod-ipt-offload -kmod-ipt-core -dnsmasq"

Ale ogólny efekt ten sam, czyli bez szyfrowania działa a z szyfrowaniem nie. Różnica taka, że w logu nic na temat połączenia z wpa_supplicant nie znalazłem.

----

I jeszcze w kwestii zapytania:

To wyżej dotyczy ar71xx-tiny. Miałem też ath79-tiny i nawet stworzony obraz dało się zaaplikować, ale potem zaczęły się problemy. Na początku myślałem, że zrobiłem cegłę, ale po dłuższym zastanowieniu podłączyłem się do portu szeregowego i okazało się, że sprzęt żyje. Problem w tym, że port eth0 nie działał. Piszą coś o tym na forum DD-WRT: https://forum.dd-wrt.com/phpBB2/viewtop … ;start=109 i ... zgubiłem drugiego linka.

Zastanawiałem się, czy nie przejście z ar71xx na ath79 nie wymaga pełnego obrazu factory, ale tutaj: https://openwrt.org/docs/guide-user/ins … x.to.ath79 piszą, że zwykłe sysupgrade z restetem ustawień wystarczy. Więc pozostaje błąd w samym firmware?

----

Dwa słowa podsumowania do tematu: Da się upchnąć wszytsko co potrzeba do uruchomiennia sieci mesh na urządzniu 4/32 z OpenWrt 19.07. Będzie działać bez szyfrowania. Ale z szyfrowaniem nie bardzo sad

14

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Ad. 2: Jest dobra metoda do zapanowania nad tym? Bo w sumie, to niby nie wiem co mi się tam dodało z zależności hmm Czy też pytając inaczej: Jak przywrócić zawartość pliku .config do wartości domyślnych?

15

(9 odpowiedzi, napisanych Oprogramowanie / Software)

Pół roku minęło i wróciłem do tematu. Ale coś słabo u mnie z czytaniem dokumentacji, bo chwilę mi zajęło zanim zaczęło cokolwiek działać.

Zacząłem tutaj: https://openwrt.org/docs/guide-develope … uildsystem a potem gdzieś znalazłem, że niby mogę zrobić tak:

make image PACKAGES="-ppp -ppp-mod-pppoe -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables -odhcpd-ipv6only -opkg -wpad-mini wpad-mesh-wolfssl"

Co nijak nie działało hmm

Wyszukałem sobie wreszcie ten wątek. Przeczytałem uważniej odpowiedź Cezarego i chyba coś do mnie dotarło. Spróbuję podsumować i prosiłbym o poprawki, jeżeli coś źle napiszę oraz o uzupełnienie i odpowiedzi na dwa pytania smile

Własny image można stworzyć ze źródeł lub używając imagebuildera:

A) Ze źródeł robimy zgodnie z poradnikiem w podanym wyżej linku albo tym który podał Cezary (https://eko.one.pl/?p=openwrt-kompilacja). Czyli po wydaniu polecenia make menuconfig trzeba wszystkie opcje ustawić a potem tylko wpisujemy make i czekamy. Wersję sprzętu dla której chcemy stworzyć image wybieramy na etapie konfiguracji.

B) W przypadku użycia imagebuildera można używać polecenia jak to podane powyżej, które modyfikuje domyślną konfigurację pakietów usuwając i dodając wybrane opcję. Imagebuilder jest przygotowywany dla konkretnej wersji sprzętu osobno i trzeba za każdym razem pobrać. Przykładowo dla WA901ND odpowiedni będzie ten dostępny tutaj: https://archive.openwrt.org/releases/19 … th79/tiny/

Pytania:

1. Skąd wiem, że przygotowany plik (powiedzmy: openwrt-19.07.10-ath79-tiny-tplink_tl-wa901nd-v1-squashfs-sysupgrade.bin) zawiera wszystko co chciałem i mogę go użyć do aktualizacji oprogramowania? Czy w razie czego gdzieś dostanę komunikat, że jest za duży, czy też muszę go wrzucić na urządzenie, żeby się przekonać?

2. Dobrze zauważyłem, że jeżeli wybieram sobie jakąś opcję w menuconfig, to ewentualne zależności dodają się automatycznie? Podobnie w przypadku imagebuilder? W tym konkretnym przykładzie: dodając wpad-mesh-wolfssl biblioteka libwolfssl doda się automatycznie. Nie muszę analizować potrzebnych mi pakietów, żeby ustalić listę zależności?

Witam,

Mam kilka starych urządzeń, np. WA901ND, czyli z 4MB flash i 32MB RAM.

Używając odpowiednio starej wersji OpenWrt da się na tym postawić AP a nawet WDS. Z odpowiednimi skryptami monitorującymi da się nawet most bezprzewodowy zrobić w miarę stabilny. Jednak naprawdę stabilny most uzyskuję dopiero ostatnio włączając 802.11s.

Ogólnie do 802.11s potrzebuję OpenWrt 19.07, które już na urządzenia 4/32 nawet nie jest kompilowane. Do tego pakiety wpad-mesh-wolfssl i libwolfssl32, które w sumie zajmują ok. 900kB.

Znalazłem coś o nazwie ath79-tiny. Da się tego użyć do kompilacji obrazów 19.07 na urządzenia z flashem 4MB:

http://archive.openwrt.org/releases/19. … th79/tiny/
https://openwrt.ashus.net/
https://forum.openwrt.org/t/openwrt-19- … luci/55458

Patrząc na obrazy tworzone przez użytkownika Ashus, to wycinając LuCI oraz zamieniając wpad-basic na wpad-mesh-wolfssl obrazy będą miały podobny rozmiar. I wydaje mi się, że libwolfssl32 już tam nijak się nie zmieści sad

No i w końcu moje pytanie: Czy jak jeszcze pozmieniam conieco w konfiguracji tych obrazów, to jest szansa, że zmieszczę w obrazie 4MB OpenWrt 19.07 z obsługą 802.11s i SAE? Nie potrzebuję LuCI. Nie potrzebuję IPv6. I pewnie jeszcze coś mógłbym wyciąć... Natomiast na początek muszę się nauczyć jak zrobić taki "własny image" (kiedyś tam coś sobie zbudowałem na starego D-Linka) i przygotować sobie całe środowisko. Czy w ogóle jest szansa na powodzenie, czy nawet nie mam co próbować?

Pozdrwiam,
Marcin

17

(6 odpowiedzi, napisanych Oprogramowanie / Software)

Ostatnio postanowiłem przetestować Route48.org. Tyle, że postanowiłem to zrobić dość dziwnie (chyba), a dokładniej: wyciągnąłem 1043ND i skonfigurowałem go jak AP, chociaż z wyłączonym wifi, czyli wszystkie porty na LANie i ogólnie to urządzenie w sieci LAN. Następnie na tym OpenWrt skonfigurowałem tunel 6in4 wg danych mojego tunelu z Route48.org. Potrzebowałem więc na tym urządzeniu włączyć rozgłaszanie sieci IPv6, ale z wyłączonym serwerem DHCP dla IPv4. Pozostawiłem więc włączone zarówno odhcpd jak i dnsmsq (może któryś niepotrzebnie?) i w konfigurację wpisałem (wykilkałem w luci...):

config dhcp 'lan'
        option interface 'lan'
        option dhcpv6 'server'
        option ra 'server'
        option ra_default '1'
        option ra_management '1'
        option ignore '1'

i problem wrócił hmm Ale tym razem zerknąłem do loga ... w sumie przypadkiem, bo coś innego mi się sypało.

Dobra, do rzeczy, czyli do problemu z pierwszego posta. Jest tam podane, że w konfiguracji mam:

list address '/cloud.moja.domena/192.168.32.2'

i to było źródłem pierwotnego problemu w chwili, gdy inny dnsmasq się włącza, bo w logu pojawia się:

Sun Jul 17 12:43:37 2022 daemon.warn dnsmasq[1721]: possible DNS-rebind attack detected: cloud.moja.domena

Po dopisaniu w config dnsmasq linii:

list rebind_domain 'cloud.moja.domena'

zaczęło działać poprawnie smile


BTW: Jak chodzi o testy Route48.org w porównaniu z HE.net, to przede wszystkich lokalizuje mnie tak, że mi się wszelakie netfliksy i inne disneyplusy oraz intel przestały mi się awanturować o lokalizację i ograniczenia eksportowe wink

18

(6 odpowiedzi, napisanych Oprogramowanie / Software)

smile

Tak, wiem, że to nie ma sensu i ogólnie tego nie robię, ale coś w OpenWrt poszło poza moją kontrolą...

Ogólnie, to wszystkie AP mają zmostkowane wszystkie interfejsy, przewodowe i bezprzewodowe oraz włączonego klienta DHCP - czyli dostają adresy z głównego serwera DHCP w sieci lokalnej. I jak chodzi o IPv4 to wszystko działało poprawnie. Serwer DHCP wydawało mi się, że jest wyłączony w konfiguracji.

Aktualnie wyłączyłem kompletnie odhcpd i dnsmasq, ale może wiesz, która z poniższych opcji powodowała mi taki bałagan przy włączonych powyższych usługach:

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'

config dhcp 'lan'
        option interface 'lan'
        option dhcpv6 'server'
        option ra 'server'
        option ra_management '1'
        option ignore '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

I tak swoją drogą, to nazwy poza siecią lokalną zawsze poprawnie działały...

19

(6 odpowiedzi, napisanych Oprogramowanie / Software)

To nie pomogło, ale poczytałem jeden z Twoich poradników: https://eko.one.pl/?p=openwrt-dns i podejrzałem sobie co pokazuje logread po włączeniu logqueries='1'. Nie bardzo wiedziałem co się tam dzieje, ale zauważyłem, że kiedy ja włączam na telefonie ping to serwer DNS odpowiada ... jednemu z moich AP z OpenWrt (ten akurat miał 19.07 i ... na pewno nie byłem połączony bezpośrednio z nim). Wyłączyłem odhcpd i dnsmasq na wszystkich moich AP (jedne z 21.02 inne z 19.07) i zaczęło wszystko normalnie działać.

PS. Jak chodzi o IPv6 na głównym routerze, to może to trochę długo trwa, ale ogólnie dnsmasq sobie daje radę:

Sun Jun 19 14:35:07 2022 daemon.info dnsmasq[21443]: 1978 fde8:7ce4:bea:0:5c61:4385:39ed:8f69/55331 query[AAAA] cloud.domena.net.pl from fde8:7ce4:bea:0:5c61:4385:39ed:8f69
Sun Jun 19 14:35:07 2022 daemon.info dnsmasq[21443]: 1978 fde8:7ce4:bea:0:5c61:4385:39ed:8f69/55331 config cloud.domena.net.pl is NODATA-IPv6
Sun Jun 19 14:35:07 2022 daemon.info dnsmasq[21443]: 1979 fde8:7ce4:bea:0:5c61:4385:39ed:8f69/63120 query[A] cloud.domena.net.pl from fde8:7ce4:bea:0:5c61:4385:39ed:8f69
Sun Jun 19 14:35:07 2022 daemon.info dnsmasq[21443]: 1979 fde8:7ce4:bea:0:5c61:4385:39ed:8f69/63120 config cloud.domena.net.pl is 192.168.32.2

Dzień dobry.

Mam problem z serwerem DNS (?) na Gargoyle 1.13 (OpenWrt 19.07).

W pliku /etc/config/dhcp mam:

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option expandhosts '1'
        option nonegcache '0'
        option authoritative '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'
        option readethers '0'
        option domain 'moja.domena'
        list address '/cloud.moja.domena/192.168.32.2'

       
Podałem dość sporo, ale początku nie ruszałem, jest domyślny, a istotne wg mnie są 2 ostatnie linie, albo tylko ta ostatnia. W założeniach lokalny serwer DNS mówi, że "cloud.moja.domena" jest pod adresem lokalnym 192.168.32.2.

Serwer DNS jest pod adresem serwera DHCP, czyli 192.168.32.1. I takie ustawienie widzę na klientach.

Ogólnie to działa, ale ... no właśnie. Zaczęło się od tego, że smartfony nie chciały mi się łączyć z nextcloudem pod adresem cloud.moja.domena. Na smartfonach ciężko mi się diagnozuje o co chodzi, ale któegoś dnia używałem czegoś na Ubuntu 20.04 (KDE neon chyba) i też nie mogłem się połączyć z cloud.moja.domena - dostawałem komunikat, nie pamiętam dosłownie, ale coś w stylu "nie można znaleźć adresu cloud.moja.domena".

Na Ubuntu wyłączyłem IPv6 i zaczęło wszystko automagicznie działać. Na Smartfonie nie wiem co mam zrobić sad Ogólnie, to nie wiem gdzie właściwie jest problem sad Może mogę coś zrobić od strony OpenWrt?

Pozdrawiam,
Marcin

mar_w napisał/a:

Tylko że mesh bez szyfrowania to temat do dyskusji smile

Już pisałem na to odpowiedź, ale nie widzę, więc chyba zapomniałem kliknąć "Wyślij"...

Sprawdzając tylko komputerem albo telefonem, to faktycznie nie miałem zdania.

Ale przypadkiem nacisnęło mi się skanowanie sieci w LuCI i ... ładnie wypisało, że jest mesh, na jakim kanale i że jest nieszyfrowany, więc podłączenie, to już tylko kilka kliknięć. Może nie każdy ma OpenWrt i potrafi się do tego podłączyć jak do zwykłej sieci nieszyfrowanej, ale bardziej obeznany nie będzie miał problemu z połączeniem.

Czyli: Lepiej poszukać sprzętu ze stabilnym radiem, czy też odpowiednio to radio skonfigurować ograniczając parametry na łączu w siatce niż zostawiać to nieszyfrowane.

Zainteresowałem się tym bondingiem: https://www.open-mesh.org/projects/batm … nding-mode
i wywnioskowałem, że to powinno działać i bez niego i wtedy nawet lepiej: https://www.open-mesh.org/news/14

Wróciłem więc do mojego sprzętu i przyjrzałem się dokładniej działaniu mesha.

Większość opisu konfiguracji jest na stronach OpenWrt, nie będę więc powielał, i po przemyśleniu uznałem, że tak będzie dobrze w /etc/config/network:

config interface 'bat0'
        option proto 'batadv'
        option routing_algo 'BATMAN_V'
        option bonding '0'

config interface 'net_wifi_mesh0'
        option mtu '2304'
        option proto 'batadv_hardif'
        option master 'bat0'

config interface 'net_wifi_mesh1'
        option mtu '2304'
        option proto 'batadv_hardif'
        option master 'bat0'

A następnie w /etc/config/wireless:

config wifi-iface 'meshnet0'
        option device 'radio0'
        option mode 'mesh'
        option ifname 'mesh0'
        option network 'net_wifi_mesh0'
        option mesh_fwding '0'

config wifi-iface 'meshnet1'
        option device 'radio1'
        option mode 'mesh'
        option ifname 'mesh1'
        option network 'net_wifi_mesh1'
        option mesh_fwding '0'

Na pierwszy rzut oka wygląda problematycznie (bo mam 10 sąsiadów):

# batctl n
[B.A.T.M.A.N. adv openwrt-2019.2-11, MainIF/MAC: mesh1/d8:0d:17:22:b4:c5 (bat0/c2:ae:c2:ee:2f:cd BATMAN_V)]
IF             Neighbor              last-seen
30:b5:c2:96:1b:9b    0.050s (       18.1) [     mesh1]
f4:f2:6d:9b:f6:30    0.330s (       43.9) [     mesh1]
e8:94:f6:d0:d1:be    0.310s (       18.7) [     mesh1]
c4:6e:1f:40:9e:bc    0.400s (       47.9) [     mesh1]
d4:6e:0e:c6:0e:e6    0.450s (       47.1) [     mesh1]
d4:6e:0e:c6:0e:e7    0.030s (       38.9) [     mesh0]
e8:94:f6:d0:d1:bf    0.220s (        4.2) [     mesh0]
30:b5:c2:96:1b:9c    0.010s (       48.2) [     mesh0]
c4:6e:1f:40:9e:bd    0.090s (      116.0) [     mesh0]
f4:f2:6d:9b:f6:31    0.510s (       88.4) [     mesh0]

Ale jednak jest OK (routing jest do 5 urządzeń, wybrałem takiego który faktycznie ma niektóre przez mesh1 a niektóre przez mesh0):

# batctl o
[B.A.T.M.A.N. adv openwrt-2019.2-11, MainIF/MAC: mesh1/d8:0d:17:22:b4:c5 (bat0/c2:ae:c2:ee:2f:cd BATMAN_V)]
   Originator        last-seen ( throughput)  Nexthop           [outgoingIF]
   d4:6e:0e:c6:0e:e6    0.400s (       43.3)  d4:6e:0e:c6:0e:e7 [     mesh0]
   d4:6e:0e:c6:0e:e6    0.400s (       21.0)  e8:94:f6:d0:d1:bf [     mesh0]
   d4:6e:0e:c6:0e:e6    0.400s (       38.6)  30:b5:c2:96:1b:9c [     mesh0]
   d4:6e:0e:c6:0e:e6    0.400s (       43.3)  f4:f2:6d:9b:f6:31 [     mesh0]
   d4:6e:0e:c6:0e:e6    0.400s (       43.7)  c4:6e:1f:40:9e:bd [     mesh0]
   d4:6e:0e:c6:0e:e6    0.400s (       16.9)  30:b5:c2:96:1b:9b [     mesh1]
   d4:6e:0e:c6:0e:e6    0.400s (       22.7)  e8:94:f6:d0:d1:be [     mesh1]
   d4:6e:0e:c6:0e:e6    0.400s (       41.0)  c4:6e:1f:40:9e:bc [     mesh1]
   d4:6e:0e:c6:0e:e6    0.400s (       38.1)  f4:f2:6d:9b:f6:30 [     mesh1]
 * d4:6e:0e:c6:0e:e6    0.400s (       45.8)  d4:6e:0e:c6:0e:e6 [     mesh1]
   f4:f2:6d:9b:f6:30    0.960s (       43.3)  d4:6e:0e:c6:0e:e7 [     mesh0]
   f4:f2:6d:9b:f6:30    0.960s (       20.7)  e8:94:f6:d0:d1:bf [     mesh0]
   f4:f2:6d:9b:f6:30    0.960s (       38.8)  30:b5:c2:96:1b:9c [     mesh0]
   f4:f2:6d:9b:f6:30    0.960s (       47.9)  c4:6e:1f:40:9e:bd [     mesh0]
 * f4:f2:6d:9b:f6:30    0.960s (       95.9)  f4:f2:6d:9b:f6:31 [     mesh0]
   f4:f2:6d:9b:f6:30    0.960s (       17.0)  30:b5:c2:96:1b:9b [     mesh1]
   f4:f2:6d:9b:f6:30    0.960s (       43.4)  f4:f2:6d:9b:f6:30 [     mesh1]
   f4:f2:6d:9b:f6:30    0.960s (       20.6)  e8:94:f6:d0:d1:be [     mesh1]
   f4:f2:6d:9b:f6:30    0.960s (       37.2)  d4:6e:0e:c6:0e:e6 [     mesh1]
   f4:f2:6d:9b:f6:30    0.960s (       41.0)  c4:6e:1f:40:9e:bc [     mesh1]
   c4:6e:1f:40:9e:bc    0.850s (       43.3)  d4:6e:0e:c6:0e:e7 [     mesh0]
   c4:6e:1f:40:9e:bc    0.850s (       20.7)  e8:94:f6:d0:d1:bf [     mesh0]
   c4:6e:1f:40:9e:bc    0.850s (       38.8)  30:b5:c2:96:1b:9c [     mesh0]
   c4:6e:1f:40:9e:bc    0.850s (       45.7)  f4:f2:6d:9b:f6:31 [     mesh0]
 * c4:6e:1f:40:9e:bc    0.850s (      124.5)  c4:6e:1f:40:9e:bd [     mesh0]
   c4:6e:1f:40:9e:bc    0.850s (       21.7)  e8:94:f6:d0:d1:be [     mesh1]
   c4:6e:1f:40:9e:bc    0.850s (       16.7)  30:b5:c2:96:1b:9b [     mesh1]
   c4:6e:1f:40:9e:bc    0.850s (       36.5)  d4:6e:0e:c6:0e:e6 [     mesh1]
   c4:6e:1f:40:9e:bc    0.850s (       38.3)  f4:f2:6d:9b:f6:30 [     mesh1]
   c4:6e:1f:40:9e:bc    0.850s (       45.7)  c4:6e:1f:40:9e:bc [     mesh1]
   30:b5:c2:96:1b:9b    0.350s (       43.3)  d4:6e:0e:c6:0e:e7 [     mesh0]
   30:b5:c2:96:1b:9b    0.350s (       21.0)  e8:94:f6:d0:d1:bf [     mesh0]
 * 30:b5:c2:96:1b:9b    0.350s (       77.3)  30:b5:c2:96:1b:9c [     mesh0]
   30:b5:c2:96:1b:9b    0.350s (       47.9)  c4:6e:1f:40:9e:bd [     mesh0]
   30:b5:c2:96:1b:9b    0.350s (       45.7)  f4:f2:6d:9b:f6:31 [     mesh0]
   30:b5:c2:96:1b:9b    0.350s (       42.3)  c4:6e:1f:40:9e:bc [     mesh1]
   30:b5:c2:96:1b:9b    0.350s (       38.1)  f4:f2:6d:9b:f6:30 [     mesh1]
   30:b5:c2:96:1b:9b    0.350s (       22.7)  e8:94:f6:d0:d1:be [     mesh1]
   30:b5:c2:96:1b:9b    0.350s (       16.9)  30:b5:c2:96:1b:9b [     mesh1]
   30:b5:c2:96:1b:9b    0.350s (       37.2)  d4:6e:0e:c6:0e:e6 [     mesh1]
   e8:94:f6:d0:d1:be    0.020s (       41.7)  d4:6e:0e:c6:0e:e7 [     mesh0]
   e8:94:f6:d0:d1:be    0.020s (       20.9)  e8:94:f6:d0:d1:bf [     mesh0]
   e8:94:f6:d0:d1:be    0.020s (       39.2)  30:b5:c2:96:1b:9c [     mesh0]
   e8:94:f6:d0:d1:be    0.020s (       41.7)  f4:f2:6d:9b:f6:31 [     mesh0]
   e8:94:f6:d0:d1:be    0.020s (       41.7)  c4:6e:1f:40:9e:bd [     mesh0]
   e8:94:f6:d0:d1:be    0.020s (       17.0)  30:b5:c2:96:1b:9b [     mesh1]
   e8:94:f6:d0:d1:be    0.020s (       36.8)  d4:6e:0e:c6:0e:e6 [     mesh1]
   e8:94:f6:d0:d1:be    0.020s (       38.5)  f4:f2:6d:9b:f6:30 [     mesh1]
 * e8:94:f6:d0:d1:be    0.020s (       42.1)  c4:6e:1f:40:9e:bc [     mesh1]
   e8:94:f6:d0:d1:be    0.020s (       22.7)  e8:94:f6:d0:d1:be [     mesh1]

Osobną sprawą jest, czy to wszystko ma sens...

mar_w napisał/a:

Gdy leci przez 2 interfejsy radiowe to ma mniejszą szybkość niż gdy leci przez jedno radio 5GHz.
Jak sobie wybierze tak będzie  smile

Jak wynika z tego co pisało na tych stronach, które podlinkowałem, to lepiej powinno być jednak bez bonding. A ogólnie, to zestawienie sieci mesh na 5GHz oraz następnie konfiguracja AP na 2,4GHz wydaje się najrozsądniejszym rozwiązaniem. W takiej konfiguracji mesh nie współdzieli pasma z urządzeniami. A jak mamy dobry sprzęt, to dodatkowo wydajność mesha powinna wyraźnie przekraczać wydajność użytkowego wifi i powinno to wifi działać w miarę sprawnie.

Przetestowałem mojego mesha i kiedy działa tylko w jednym paśmie to klient końcowy (taki, który musi wykonać co najmniej 2 skoki, żeby dotrzeć do urządzenia podłączonego kablem do sieci) działa lepiej, gdy BATMAN korzysta tylko z jednego WiFi. Gdybym na końcu podłączył się kablem, to może byłoby lepiej, ale tak próbuję korzystać z sieci bezprzewodowej, która na tym samym kanale za chwilę przesyła moje dane przez zestawionego mesha. Dostępne pasmo jest współdzielone i na tym samym kanale smartfon przesyła dane do AP1, a potem AP1 do AP2. Możemy dodawać kolejne interfejsy w OpenWrt, ale wszystkie mają wspólną konfigurację radia (numer kanału i szerokość pasma).

C2v1 to faktycznie słabizna. 5GHz dość niestabilne. Żeby to działało byłem zmuszony wyłączyć AC/80MHz i ustawić N/40MHz w paśmie 5GHz. Szybkość jest niższa, ale połączenie jest stabilne. Niestety bez szyfrowania hmm Z szyfrowaniem działa, ale stabilność ... słaba sad Raz działa, raz nie sad

C7v5 zdaje się faktycznie ok. 160Mbit/s wyciągnął w meshu. Oczywiście z sąsiadem obok i tylko pojedynczym skokiem.

mar_w napisał/a:

Żeby jeszcze obsłużył NAT na konkretnym poziomie to ten brzegowy musi być niezły dzik big_smile

Po aktywacji "flow offloading" to już nie problem wink Nawet 1043ND daje radę, ale C7 czy ewentualnie R6220 są IMHO lepszym wyborem.

Skonfigurowałem BATMANa. Nawet działa. Aczkolwiek, żeby działał BATMAN_V, czyli routing na podstawie oczekiwanej przepustowości, to odpowiednią wartość musi zwrócić sterownik. Poleceniem iw dev mesh1 station dump wyświetlamy listę sąsiadów a tam szukamy informacji typu expected throughput:    42.388Mbps. Jeżeli jej nie ma, to wszystkie połączenia mają wagę 1 (Archer C7 v5 ma taką możliwość na 2.4GHz ale na 5GHz nie zwraca tego parametru). Wtedy zostaje propokół BATMAN_IV, który ocenia "jakość poąłączeń" - szczegóły na stronach projektu, ogólnie mierzy się straty z tego co zrozumiałem.

Jest jeszcze jedna rzecz z BATMANem, której nie potrafię ogarnąć. Może od razu przyjąłem złe założenia i to nie będzie działać, ale powiedzmy, że mamy taką sytuację: dwie sieci mesh, jedna na 5GHz i jedna na 2.4GHz. Jestem w stanie obie przypisać pod jeden interfejs bat0 - w założeniu "wybierz najlepszą trasę uwzględniając dwie możliwości na różnych częstotliwościcach". Problem w tym, że w praktyce BATMAN widzi mi wtedy 2 ... hmmm ... adresy? W każdym mam w tablicy routingu dwa razy to samo urządzenie fizyczne, tylko z różnymi adresami MAC, bo radio 5GHz ma inny MAC niż radio 2.4GHz. Jak powinienem do tego tematu podejść?

Siedzę... Czytam... I w sumie większość wydaje mi się, że rozumiem, poza jedną rzeczą hmm

Znalazłem protokół z "throughput based metric": https://www.open-mesh.org/projects/batm … /BATMAN_V, czyli BATMAN_V. Co prawda sugerują, że lepiej użyć BATMAN_IV: https://openwrt.org/docs/guide-user/net … sh/batman, ale to już sobie potestuję.

Dobra, a wracając do poradnika [OpenWrt Wiki] B.A.T.M.A.N. / batman-adv: Nie bardzo rozumiem jak mam potem mesha z batmanen podłączyć do sieci LAN?

W standardowym meshu mam:

config wifi-iface 'wifinet3'
        option network 'lan'
        option device 'radio0'
        option mode 'mesh'

czyli konfigurując interfejs w trybie mesh podpinam go po sieć lan. A konfigurując batman-adv powinienem dopisać jego interfejs do mostu:

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'

?
I tu dodać:

list ifname 'bat0'

czy też podmienić linię i wpisać:

option ifname 'eth0.1 bat0'

a może jeszcze jakoś inaczej?

================================================================================

BTW:

(...) choć zobacz czy w 802.11s nie było możliwości usuwania połączenia pomiędzy nodami, bo juz nie pamietam tego.

Myślę, że dałoby radę używając iw:

    dev <devname> mpath set <destination MAC address> next_hop <next hop MAC address>
        Set an existing mesh path's next hop.

    dev <devname> mpath new <destination MAC address> next_hop <next hop MAC address>
        Create a new mesh path (instead of relying on automatic discovery).

    dev <devname> mpath del <MAC address>
        Remove the mesh path to the given node.

Ale to już jest ingerencja "ręczna" a zależy mi na tym, żeby to było bezobsługowe i żeby można było sobie węzły przenosić w dowolne miejsca bez ciągłego poprawiania konfiguracji.

Ostatnio testuję sobie meshe i jestem zadowolny z działania, ale pojawił się pewien problem:

Powiedzmy, że mamy 3 urządzenia:
- A i B widzą się doskonale i zestawiają linka na 300Mbit/s
- B i C też się widzą się doskonale i też zestawiają linka na 300Mbit/s
- ale A i C widzą się, raczej słabo i zestawiają linka na 6Mbit/s

Problem polega na tym, że wbudowany w 802.11s protokół forwardingu, jeżeli trzeba będzie przesłać dane pomiędzy A i C to wybierze drogę bezpośrednią (mniej skoków) i połączenie będzie, ale bardzo wolne.

Pytanie brzmi: co mogę zrobić, żeby to zachowanie zmienić?

Na razie jedyne co mi przyszło do główy, to zmienić to ustawnienie:

mesh_rssi_threshold='-66'

Wartość może nie idealnie dobrana, ale jeżeli poziom sygnału spada gdzieś poniżej -70 dBm to wtedy linka urządzenia mi zestawiają, ale na niższej prędkości.

Taka zmiana spowoduje, że A i C nie zestawią bezpośredniego linka w sieci mesh. Czyli niby o to chodzi, ale jeżeli B stanie się niedostępny, to nie mam połączenia wcale. A nie ruszajać poziomu RSSI połączenie by było, chociaż trochę powolne.

Da się zrobić, żeby routing był na podstawie jakości/szybkości połączenia a nie liczby skoków?