WireGuard අත්වැල් ගැසීම තවමත් සම්පූර්ණ වේ, peer තවමත් මෑත endpoint එකක් පෙන්වයි, එහෙත් එහි පිටුපස ඇති රිලේ හරහා නව SSH සැසියක් කිසිදු බැනරයක් නොමැතිව එල්ලී තිබේ. එම සංයෝගය සුරංගයෙන් ඈතට, socket පිළිගන්නා ක්‍රියාවලිය දෙසට යොමු කරයි. socat වැනි රිලේ එකක් තමන්ගේම විස්තරක අයවැය, තමන්ගේම දරුවන් සහ තමන්ගේම උරුම සීමා සමඟ යෙදුම් මාර්ගයේ හිඳී. පහළ ගමන සේවාලාභියාගෙන් ආරම්භ වී තවත් socket එකක් විවෘත කළ නොහැකි පළමු අංගයේ නතර වේ.

සංඛ්‍යාවක් වෙනස් කිරීමට පෙර මාර්ගය අනුගමනය කරන්න

සම්පූර්ණ සුරංගය ගැන සිතනවාට වඩා එක් අසාර්ථක ඉල්ලීමක් අනුගමනය කරන්න. සේවාලාභියා සුරංගයට ලියයි, VPN ඩීමන් විකේතනය කර මාර්ගගත කරයි, රිලේ අනෙක් පැත්තේ පිළිගනී. සෑම පියවරක්ම විස්තරක වැය කරයි, සාමාන්‍යයෙන් අවසන් වන්නේ අවසාන එකයි.

ඔබට නැවත නිපදවිය හැකි ඉල්ලීමකින් ආරම්භ කර එහි කාලය මනින්න. TCP අත්වැල් ගැසීම සම්පූර්ණ වුවත් යෙදුම් බැනරයක් නොපැමිණේ නම්, රිලේ socket එක ගෙන පසුව දරුවෙකු තුළ හෝ එහි ඉහළ පාදයේ සිර විය. අත්වැල් ගැසීමම කිසිදා සම්පූර්ණ නොවේ නම්, හේතුව මාර්ගගත කිරීම, firewall හෝ සවන්දෙන්නාගේ තත්ත්වය මිස විස්තරක සීමාව නොවේ. ඔබ දුටු ආකාර දෙකෙන් කුමක්දැයි සටහන් කරන්න, මන්ද ඒවා වෙනස් ක්‍රියාවලි දෙසට යොමු කරයි.

කාර්යය අනුපිටපත් කරන පිම්ම ද ගණන් කරන්න. කැඩෙන සවන්දෙන්නා එක් එක් පිළිගත් socket එක තමන්ගේම පිටපතක් තබාගන්නා දරුවෙකුට භාර දෙයි, එබැවින් සැබෑ එකතුව මුළු ගසෙහිම ගුණයකි, මවුපියාගේ පමණක් නොවේ.

රිලේ උරුම වූ සීමාව කියවන්න

වැදගත් වන එකම සීමාව ක්‍රියාත්මක වන ක්‍රියාවලියට අයත් වන අතර, එය එම ක්‍රියාවලිය දියත් කළ දෙයින් තීරණය විය. shell එකක ulimit -n ලිවීම shell එක විස්තර කරයි. සේවා කළමනාකරුගෙන් ඔහු යෙදූ දේ අසා, පසුව PID මත තහවුරු කරන්න.

systemctl show -p MainPID -p LimitNOFILE vpn-relay.service
cat /proc/$(systemctl show -p MainPID --value vpn-relay.service)/limits

limits ගොනුව මෘදු හා දෘඩ සීමා ක්‍රියාවලිය දකින ආකාරයට මුද්‍රණය කරයි. ත්‍යාගශීලී දෘඩ අගයක් යටතේ අඩු මෘදු අගයක් යනු ඩීමනයට තමන්ගේම සීමාව ඉහළ නැංවීමට අවසර ඇති බවයි, සමහරක් එය ආරම්භයේදී කරයි; සමාන අඩු අගයන් යනු unit ගොනුව මූලාශ්‍රය බවයි.

Drop-in ගොනු ශබ්දකෝෂ අනුපිළිවෙලට පූරණය වන අතර පසුව එන ගොනු ජය ගනී, එබැවින් systemctl cat vpn-relay.service යෙදෙන දෙය පිළිබඳ බලයලත් දර්ශනයයි. කළමනාකරු කිසිදා නොකියවන ගොනුවක් සංස්කරණය කිරීම ඉහළ නැංවූ සංඛ්‍යාවකට බලපෑමක් නොමැති වීමට ඇති පොදුම හේතුවයි.

ස්ථාවර සමකාලීනතාව රඳවාගත් තත්ත්වයෙන් වෙන් කරන්න

ක්‍රියාවලි දෙකක් සම්බන්ධයක් නැති හේතූන් නිසා එකම සීමාවට පැමිණිය හැකි අතර ප්‍රතිකර්ම වෙනස් වේ. ප්‍රයෝජනවත් සමකාලීන සැසි අනුගමනය කරන ඉල්ලුම ධාරිතා ප්‍රශ්නයකි. කාර්යය අවසන් වූ පසුවත් පවතින වර්ධනය කාන්දුවක් හෝ කිසිවෙකු විවෘත නොකළ සැසි සමූහයකි.

නිශ්චල තත්ත්වයේ, ඔබේ සාමාන්‍ය උච්චතම අවස්ථාවේ සහ බර නතර වූ පසු මිනිත්තු කිහිපයකින් නැවත මනින්න. ls /proc/PID/fd | wc -l සමඟ විවෘත සටහන් මෘදු සීමාවට එරෙහිව ගණන් කිරීම පරතරය ඔබට කියයි, සීමාවට වඩා එකක් හෝ දෙකක් අඩු ගණන මන්දගාමී මාර්ගයක් නොව දෘඩ නැවතුමකි.

ගණන අඩු වීමට ප්‍රතික්ෂේප කරන විට, එකතුවලට වඩා socket තත්ත්ව දෙස බලන්න. CLOSE_WAIT තුළ හිඳින විස්තරක යනු peer වසා ඇති අතර ඔබේ පැත්ත කිසිදා නොකළ බවයි, එය යෙදුම් ජීවන චක්‍රයේ දෝෂයක් වන අතර විශාල සීමාවක් එය කල් දමයි පමණි. දරුවන්ගේ ආකෘතිය ද සීමා කරන්න: සමකාලීන දරුවන්ට සීමාවක් නොමැති කැඩෙන රිලේ විස්තරක, ක්‍රියාවලි ස්ථාන සහ මතකය එකට අවසන් කරයි.

සජීවී ක්‍රියාවලිය මත නව අගය පරීක්ෂා කරන්න

unit සංස්කරණය කිරීමෙන් පසු කළමනාකරු නැවත පූරණය කර සේවාව නැවත අරඹන්න, මන්ද නැවත පූරණය පමණක් ක්‍රියාත්මක වන ක්‍රියාවලියක් දැනටමත් උරුම වූ සීමා කිසිදා ප්‍රතිස්ථාපනය නොකරයි. සැබවින්ම ගමනාගමනය සේවා කරන ක්‍රියාවලිය මත තහවුරු කරන්න.

systemctl daemon-reload
systemctl restart vpn-relay.service
awk '/Max open files/ {print}' /proc/$(systemctl show -p MainPID --value vpn-relay.service)/limits
ss -tnp state established '( sport = :2222 )' | wc -l

awk පේළිය නව යුගලය ආපසු දෙයි; එය තවමත් පැරණි එක පෙන්වයි නම්, ඔබ සංස්කරණය කළ drop-in එක පූරණය වන්නේ නැත. ss ගණන ඔබේ වැඩබර පරීක්ෂාවයි, එබැවින් ඔබ බලාපොරොත්තු වන සැසි ගණන විවෘත කර එය ඉහළ යන ආකාරය බලන්න. එම සැසි වැසීමෙන් පසුවත් ඉහළ යන ගණන යනු සීමාව කිසිදා මුළු ගැටලුව නොවූ බවයි.

ඕනෑම විශාල වැඩිවීමක් සමඟ එක් අනතුරු ඇඟවීමක් එයි. select() සමඟ විමසන යෙදුම්වලට FD_SETSIZE ට වඩා ඉහළ විස්තරක නිරීක්ෂණය කළ නොහැක, එය සාමාන්‍ය ගොඩනැගීම්වල 1024 වේ, එබැවින් ඊට වඩා ඉහළ නැංවූ සීමාවක් සම්බන්ධයක් නැති ලෙස පෙනෙන අසාර්ථකත්ව ඇති කළ හැක. systemd ක්‍රියාත්මක කිරීමේ යොමුව එය ආරම්භ කරන සේවා සඳහා එම අනතුරු ඇඟවීමම දරයි.

නැවත ආරම්භ කිරීම සුරංගයේ ලබා ගැනීමේ හැකියාවෙන් ඈත් කර තබන්න

රිලේ නැවත අරඹන විට එහි සක්‍රීය සැසි වැටෙයි, එය VPN බැසීමෙන් වෙන් වූ සිදුවීමකි. රිලේ චක්‍රයේ යද්දී සුරංගය ඉහළින් තබා ගන්නා ලෙස වෙනස්කම සකසන්න, සහ එය හරහා යන දිගු සැසියක් ඇති ඕනෑම අයෙකුට අනතුරු අඟවන්න.

පසුගැසීම යනු පෙර unit ගොනුව සහ තවත් නැවත ආරම්භයකි, එම ගොනුව නව අගය කාර්ය දිනයක් ජීවත් වන තෙක් එහිම රැඳේ. පසුව මුලින් අසාර්ථක වූ ඉල්ලීම සමඟ ලූපය වසන්න: රිලේ හරහා නව SSH සැසියක්, අර්ථවත් වීමට තරම් දිගු මාරුවක්, සහ නිශ්චල මට්ටමට ආපසු එන විස්තරක ගණනක්.

අදාළ ලිපි