පැතිකඩකට පරීක්ෂණ සමඟ vpnc උමං කිහිපයක් ක්රියාත්මකව තබා ගන්න
පැකේජයේ ඇති නැවත සම්බන්ධ වීමේ ස්ක්රිප්ටය උමං එකක් යැයි උපකල්පනය කරයි. සෑම vpnc පැතිකඩකටම එහිම වරාය දෙන්න, සැබෑ සේවාවක් පරීක්ෂා කරන්න, සහ පරීක්ෂණ එක් ස්ථිර අනුපිළිවෙලකට සම්බන්ධ කරන්න.
එක් vpnc පැතිකඩක් රෝමිං වූ පසු පිරිසිදුව නැවත සම්බන්ධ වේ; තුනක් මාරුවෙන් මාරුවට එකිනෙකාගේ සොකට්, මාර්ග සහ විසඳුම්කරු තත්ත්වය බිඳ දමයි. පැකේජයේ ඇති නැවත සම්බන්ධ වීමේ ස්ක්රිප්ටය එක් උමං එකකට ලියා ඇත, එබැවින් ඒවායින් එකක් හෝ වැටී ඇති විට එය සෑම පැතිකඩක්ම නැවත අරඹයි. මෙය නිවැරදි කිරීමට කරුණු තුනක් අවශ්යයි: වෙන් වූ දේශීය වරාය, සෑම පැතිකඩකටම සැබෑ සේවාවක් පරීක්ෂා කරන පරීක්ෂණයක්, සහ කිසිදා සම්බන්ධතා දෙකක් එකවර නොයවන එක් පිළිවෙලක් සහිත දාමයක්.
සෑම පැතිකඩකටම එහිම දේශීය වරාය දෙන්න
පෙරනිමි දේශීය වරායේ තබා ඇති vpnc පැතිකඩක් දැනටමත් ක්රියාත්මක වන පැතිකඩ සමඟ තරඟ කරයි. පළමු එක වරාය අල්ලා ගෙන සිටියදී දෙවන සම්බන්ධතාව අසාර්ථක වේ, සහ ලොග් පේළිය දේශීය ගැටුමක් නොව ගේට්වේ ගැටලුවක් ලෙස පෙනේ. ඒ වෙනුවට සෑම පැතිකඩ ගොනුවකටම එක් පේළියක් දමන්න:
Local Port 0බිංදුව කර්නලයට තාවකාලික වරායක් තෝරා ගැනීමට ඉඩ දෙයි, එබැවින් පැතිකඩ දෙකක් එකවර ස්ථාපිත කළ හැක. සෑම ගොනුවක්ම එය සේවය කරන ගේට්වේ සහ සමූහය අනුව නම් කරන්න, එය root සඳහා පමණක් කියවිය හැකි ලෙස තබා ගන්න, සහ සැමවිටම බෙදාගත් පෙරනිමියක් වෙනුවට ගැළපෙන පැතිකඩ සමඟ සම්බන්ධ වන්න. කිසිවෙකු පැතිකඩක් නැවත නම් කළ පසු ස්ක්රිප්ටය වැරදි උමං එකට නැවත සම්බන්ධ කරන ක්රමය බෙදාගත් පෙරනිමි ගොනුවයි.
පැතිකඩ ගොනු අක්තපත්ර රැගෙන යයි, එබැවින් අවසර නිර්මාණයේ කොටසකි, ගෘහ කටයුතුවල නොවේ. /etc/vpnc යටතේ සැමට කියවිය හැකි ගොනුවක් සමූහයේ රහස සෑම දේශීය පරිශීලකයාටම ලබා දෙයි. මාදිලිය 0600 ලෙස තබා හිමිකරු root කරන්න, සහ රහස් තර්ක වෙත පිටපත් කිරීම වෙනුවට ස්ක්රිප්ටවලට ගොනුව root ලෙස කියවීමට ඉඩ දෙන්න. එබැවින් පරීක්ෂණ ස්ක්රිප්ටයක් කිසිදා ගොනුවේ අන්තර්ගතය ලොගයට නොලිය යුතුය.
සෑම පැතිකඩකටම එක් සේවාවක් පරීක්ෂා කරන්න, උමං ලිපිනය නොව
උමං එකේම ලිපිනයට යවන ඉකෝ ඉල්ලීමක් බොහෝ දුරට අතුරුමුහුණත පවතින බව පමණක් ඔප්පු කරයි. එය පිටුපස ඇති සත්කාරකය උමං එක සාධාරණීකරණය කරන යෙදුමට තවමත් ළඟා වේද යන්න ගැන කිසිවක් නොකියයි. අතුරුමුහුණත ඉහළින් තිබිය හැකි අතර ඉන් ඔබ්බෙහි මාර්ගය දැනටමත් ගොස් ඇත.
සෑම පැතිකඩකටම එක් සේවාවක් කෙටි TCP කාල සීමාවක් සමඟ පරීක්ෂා කර පරීක්ෂණය අසාර්ථක වූ පැතිකඩ පමණක් නැවත සම්බන්ධ කරන්න. තත්පර දෙකක් මළ මාර්ගයක් මන්දගාමී මාර්ගයකින් වෙන් කරයි, සහ TCP පරීක්ෂණයක් මාර්ගයේ කොතැනක හෝ ICMP අවසර දී ඇත්ද යන්න මත රඳා නොපවතී. පැතිකඩ අතර ඉලක්කය සහ වින්යාස නාමය පමණක් වෙනස් කරන්න:
#!/bin/bash
set -eu
if ! nc -z -w 2 10.63.7.20 8443; then
/usr/sbin/vpnc-connect ops.conf
fiඑය /usr/local/bin/ensure-vpn-ops.sh ලෙස සුරකින්න, ධාවනය කළ හැකි කරන්න, සහ පරීක්ෂණයේ ඉලක්කය සහ වින්යාස නාමය පමණක් වෙනස් කරමින් සෑම පැතිකඩකටම නැවත කරන්න. ප්රොටෝකෝල ප්රශ්නයකට පිළිතුරු දෙන පරීක්ෂණයක් ඉකෝ ඉවත ලන නමුත් පරිශීලකයන්ට වැදගත් සේවා තවමත් ඉදිරියට යවන ගේට්වේ හරහා ජීවත් වේ.
පරීක්ෂණ කිසිදා තරඟ නොකරන ලෙස දාමයකට සම්බන්ධ කරන්න
පැකේජයේ නැවත සම්බන්ධ වීමේ ස්ක්රිප්ටයට ඔබේ පරීක්ෂණ අනුපිළිවෙලින් අමතන්න පුළුවන්, සහ අනුපිළිවෙල යනු මුළු කරුණයි. එකට ධාවනය වන vpnc-connect ඇමතුම් දෙකක් කිසිවෙකු පාලනය නොකරන අනුපිළිවෙලකින් මාර්ගගත කිරීමේ වගුව නැවත ලියයි, සහ සෞඛ්ය සම්පන්න පැතිකඩක් එහි මාර්ගය අහිමි වන්නේ එලෙසය.
ඇමතුම් ඉදිරියේ තබා ගන්න, යටින් ඇති අතුරුමුහුණතට කෙටි ස්ථාවර වීමේ ප්රමාදයක් එකතු කරන්න, සහ දාමය root හි cron වගුවෙන් සැලසුම් කරන්න, මන්ද උමං මාර්ග නැවත ලිවිය හැක්කේ root ට පමණි:
#!/bin/bash
sleep 20
/usr/local/bin/ensure-vpn-ops.sh
/usr/local/bin/ensure-vpn-lab.shආරම්භක ස්ක්රිප්ටය සහ cron සටහන අතර අනුපිළිවෙල සමානව තබා ගන්න, මන්ද ආරම්භයේදී වෙනත් අනුපිළිවෙලකින් ධාවනය වන දාමයක් සැබවින්ම වෙනත් වැඩසටහනකි. එක් පැතිකඩක් තවත් එකක මාර්ග මත රඳා පවතින විට, යැපීම මුලින් තබන්න සහ පෙර උමං තවමත් ඉහළ එන අතරතුර පසු පරීක්ෂණය හානි රහිතව අසාර්ථක වීමට ඉඩ දෙන්න.
ලොගය නිරීක්ෂණය කරන්න, පසුව එකක් හිතාමතා බිඳ දමන්න
සෑම ධාවනයකටම එක් පේළියක් ලොග් කරන්න — පැතිකඩ, පරීක්ෂණයේ ඉලක්කය, ප්රතිඵලය සහ ගත් පියවර. එය නොමැතිව සෑම මිනිත්තුවකම සැලෙන උමං එකක් කිසිදා නොවැටුණු උමං එකක් මෙන්ම පෙනේ, සහ පරීක්ෂණ දෝෂයක් ගේට්වේ බාධාවකින් වෙන් කර හඳුනාගත නොහැක. දාමය අසාර්ථක වූ පැතිකඩට පමණක් ස්පර්ශ වූ බව ද ලොගය ඔප්පු කරයි. නැවත ඇරඹීමකින් පසුවත් පවතින තැනක එය ලියන්න, නැතහොත් සාක්ෂි ක්රියාවලිය සමඟ පිටව යයි.
පසුව උමං එකක් හිතාමතා බිඳ දමා කුමක් සිදුවේදැයි බලන්න. එක් පැතිකඩක් නවතා තවමත් පවතින ක්රියාවලි සහ මාර්ග තහවුරු කරන්න:
pgrep -a vpnc
ip -4 route show | grep -E '10[.]63|10[.]90'
tail -n 5 /var/log/ensure-vpn.logනවතා ඇති පැතිකඩ පමණක් නැවත සම්බන්ධ විය යුතුය, සහ අනෙක් සැසි ඒවායේ ක්රියාවලි සහ මාර්ග දෙකම රඳවා ගත යුතුය. පැතිකඩ දෙකක් නැවත ආරම්භ වන්නේ නම්, ඔබේ දාමය ඔබ බලාපොරොත්තු නොවූ තැනක සමාන්තරව ධාවනය වේ.
මුරකරු නොකළ යුතු දේ
යම් දෙයක් අසාර්ථක වන සෑම විටම සියල්ල නැවත අරඹන මුරකරුවෙකු පරීක්ෂණවලදී සෞඛ්ය සම්පන්න ලෙස පෙනී නඩත්තු කවුළුවක බාධාවක් ඇති කරයි. පැතිකඩ අනුව නැවත අරඹන්න, කිසිදා සමස්තයක් ලෙස නොවේ.
ගේට්වේ එකම ප්රොටෝකෝලයට නඩත්තු කරන ලද සේවාදායකයක් ලබා දෙන විට එය තෝරන්න, සහ කිසිදා ස්ක්රිප්ටයේ මුරපදයක් දෘඪ කේත නොකරන්න හෝ එය විධාන රේඛාවක යවන්න එපා, මන්ද පැතිකඩ ගොනුව දැනටමත් රහස රඳවා ගනී. උමං ඉහළ ආ පසු කාර්යයක් සාමාන්ය පරිශීලකයෙකු ලෙස ධාවනය කළ යුතු නම්, සම්පූර්ණ දාමය එම ගිණුම යටතේ ධාවනය කිරීම වෙනුවට ස්ක්රිප්ටය තුළින්ම වරප්රසාද අඩු කරන්න. අවසාන වශයෙන්, නැවත සම්බන්ධ වූ පසු මාර්ග නැවත කියවන්න, මන්ද පැතිකඩක් වෙනත් පවරන ලද ලිපිනයක් සමඟ ආපසු එමින් උමං ලිපිනයට ඉලක්ක කළ කිසිදු පරීක්ෂණයක් කිසිදා නොදකින පැරණි මාර්ගයක් ඉතිරි කළ හැකිය.