Je li nizak VPN protok problem entropije? Obično nije
Zastoj pri pokretanju koji čeka slučajne brojeve i spor tunel su različiti kvarovi. Izmjerite koji imate prije nego što promijenite sjeme ili bafere.
Spor protok kroz tunel i mašina zaglavljena u čekanju slučajnih brojeva daju vrlo različita iskustva, ali se ipak evidentiraju pod istom pritužbom. Jedno se pojavljuje kao pauza prije nego što išta radi. Drugo se pojavljuje kao veza koja radi i polako prenosi podatke dok god je gledate. Utvrditi koje imate traje deset minuta i štedi sedmicu nagađanja.
Dva simptoma koja izgledaju isto
Usluga koja se zaglavi nakon svježeg podizanja, prije nego što prihvati ijednu vezu, čeka nešto. Tunel koji se brzo uspostavi i zatim prenosi djelićem očekivane brzine ograničen je nečim drugim. Riječ enkripcija pojavljuje se u obje priče, zbog čega se spajaju. Razdvojite ih prije nego što dotaknete konfiguracijsku datoteku.
Postavite vremenske oznake oko pokretanja, autentifikacije, ponovnog pregovaranja ključeva i samog prijenosa. Duga odgoda prije nego što tunel postane upotrebljiv nije niska stalna brzina, a usrednjavanje njih dvoje u jedan broj uništava dokaz.
systemd-analyze blame | head -10 journalctl -u [email protected] -o short-precise | head -40 cat /proc/sys/kernel/random/entropy_avail
Prve dvije naredbe stavljaju rad pri pokretanju na vremensku liniju. Treća ispisuje vrijednost knjigovodstva entropije u kernelu, koja je korisna kao jedna podatkovna točka i beskorisna kao mjerač propusnosti.
Kako čekanje na slučajne brojeve zapravo izgleda
Zahtjev za sigurne slučajne bajtove može blokirati dok kernel ne inicijalizira svoj slučajni izvor. To je najvažnije na virtualnim mašinama i malim ugrađenim pločama na početku podizanja, kada je prikupljeno malo šuma iz okoline. Iz toga ne slijedi da svaki enkriptirani bajt troši svježu entropiju.
Moderni generatori zasijavaju se jedanput i zatim proizvode izlaz iz determinističke konstrukcije, ponovno se zasijavajući po vlastitom rasporedu. Skupni prijenos ne iscrpljuje pulj bajt po bajt, pa niska vrijednost pulja tijekom sporog prijenosa ne dokazuje ništa o uzroku.
strace -f -e trace=getrandom -p $(pidof openvpn) 2>&1 | head -20 dmesg | grep -i 'random\|crng'
Prva naredba pokazuje sjedi li proces u pozivu slučajnih brojeva dok gledate. Druga pokazuje kernelove vlastite poruke inicijalizacije, i tu zastoj pri ranom podizanju postaje vidljiv.
Zabilježite verziju kernela i biblioteku s kojom se usluga zapravo povezuje, jer ponašanje se razlikuje između implementacija i između izdanja. Trag snimljen nakon oporavka obično u potpunosti promaši pauzu.
Kako trajna sporost zapravo izgleda
Tunel koji cijelo vrijeme polako prenosi ograničen je podatkovnim putem. Jedna zasićena nit, gubitak vanjskih paketa, ponovni prijenosi ili puni redovi utičnica svaki proizvode taj uzorak, i svaki ima svoje rješenje. Zbirni postotak CPU-a skriva jednu zauzetu nit, što je najčešće pogrešno čitanje. Pogledajte vrijeme po niti prije nego što pogledate ukupno opterećenje.
Mjerite u oba smjera s uporedivom osnovom i gledajte brojače sučelja, a ne vlastito izvješće aplikacije.
ss -tin dst 203.0.113.10 nstat -az | grep -i 'drop\|retrans' ethtool -S eth0 | grep -i 'drop\|error'
Prva naredba pokazuje stanje reda i zagušenja za jednog partnera. Druga i treća prijavljuju odbacivanja i ponovne prijenose na stogu i na sučelju, gdje se uzrok obično pojavljuje prvi.
Odaberite ispravku za usko grlo koje ste izmjerili
Ako dokazi upućuju na inicijalizaciju pri ranom podizanju, pogledajte podržani put zasijavanja platforme, koji na virtualnoj mašini može uključivati slučajni uređaj koji pruža host. Slika sjemena kopirana nepromijenjena u mnoge goste nije zamjena za neovisnu inicijalizaciju.
Ako dokazi upućuju na podatkovni put, podesite ono na što brojači upućuju. Veličine međuspremnika pomažu kada redovi preliju i ne čine ništa kada je jedna nit zasićena. Instaliranje demona entropije da podigne brojač nije popravak protoka, a promjena pretpostavki zasijavanja da graf izgleda bolje mijenja sigurnosno svojstvo za broj.
Prihvatite promjenu samo kada se isto mjerenje poboljša pod istim uvjetima. Veći brojač nije rezultat; kraće izmjereno čekanje ili brži prijenos s utvrđenim uzrokom jest.