Kí ni ìdí tí ìwọ̀n Wi-Fi router rẹ kò fi sọ àsọtẹ́lẹ̀ ìgboyún VPN
Ìwọ̀n Wi-Fi tí wọ́n polówó àti ìwọ̀n VPN tí wọ́n wọ̀n ń ṣàpèjúwe àwọn ìpele ọ̀tọ̀ọ̀tọ̀. Ṣe àyẹ̀wò tí ó wà létòlétò yìí kí o tó ra router tí ó yára jù.
Router tí ó ní àmì Wi-Fi 3,000 Mbps ṣì lè gbé ìsọfúnni tí wọ́n ti fi ààlà dí lọ ní ìwọ̀n tí ó kéré gan-an nínú àpapọ̀ náà, kí ó sì jẹ́ pé kò sí ọ̀kan nínú àwọn nọ́mbà méjèèjì tí kò tọ́. Ìdíwọ̀n rédíò ń ṣàpèjúwe ìyípadà tí ó dára jùlọ tí ó ṣeé ṣe fún ìsopọ̀ aláìlówèé tí chipset ń ṣe àtìlẹ́yìn fún; nọ́mbà VPN ń ṣàpèjúwe bí ẹ̀rọ kan ṣe lè tì àwọn pákẹ́ẹ̀tì tí wọ́n ti fi ààlà dí kọjá processor router àti jáde kúrò nínú ìyípo àwọlé rẹ. Ìwọ̀nyí jẹ́ àwọn ìpele ọ̀tọ̀ọ̀tọ̀, ìwọ̀n pákẹ́ẹ̀tì ọ̀tọ̀ọ̀tọ̀ àti àwọn ọ̀nà ìwọ̀n ọ̀tọ̀ọ̀tọ̀. Wo nọ́mbà tí ó wà lórí àpótí gẹ́gẹ́ bí ààlà tí kò sí ẹnikẹ́ni tí ó ń dé, kì í ṣe àsọtẹ́lẹ̀ ìyára ojú-ọ̀nà rẹ.
Ìgbésẹ̀ 1: ṣe àwòrán àwọn ìpele mẹ́rin tí ó ń dè nọ́mbà náà
Fẹ́rẹ̀ẹ́ gbogbo ẹ̀dùn ọkàn nípa router tí ó lọ jẹ́jẹ́ tí mo ti ṣiṣẹ́ lórí ń ṣubú sínú ọ̀kan nínú àwọn ìpele mẹ́rin: ìsopọ̀ aláìlówèé, ìwọ̀n àwọlé WAN, ọ̀nà gbígbé (NAT, odi iná, àtẹ̀lé ìsopọ̀) tàbí ọ̀nà ààlà VPN. Wọ́n ń kóra wọ́n pọ̀, ìpele tí ó lọ jùlọ ni ó ń pinnu àbájáde. Ìwọ̀n Wi-Fi tí wọ́n polówó ń sọ̀rọ̀ nípa ìpele kìíní nìkan, ó sì ń sọ̀rọ̀ nípa rẹ̀ pẹ̀lú ọ̀là.
Nọ́mbà náà wá láti inú iye àwọn ìṣàn tí a fi ẹ̀gbẹ́ kanálì pọ̀ àti ìyípadà tí ó ga jùlọ tí chipset lè bára wọn ṣe. Rédíò 2x2 ní 5 GHz ní 80 MHz pẹ̀lú 1024-QAM ni wọ́n ń polówó nítòsí 1,200 Mbps, ṣùgbọ́n Wi-Fi jẹ́ àyè tí a pín, tí kò ṣe ìdánimọ̀ ìlọ́po méjì: àwọn olùgbà ń yí ojú, àtúnṣe ìránṣẹ́ àti ìsọfúnni ìṣàkóso ń jó àkókò afẹ́fẹ́, TCP sì ń fi ẹrù tirẹ̀ kún un. Olùgbà tí ó bára wọn ṣe ìwọ̀n tí ó ga jùlọ ní ipò tí ó dára jùlọ ń wọ̀n ní ìsàlẹ̀ ìdájì rẹ̀ gan-an, àti kéré sí i nígbà tí àwọn nẹ́tíwọ́kì aládùúgbò yóò farahàn.
| Symptom | Tier to suspect first |
|---|---|
| Wired clients are slow too | WAN access or forwarding path |
| Only Wi-Fi clients are slow | Radio, airtime, or channel width |
| One stream is slow, four parallel streams add up | Per-connection CPU path, not the link |
| Every stream is slow and one core sits at 100% | Crypto path |
| Fast to LAN hosts, slow to the internet | WAN, not the tunnel |
Tí tábìlì bá tọ́ka sí rédíò, tún ẹ̀gbẹ́ aláìlówèé ṣe kíákíá: bándì, ẹ̀gbẹ́ kanálì, ìjìnnà. Tí ó bá tọ́ka sí ìsàlẹ̀ rédíò, àwọn ìgbésẹ̀ mẹ́rin tí ó tẹ̀lé ni ó ṣe pàtàkì, kò sì sí ìra èròjà tí yóò yí i padà.
Ìgbésẹ̀ 2: gbé ìlà ìpìlẹ̀ aláwèé kí o tó fọwọ́ kàn án rédíò
Fi kọ̀mpútà àgbékọ́kiri sí Ethernet kí o sì wọ̀n ọ̀nà tí kò ní ojú-ọ̀nà kíákíá, nítorí ìyẹn yóò fún ọ ní ìpín. Ṣiṣẹ́ irinṣẹ́ ìgboyún ní ẹ̀gbẹ́ kejì, lórí VPS tàbí sáfà ilé tí ó ń parí VPN, kí o sì tọ́ olùgbà sí àdírẹ́sì gbangba rẹ̀ kí ìsọfúnni lè gba router àti ìyípo àwọlé rẹ kọjá.
# on the far host (VPN endpoint)
iperf3 -s
# wired client, direct to the endpoint's public address
iperf3 -c 203.0.113.10 -t 30
# same client, four parallel streams
iperf3 -c 203.0.113.10 -t 30 -P 4
Nọ́mbà méjì láti inú blọ́ọ̀kì yẹn ń dáhùn àwọn ìbéèrè ọ̀tọ̀ọ̀tọ̀. Ìṣàn kan ń fi ààlà fún ìsopọ̀ kọ̀ọ̀kan hàn, pẹ̀lú ìhùwàsí fèrèsé TCP àti ìṣàpẹẹrẹ ìṣàn kọ̀ọ̀kan lórí ọ̀nà. Ìṣàn mẹ́rin ń fi hàn bóyá ìsopọ̀ ní agbára tí ìwọ kò ń lò, nítorí àwọn ìṣàn ẹlẹgbẹ́ lè kún páìpù tí ìṣàn kan kò lè kún.
Jẹ́ kí ó jẹ́ òtítọ́: olùgbàlejò kan náà, àkókò ọjọ́ àti pípẹ́, kò sí nǹkan mìíràn tí ń ṣàn ní ilé. Gbígbé àkójọpọ̀ ọgbọ̀n ìṣẹ́jú àáyá ni ẹ̀yà tí ó tọ́ níbí, RFC 6349, ètò ìdánwò ìgboyún TCP, sì dúró lórí ìrònú yẹn gan-an, nítorí àwọn ìbújáde kúkúrú àti àwọn ìbéèrè kékeré ń fi ìsopọ̀ hàn bí ó dára jù. Kọ ìlà ìpìlẹ̀ sílẹ̀ kí o tó yí nǹkan kan padà.
Ìgbésẹ̀ 3: ṣiṣẹ́ ìdánwò kan náà gba ojú-ọ̀nà
Ní báyìí tún un ṣe lòdì sí àdírẹ́sì ojú-ọ̀nà ti ìparí, pẹ̀lú olùgbà, pípẹ́ àti iye ìṣàn kan náà, ojú-ọ̀nà ṣí, kò sì sí ìsọfúnni mìíràn. Ìpín láàárín àbájáde méjèèjì ń sọ fún ọ bí ààlà àti ìkójọpọ̀ ń ná ní orí ẹ̀rọ yẹn; nọ́mbà pátápátá ń sọ bóyá ó tó fún iṣẹ́ náà.
Wo àwọn olùka nígbà tí gbígbé ń lọ. Lórí WireGuard, wg show ń ròyìn àwọn báìtì tí wọ́n gbé fún alábàákẹ́gbẹ́ kọ̀ọ̀kan; lórí OpenVPN, fáìlì ipò tí wọ́n kọ ní àárín àkókò ń fún ọ ní ìwò kan náà.
watch -n 1 'wg show wg0 transfer'
# OpenVPN: add --status /run/openvpn/server.status 10 to the server config
tail -f /run/openvpn/server.status
Tí nọ́mbà ojú-ọ̀nà bá súnmọ́ ìlà ìpìlẹ̀ aláwèé, VPN kì í ṣe ìdíwọ́ rẹ, o sì lè dá ìdálẹ́bi rẹ̀ dúró. Tí ó bá jẹ́ ìpín kékeré nínú ìlà ìpìlẹ̀, àdánù náà ṣẹlẹ̀ nínú ọ̀nà ààlà àti gbígbé router, ìgbésẹ̀ tí ó tẹ̀lé yóò sì sọ apá tí ó wà.
Ìkìlọ̀ kan: ní kété tí IP àsọjáde bá yí padà, àwọn iṣẹ́ ìdánwò ìyára kan á yan sáfà ìwọ̀n mìíràn ní ìdákẹ́jẹ́, kí o sì parí pẹ̀lú fífi àwọn ibi méjì ọ̀tọ̀ọ̀tọ̀ wé. Fi àdírẹ́sì sáfà náà mọ́ra fúnra rẹ.
Ìgbésẹ̀ 4: ka processor gẹ́gẹ́ bí ọ̀nà, kì í ṣe ìpíndọ́gba
Router tí ó fi 30 nínú ọgọ́rùn-ún processor lápapọ̀ hàn ṣì lè kún: iṣẹ́ ojú-ọ̀nà kan máa ń bọ́ sí kọ́ọ̀kì kan, ìlà ìdádúró kan tàbí òwú kẹ́nẹ́lì kan, nítorí náà ìpíndọ́gba ń fi ààlà pamọ́. Wo àwọn nọ́mbà fún kọ́ọ̀kì kọ̀ọ̀kan àti softirq dípò òṣùwọ̀n orí pátákó.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
Àwọn nǹkan mẹ́ta ṣe pàtàkì nínú àbájáde yẹn. Kọ́ọ̀kì kan tí ó há mọ́ nítòsí 100 nínú ọgọ́rùn-ún nígbà tí àwọn yòókù kò ṣe nǹkan ń tọ́ka sí ààlà fún ìsopọ̀ kọ̀ọ̀kan. %soft wíwúwo tàbí ksoftirqd tí ó ń ṣiṣẹ́ lórí processor kan ń tọ́ka sí ìṣàpẹẹrẹ pákẹ́ẹ̀tì ní ẹ̀gbẹ́ gbígbà tí kò ń tàn káàkiri àwọn ìlà. Àti àmì aes tí kò sí túmọ̀ sí pé processor kò ní àwọn ìtọ́nisọ́nà AES, nítorí náà ààlà ìdọ́gba ń ṣiṣẹ́ nínú sọ́fítíwéì àti pé ó ń ná lórí pákẹ́ẹ̀tì kọ̀ọ̀kan ju bẹ́ẹ̀ lọ.
Ìmúṣẹ náà ṣe pàtàkì pẹ̀lú. Àpẹẹrẹ OpenVPN ìbílẹ̀ nínú ààyè olùlò ń ṣàtúnṣe àwọn pákẹ́ẹ̀tì ojú-ọ̀nà kan ní ibi kan púpọ̀, nítorí náà àpótí alágbára kọ́ọ̀kì púpọ̀ lè huwà bí ẹni kọ́ọ̀kì kan fún ojú-ọ̀nà yẹn. WireGuard nínú kẹ́nẹ́lì ń pín iṣẹ́ láàárín àwọn processor, ìpalẹ̀mọ́ ọ̀nà dátà OpenVPN sì ń gbé àtúnṣe pákẹ́ẹ̀tì lọ sínú kẹ́nẹ́lì pẹ̀lú, ṣùgbọ́n ní àwọn ìkọ́lé àti pẹpẹ tí ó ń ṣe àtìlẹ́yìn fún un nìkan. Ìdánilójú ìmúyára ẹ̀rọ lórí ojú-ìwé títà kì í ṣe ẹ̀rí pé ọ̀nà kóòdù tí ìwọ ń ṣiṣẹ́ ń lò ó.
Ìgbésẹ̀ 5: pinnu ohun tí yóò yí padà, ní ìtòlẹ́sẹẹsẹ yẹn
Sọ̀kalẹ̀ nínú àkójọ yìí kí o sì dúró ní ìlà kìíní tí ó jẹ́ òtítọ́, nítorí yíyí nǹkan kan tí ó wà nísàlẹ̀ rẹ̀ padà kò ní gbé nọ́mbà náà.
1. Ìgboyún tààrà aláwèé kéré ju ohun tí ìwọ ń san lọ: bá olùpèsè sọ̀rọ̀, nítorí ojú-ọ̀nà kò lè dá agbára tí ìyípo àwọlé kò fúnni. 2. Aláwèé tààrà dára ṣùgbọ́n kọ́ọ̀kì kan há mọ́ nígbà ìdánwò ojú-ọ̀nà: ọ̀nà ààlà router ni ààlà. 3. Processor kò ṣe nǹkan ṣùgbọ́n ojú-ọ̀nà lọ jẹ́jẹ́: yẹ̀wò MTU àti pípín, lẹ́yìn náà agbára ìparí jíjìnnà fúnra rẹ̀. 4. Àwọn olùgbà Wi-Fi nìkan ni ó lọ jẹ́jẹ́: yí bándì tàbí ẹ̀gbẹ́ kanálì padà, kí o sì gbà pé ìwọ̀n tí wọ́n polówó kì í ṣe nọ́mbà VPN rárá.
Nígbà tí router bá jẹ́ ààlà ní tòótọ́, àwọn àṣàyàn òtítọ́ ni ẹ̀rọ tí ó ní àwọn ìtọ́nisọ́nà AES àti ọ̀nà gbígbé tí ó yára jù, ojú-ọ̀nà ní ẹ̀gbẹ́ kẹ́nẹ́lì bí WireGuard dípò ti ààyè olùlò, tàbí gbígbé olùgbà sínú ẹ̀rọ fúnra rẹ̀ kí router lè dá ààlà dúró. Pípa ààlà tí a fìdí rẹ̀ múlẹ̀ láti borí ìdánwò àfiwé kì í ṣe ọ̀kan nínú wọn; ó ń pààrọ̀ ànímọ́ ààbò fún nọ́mbà tí yóò ṣì máà bá àpótí mu.
Kí o tó ra nǹkan kan, tún ìgbésẹ̀ 2 àti 3 ṣe lórí ẹ̀rọ tuntun pẹ̀lú sáfà àti pípẹ́ kan náà, lẹ́yìn náà fi àwọn ìpín wé, kì í ṣe àwọn òkè.