Upitishaji wa polepole kupitia handaki na mashine iliyokwama ikisubiri nambari nasibu hutoa uzoefu tofauti sana, lakini bado hurekodiwa chini ya malalamiko yale yale. Kimoja huonekana kama pause kabla ya kitu chochote kufanya kazi. Kingine huonekana kama muunganisho unaofanya kazi na kuhamisha data polepole kadri unavyoutazama. Kuamua ni upi unayo huchukua dakika kumi na huokoa wiki moja ya kubahatisha.

Dalili mbili zinazofanana

Huduma inayokwama baada ya kuwasha upya, kabla ya kupokea muunganisho mmoja, inasubiri kitu. Handaki linalojitokeza haraka na kisha kuhamisha kwa sehemu ndogo ya kasi inayotarajiwa linazuiliwa na kitu kingine. Neno usimbaji fiche linaonekana katika hadithi zote mbili, ndiyo sababu huunganishwa. Zitenganishe kabla ya kugusa faili ya usanidi.

Weka timestamps kuzunguka kuanza, uthibitishaji, majadiliano upya ya funguo na uhamishaji wenyewe. Ucheleweshaji mrefu kabla handaki kutumika si kasi ndogo tulivu, na kupata wastani wa vyote viwili katika nambari moja huharibu ushahidi.

systemd-analyze blame | head -10
journalctl -u [email protected] -o short-precise | head -40
cat /proc/sys/kernel/random/entropy_avail

Amri mbili za kwanza huweka kazi ya kuanza kwenye mstari wa muda. Ya tatu huchapisha thamani ya uhasibu wa entropia ya kernel, ambayo ni muhimu kama nukta moja ya data na haina maana kama kipimo cha bandwidth.

Jinsi kusubiri nambari nasibu kunavyoonekana kwa kweli

Ombi la baiti nasibu salama linaweza kuzuiwa hadi kernel ianzishe chanzo chake cha nasibu. Hilo ni muhimu zaidi kwenye mashine pepe na bodi ndogo zilizopachikwa mapema wakati wa kuwasha, wakati kelele kidogo ya mazingira imekusanywa. Hiyo haimaanishi kwamba kila baiti iliyosimbwa hutumia entropia mpya.

Jenereta za kisasa hupandwa mbegu mara moja na kisha hutoa matokeo kutoka kwa muundo tambuzi, hupanda mbegu tena kwa ratiba yao wenyewe. Uhamishaji wa jumla haumalizi dimbwi baiti kwa baiti, kwa hiyo thamani ndogo ya dimbwi wakati wa uhamishaji wa polepole haithibitishi chochote kuhusu sababu.

strace -f -e trace=getrandom -p $(pidof openvpn) 2>&1 | head -20
dmesg | grep -i 'random\|crng'

Amri ya kwanza inaonyesha kama mchakato umekaa katika mwito wa nambari nasibu wakati unatazama. Ya pili inaonyesha jumbe za uanzishaji za kernel yenyewe, na hapo ndipo kukwama kwa mwanzo wa kuwasha kuonekana.

Andika toleo la kernel na maktaba ambayo huduma inaunganishwa nayo kwa kweli, kwa sababu tabia hutofautiana kati ya utekelezaji na kati ya matoleo. Ufuatiliaji uliochukuliwa baada ya urejeshaji kwa kawaida hukosa pause kabisa.

Jinsi upolepole wa kudumu unavyoonekana kwa kweli

Handaki linalohamisha polepole wakati wote linazuiliwa na njia ya data. Uzi mmoja uliojaa, upotevu wa pakiti za nje, mawasilisho upya au foleni za socket zilizojaa kila kimoja huzalisha muundo huo, na kila kimoja kina marekebisho yake. Asilimia ya CPU iliyojumuishwa huficha uzi mmoja wenye shughuli, na hilo ndilo somo la kawaida la makosa. Tazama muda kwa kila uzi kabla ya kutazama mzigo wote.

Pima katika pande zote mbili kwa msingi unaolingana, na uangalie vihesabu vya interface badala ya ripoti ya programu yenyewe.

ss -tin dst 203.0.113.10
nstat -az | grep -i 'drop\|retrans'
ethtool -S eth0 | grep -i 'drop\|error'

Amri ya kwanza inaonyesha hali ya foleni na msongamano kwa peer mmoja. Ya pili na ya tatu zinaripoti matone na mawasilisho upya kwenye stack na kwenye interface, ambako sababu kwa kawaida huonekana kwanza.

Chagua marekebisho kwa kizuizi ulichopima

Ikiwa ushahidi unaonyesha uanzishaji wa mapema wa kuwasha, tazama njia ya mbegu inayotumika ya jukwaa, ambayo kwenye mashine pepe inaweza kujumuisha kifaa cha nasibu kinachotolewa na mwenyeji. Picha ya mbegu iliyonakiliwa bila mabadiliko kwa wageni wengi si mbadala wa uanzishaji huru.

Ikiwa ushahidi unaonyesha njia ya data, rekebisha kile vihesabu vinavyoonyesha. Ukubwa wa buffer hutusaidia wakati foleni zinavyojaa na haufanyi chochote wakati uzi mmoja umejaa. Kusakinisha daemon ya entropia ili kuinua kihesabu si ukarabati wa upitishaji, na kubadilisha mawazo ya mbegu ili grafu ionekane vizuri hubadilisha sifa ya usalama kwa nambari.

Kubali mabadiliko tu wakati kipimo hicho hicho kinaboresha chini ya hali zile zile. Kihesabu kikubwa si matokeo; kusubiri kupimwa kwa muda mfupi au uhamishaji wa haraka zaidi na sababu iliyotambuliwa ndiyo matokeo.

Makala zinazohusiana