Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: googler2 19. 09. 2021, 22:09:07

Název: RPi3 (Debian) pomalý WireGuard
Přispěvatel: googler2 19. 09. 2021, 22:09:07
caute,
nedavno som tu riesil nefunkcny WG na RPI3 pod debianom. Povodny problem som uz vyriesil takze tunel uz funguje ale rychlost je nizka.
Som si vedomi ze RPI3 ma len 100Mbit eth ale moj net dosahuje wan rychlost len 27-30 / 27-30Mbit, takze to by malo byt v ramci 100Mbit eth v pohode.

Problem je v tom ze ked sa pripojim cez wireguard tak dosahujem maximalnu wan rychlost cca 12-15 / 12-15Mbit a neviem cim je sposobeny tak vyrazny pokles rychlosti.

Skusal som experimentovat pridanim MTU do wg configu peera s tym ze som skusal zadat rozne hodnoty - 1500 (rovnaku hodnotu ma aj fyzicke rozhranie), 1440, 1412, a 1420 (default), ale zmena mtu nepomohla

Znizena rychlost sa prejavuje aj na Windows peerovi (original WG client) aj na debian 10 peerovi
Název: Re:RPI3 (debian) pomaly Wireguard
Přispěvatel: PanVP 19. 09. 2021, 22:56:06
No a zkoušel jsi různá šifrování?
Wireguard toho umí opravdu dost a CPU v RPI se snadno zapotí.
Mrkni na vyžítění jader, jestli jedno jede na 100%, tak jsi doma!
Mimo to, jak tomu dáš záhul, se šmejdským napájením ti spadne napětí, objeví se na obrazovce bleska a celé se to podtaktuje.

BTW, mám s RPI3 taky nějaké problémy.
Mám na tom ofiko Windows 10 IOT core: https://docs.microsoft.com/en-us/windows/iot-core/downloads
Ale od určité doby se to nechce hýbat, začne se to aktualizovat a třeba 4 hodiny to je totálně mrtvé a pak se to převaluje jako rozespalý mrož >:(
Název: Re:RPI3 (debian) pomaly Wireguard
Přispěvatel: Jan Fikar 19. 09. 2021, 23:37:30
WG myslím neumožňuje měnit šifrování, je to stále chacha20, což pro RPi není až tak nejhorší

zkoušel jsem WG mezi Turrisem a RPi4 a mám 620 Mb/s, možná je Turris slabší

RPi3 mám taky, ale zrovna mi nejede, tak to nemůžu rychle zkusit
Název: Re:RPI3 (debian) pomaly Wireguard
Přispěvatel: by_cx 19. 09. 2021, 23:59:28
Citace
se šmejdským napájením ti spadne napětí

RPi nemá napájení úplně dobře udělané, takže i ty nejlepší zdroje s ním mohou mít problémy. Aby vše fungovalo, tak stačí levný zdroj, kde se dá vyladit napětí.
Název: Re:RPI3 (debian) pomaly Wireguard
Přispěvatel: Jan Fikar 20. 09. 2021, 01:13:28
Tak jsem vytáhnul RPi3+ a nejede to tak špatně. Síťovka je 1Gb/s, ale připojená podobně jako USB2, takže mi to dává jen 260-320 Mb/s. RPi3 má jen 100 Mb/s síťovku.

S WG mezi Turrisem a RPi3+ to jede 250 Mb/s. Tak chyba asi bude jinde. Mám sice RPi3+ přetaktováno, ale to nebude mít až takový vliv.

/boot/config.txt
[pi3+]
temp_soft_limit=70
dtparam=sd_overclock=100
gpu_mem=16
over_voltage=3
arm_freq=1500
sdram_freq=750
core_freq=600
sdram_schmoo=0x02000020
over_voltage_sdram_p=6
over_voltage_sdram_i=0
over_voltage_sdram_c=6
Název: Re:RPI3 (debian) pomaly Wireguard
Přispěvatel: _Jenda 20. 09. 2021, 01:14:51
No a zkoušel jsi různá šifrování?
Wireguard toho umí opravdu dost
WTF, doslova hlavní selling point wireguardu je, že nemá vůbec žádné negotiation a všechno je natvrdo zadrátované.
Název: Re:RPI3 (debian) pomaly Wireguard
Přispěvatel: PanVP 20. 09. 2021, 06:39:42

Nevím proč, ale zapamatoval jsem si, že umí AES, zmíněnou Chacha jako primární a ještě další.
Název: Re:RPI3 (debian) pomaly Wireguard
Přispěvatel: PanVP 20. 09. 2021, 06:43:43
WG myslím neumožňuje měnit šifrování, je to stále chacha20, což pro RPi není až tak nejhorší

Už to tu tvrdíte dva, tak to budete mít asi pravdu. Nevím proč si pamatuju, že se to dá změnit. Každopádně by mě jeho aktuální zatížení cpu zajímalo.
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: googler2 20. 09. 2021, 12:17:01
pracujem na tom zatazeni cpu ale mam s tym problem pretoze ked spustim WG tunel, tak sa nedostanem z toho PC cez SSH do RPI aby som spustil prikaz top. Neviem co ma blokuje pretoze v nftables som povolil ip toho wg peera na pristup do RPI cez SSH. V kazdom pripade to teda skusim tak ze tunel aktivujem z ineho pc a potom z mojho pc spustim top na rpi3, vysledok tu postnem. Aj ked podla toho co som googlil tak si nemyslim ze nizka rychlost bude sposobena problemom s vykonom pretoze uzivatelia cez WG na RPI3 (100Mbit) bezne dosahuju o dost vyssie rychlosti ako ja

BTW napajanie mam original doporucovane vyrobcom
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: googler2 20. 09. 2021, 15:14:08
takze ked som cez WG tunel pozeral video stream z WANu, tak top zobrazoval celkove vytazenie CPU pod 6%, takze nizka rychlost nebude sposobena nizkym vykonom. Ma niekto nejake daôsie napady?
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: googler2 20. 09. 2021, 15:28:46
mne este napada, ze mozno treba nejako "optimalizovat" pravidla v nftables. Mohol by tu niekto z vas "nftablesakov" ktori pouzivate WG postnut vlastne nftables pravidla pod ktorymi vam to funguje dobre a nie len na "pol plynu" ako mne?
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: Jan Fikar 20. 09. 2021, 15:45:57
no při tom testu nemám nftables vůbec, propojím se WG na přímo
nemůžete propojit RPi3 napřímo s jiným linuxem a zkusit prostě iperf3 mezi těmi IP, co používá WP, tedy bez nftable?

a co máte za verzi WG a jádra? tady mám jádro 5.10.60 a WG 1.0.20200827
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: SB 20. 09. 2021, 17:23:12
A nemáte to Raspberry prostě podrbané? Nezkoušel jste na test použít síťovku do USB? Co jiná distribuce?
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: Michal Smrž 20. 09. 2021, 18:15:35
S (zhruba) poloviční rychlostí jsem bojoval taky a musel jsem do iptables vložit
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
když dáte "wireguard --clamp-mss-to-pmtu" do googlu, vypadne hromada zdrojů.
Co to je a proč to je nevím, ale mě to pomohlo.
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: googler2 20. 09. 2021, 18:44:21
S (zhruba) poloviční rychlostí jsem bojoval taky a musel jsem do iptables vložit
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Ano, o tom pravidle pre iptables som cital aj ja a preto som do svojho nftables doplnil:
Kód: [Vybrat]
tcp flags syn, rst, syn tcp option maxseg size set rt mtu;
vraj by to malo byt to iste pravidlo len alternativa pre nftables, ale nepomohlo to.

Nemyslim si, ze by bolo RPI "podrbane" pretoze samotne RPI dosahuje na fyzickom eth0 interface plnu WAN rychlost internetu.

Ok mozem este skusit vypnut nftables len na test ale btw nepovazujem za rozumne mat dlhodobo do internetu pripojene zariadenie bez aktivovaneho firewallu.

Verzia WG - wg -v output:
Kód: [Vybrat]
wireguard-tools v1.0.20210223Kernel:
Kód: [Vybrat]
5.10.0-8-arm64
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: googler2 20. 09. 2021, 19:45:56
takze ked som vypol nftables:
Kód: [Vybrat]
systemctl stop nftables
systemctl disable nftables
reboot
tak po pripojeni do WG tunelu peerovi vobec nefungoval internet
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: smrt28 23. 09. 2021, 11:24:36
WG umi jen jeden sifrovaci algoritmus, resp. 2 - 1 symetricky a 1 asymetricky. Tj. chacha20 a Curve25519 na vyjednani a overeni symetrickeho klice. Zadne vyjednavani "jak se bude sifrovat" ala openvpn se u WG nekona - proto taky ma WG 4000 radek kodu, pricemz openvpn asi 70k a zavislost na openssl.

WG ti vytvori na strane serveru interface (obvykle se jmenuje wg0, nebo tak nejak) a tomu se obvykle priradi neverejna IP. Tato IP se bez NATu nemuze dostat na internet.

Ja mam treba toto:
-A POSTROUTING -s 10.6.0.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE

Jinak, jestli ti nevadi, ze spustis jako root script stazeny z internetu, tak uplne nejrpimitivnejsi zpusob, jak nainstalovat VPN server pro pistup do nejake site je pouzit https://pivpn.io/

Ten script je docela jednoduchej, takze ho muzes stahnout a podivat se co dela a overit si, ze nedela nic spatneho.
Název: Re:RPi3 (Debian) pomalý WireGuard
Přispěvatel: Jan Fikar 26. 09. 2021, 18:48:12
takze ked som vypol nftables:
Kód: [Vybrat]
systemctl stop nftables
systemctl disable nftables
reboot
tak po pripojeni do WG tunelu peerovi vobec nefungoval internet

No to že peerovi nejede internet na testování spojení mezi peerem a RPi nevadí, ne? Na jednom spustit ipetf3 -s a na druhém ipetf3 -c adresa