Таны чиглүүлэгчийн Wi-Fi үнэлгээ VPN-ийн дамжуулах чадварыг яагаад урьдчилан таамаглахгүй вэ
Зарласан Wi-Fi хурд ба хэмжсэн VPN хурд нь өөр өөр давхаргыг тодорхойлдог. Илүү хурдан чиглүүлэгч авахаас өмнө энэ дараалсан шалгалтыг хийгээрэй.
3,000 Mbps Wi-Fi тэмдэгтэй чиглүүлэгч ч шифрлэсэн урсгалыг тухайн тооны багахан хэсгийн хурдаар зөөж чадна, хоёр тооных нь аль нь ч худал биш. Радио үнэлгээ нь чипсетийн дэмждэг утасгүй холбоосын хамгийн сайн модуляцийг тодорхойлдог; VPN тоо нь нэг төхөөрөмж шифрлэсэн пакетийг чиглүүлэгчийн процессороор дамжуулан таны хандалтын шугамаас гадагш хэр хурдан түлхэж чадахыг тодорхойлдог. Эдгээр нь өөр өөр давхарга, өөр өөр пакетын хэмжээ, өөр өөр хэмжилтийн арга юм. Хайрцаг дээрх тоог хэн ч хүрдэггүй дээд хязгаар гэж үзээрэй, таны туннелийн хурдны урьдчилсан таамаг гэж биш.
1 дэх шат: тоог хязгаарладаг дөрвөн давхаргыг зурагла
Миний ажилласан удаан чиглүүлэгчийн гомдол бараг бүгд дөрвөн түвшний нэгэнд ордог: утасгүй холбоос, WAN хандалтын хурд, дамжуулах зам (NAT, галт хана, холболт хяналт) эсвэл VPN шифрлэлтийн зам. Тэдгээр нь давхарлаж хуримтлагдаж, хамгийн удаан түвшин үр дүнг тодорхойлно. Зарласан Wi-Fi хурд зөвхөн эхний түвшний тухай ярьдаг бөгөөд түүний тухай өгөөмөр ярьдаг.
Энэ тоо нь урсгалын тоог сувгийн өргөнөөр, дараа нь чипсетийн тохиролцож чадах хамгийн өндөр модуляцаар үржүүлснээс гардаг. 5 GHz дээр 80 MHz дээр 1024-QAM-тай 2x2 радио 1,200 Mbps орчим зарлагддаг ч Wi-Fi нь хуваалцсан, хагас дуплекс орчин: клиентүүд ээлжлэн ажиллаж, дахин илгээлт ба удирдлагын урсгал агаарын цагийг шатааж, TCP өөрийн зардлыг нэмдэг. Тохиромжтой нөхцөлд хамгийн өндөр хурдыг тохиролцсон клиент ихэвчлэн түүний хагасаас хамаагүй доогуур хэмжигддэг, хөршийн сүлжээнүүд гарч ирэхэд бүр бага.
| 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 |
Хэрэв хүснэгт радиог зааж байвал эхлээд утасгүй талыг засаарай: зурвас, сувгийн өргөн, зай. Хэрэв радиоос доош зааж байвал дараагийн дөрвөн шат чухал бөгөөд хэчнээн антен худалдаж авсан ч өөрчлөхгүй.
2 дахь шат: радиод хүрэхээс өмнө утастай суурь шугам ав
Зөөврийн компьютерыг Ethernet-д холбож, эхлээд туннелгүй замыг хэмж, учир нь энэ танд хуваагч өгнө. Дамжуулах чадварын хэрэгслийг нөгөө талд, VPN-ийг дуусгадаг VPS эсвэл гэрийн сервер дээр ажиллуулж, клиентийг түүний нийтийн хаяг руу чиглүүлээрэй, ингэснээр урсгал таны чиглүүлэгч, хандалтын шугамаар дамжина.
# 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
Тухайн блокийн хоёр тоо өөр өөр асуултад хариулна. Нэг урсгал нь нэг холболтын дээд хязгаарыг харуулж, TCP цонхны зан төлөв болон зам дээрх аливаа урсгал тус бүрийн хэлбэржүүлэлтийг багтаана. Дөрвөн урсгал нь холбоост таны ашиглаагүй чадавх байгаа эсэхийг харуулна, учир нь зэрэгцээ урсгалууд нэг урсгалаар дүүргэж чадахгүй хоолойг дүүргэж чадна.
Үүнийг шударга байлга: ижил хост, өдрийн цаг ба үргэлжлэх хугацаа, гэрт өөр юу ч дамжуулагдахгүй. Гучин секундын бөөн дамжуулалт энд зөв нэгж бөгөөд RFC 6349, TCP-ийн дамжуулах чадварын туршилтын хүрээ, яг энэ үндэслэлд тулгуурладаг, учир нь богино тэсрэлт, жижиг хүсэлтүүд холбоосыг илүү сайн харагдуулдаг. Ямар нэг юм өөрчлөхөөс өмнө суурь шугамыг бичиж аваарай.
3 дахь шат: мөнөөх туршилтыг туннелээр ажиллуул
Одоо үүнийг төгсгөлийн цэгийн туннелийн хаяг руу давтаж, ижил клиент, үргэлжлэх хугацаа, урсгалын тоотой, туннел асаалттай, өөр урсгалгүйгээр. Хоёр үр дүнгийн харьцаа нь тухайн техник хэрэгсэлд шифрлэлт, капсулчлал хэр үнэтэйг хэлнэ; үнэмлэхүй тоо нь ажилд хангалттай эсэхийг хэлнэ.
Дамжуулалт явж байх үед тоолуурыг ажигла. WireGuard дээр wg show нэг түнш бүрт дамжуулсан байтыг мэдээлнэ; OpenVPN дээр тогтмол интервалд бичигддэг төлөвийн файл танд ижил дүр зургийг өгнө.
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
Хэрэв туннелийн тоо утастай суурь шугамд ойрхон бол VPN таны саад тотгор биш бөгөөд түүнийг буруутгахаа болино. Хэрэв энэ нь суурь шугамын зөвхөн нэг хэсэг бол алдагдал чиглүүлэгчийн шифрлэлт ба дамжуулах замын дотор гарсан бөгөөд дараагийн шат аль хэсэгт гэдгийг хэлнэ.
Нэг анхааруулга: гарцын IP өөрчлөгдөнгүүт зарим хурдны туршилтын үйлчилгээ чимээгүйхэн өөр хэмжилтийн сервер сонгодог тул эцэстээ хоёр өөр зорьсон газрыг харьцуулна. Серверийн хаягийг өөрөө бэхлээрэй.
4 дэх шат: процессорыг дундаж биш, зам гэж унш
Нийт процессорын 30 хувийг харуулж буй чиглүүлэгч ч дүүрсэн байж болно: нэг туннелийн ажил ихэвчлэн нэг цөм, нэг тасалдлын дараалал эсвэл нэг цөмийн урсгал дээр буудаг тул дундаж нь дээд хязгаарыг нуудаг. Самбарын заагчийн оронд цөм тус бүрээр болон softirq тоонуудыг хар.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
Тухайн гаралтад гурван зүйл чухал. Нэг цөм 100 хувьд ойрхон гацаж, бусад нь сул байх нь холболт тус бүрийн хязгаарыг заана. Хүнд %soft эсвэл нэг процессор дээр завгүй ksoftirqd дараалуудад тархахгүй байгаа хүлээн авах талын пакет боловсруулалтыг заана. Харин aes туг байхгүй нь процессорт AES заавар байхгүй гэсэн үг тул тэгш хэмт шифрлэлт программын хангамжид ажиллаж, пакет бүрт хамаагүй үнэтэй болно.
Хэрэгжүүлэлт ч чухал. Хэрэглэгчийн орон зай дахь уламжлалт OpenVPN хувилбар нэг туннелийн пакетийг ихэвчлэн нэг газар боловсруулдаг тул хурдан олон цөмт хайрцаг тухайн туннелийн хувьд нэг цөмт шиг ажиллаж болно. Цөм дэх WireGuard ажлыг процессоруудад тарааж, OpenVPN-ийн өгөгдлийн сувгийн буулгалт пакет боловсруулалтыг цөм рүү мөн зөөдөг ч зөвхөн үүнийг дэмждэг бүтээц, платформ дээр. Маркетингийн хуудсан дээрх техник хэрэгслийн хурдатгалын мэдэгдэл нь таны ажиллуулж буй кодын зам түүнийг ашиглаж байгаагийн баталгаа биш.
5 дахь шат: юу өөрчлөхөө яг тэр дарааллаар шийд
Энэ жагсаалтыг доош явж, үнэн эхний мөр дээр зогс, учир нь түүний доорх юуг ч өөрчлөх нь тоог хөдөлгөхгүй.
1. Утастай шууд дамжуулах чадвар таны төлж буйгаас доогуур бол үйлчилгээ үзүүлэгчтэй ярилц, учир нь туннель хандалтын шугам өгөхгүй чадавхыг бүтээж чадахгүй. 2. Утастай шууд нь зүгээр ч туннелийн туршилтын үеэр нэг цөм гацдаг: чиглүүлэгчийн шифрлэлтийн зам бол хязгаар. 3. Процессор сул ч туннель удаан: MTU ба фрагментацийг, дараа нь алслагдсан төгсгөлийн цэгийн өөрийн чадавхыг шалга. 4. Зөвхөн Wi-Fi клиентүүд удаан: зурвас эсвэл сувгийн өргөнийг өөрчилж, зарласан хурд хэзээ ч VPN тоо байгаагүйг хүлээн зөвшөөр.
Чиглүүлэгч үнэхээр хязгаар байх үед шударга сонголтууд нь AES заавар, илүү хурдан дамжуулах замтай төхөөрөмж, хэрэглэгчийн орон зайн оронд WireGuard зэрэг цөмийн талын туннель, эсвэл чиглүүлэгч шифрлэхээ болихын тулд клиентийг төхөөрөмж рүү нь зөөх юм. Жишиг туршилтыг хожихын тулд баталгаажуулсан шифрлэлтийг унтраах нь тэдгээрийн нэг биш; энэ нь аюулгүй байдлын шинж чанарыг хайрцагтай тохирохгүй хэвээр байх тоогоор сольдог.
Ямар нэг юм худалдаж авахаас өмнө шинэ төхөөрөмж дээр ижил сервер, үргэлжлэх хугацаагаар 2, 3 дахь шатыг дахин ажиллуулж, дараа нь оргилууд биш харьцааг харьцуул.