VPN සඳහා පමණක් NGINX අඩවිය: ශ්රවණය කරන්නා, ගිනිපවුර සහ HTTP අවසර ලැයිස්තුව
පෞද්ගලික NGINX අඩවියකට බැඳුණු VPN සොකට්, සීමිත සත්කාරක ආදාන රීතිය සහ සම්පූර්ණ HTTP ප්රවේශ ලැයිස්තුවක් අවශ්යයි. එක් සේවාදායක කොටසක් නොව, තුනම පරීක්ෂා කරන්න.
පෞද්ගලික අඩවියක් සහ අන්තර්ජාලය අතර ස්වාධීන තීරණ තුනක් ඇත: කුමන සොකට් සම්බන්ධතාවය පිළිගනීද, කුමන මාර්ගයට එය ගෙන යා හැකිද, සහ තෝරාගත් සේවාදායකය කුමන HTTP සේවාලාභීන්ට පිළිතුරු දේද. සේවාදායක කොටස ගන්නේ පළමු තීරණය පමණි. අනෙක් දෙක වෙන වෙනම පාලන ලෙස සලකන්න, නැතිනම් පැරණි පිවිසුමක් විවෘතව තිබියදී අඩවිය පෞද්ගලික ලෙස පෙනේ. VPN සඳහා පමණක් වන NGINX අසාර්ථකතා බොහොමයක් පළමු ස්ථරය පමණක් පරීක්ෂා කිරීමෙන් සිදු වේ.
උදාහරණය tun0 මත 10.90.0.1 හි Linux OpenVPN ද්වාරය, 10.90.0.0/24 හි සේවාලාභීන්, රැකගත් මූලාශ්ර සහ මෙම පිවිසුම සඳහා වෙන් කළ TCP 8443 භාවිතා කරයි. අගයන් සකසන්න, ස්ථර තබා ගන්න.
සත්කාරක නමින් නොව, සොකට් එකෙන් ආරම්භ කරන්න
HTTPS ශ්රවණය කරන්නා උමං ලිපිනයට සහ වෙන් වූ වරායකට බැඳන්න. නිශ්චිත ලිපිනයක් ගැන සිතීම වයිල්ඩ්කාඩ් සොකට් එකක් සහ නම් පරීක්ෂාවක් එකට වඩා පහසුය, මන්ද කර්නලය වරාය වෙනත් දේශීය ලිපිනයකට නොදෙන බැවිනි.
server {
listen 10.90.0.1:8443 ssl;
server_name admin.corp.example;
ssl_certificate /etc/nginx/tls/admin-fullchain.pem;
ssl_certificate_key /etc/nginx/tls/admin-key.pem;
root /srv/private-site;
allow 10.90.0.0/24;
deny all;
location / {
try_files $uri $uri/ =404;
}
}
සහතිකයේ සේවාලාභීන් ටයිප් කරන සේවා සත්කාරක නම තිබිය යුතු අතර, පෞද්ගලික DNS දර්ශනය එම සත්කාරකය බැඳුණු ලිපිනයට විසඳිය යුතුය. server_name තෝරන්නේ අතාත්වික සත්කාරකයක් පමණි; එය කිසිවෙකු සත්යාපනය නොකරයි. DNS සටහනක් නොමැති විට TLS දෝෂයක් ලෙස පෙනෙන සහතික දෝෂයක් ඇති වේ. සහතිකය ප්රතිස්ථාපනය කිරීමට පෙර නම පරීක්ෂා කරන්න.
ගොනුව එකතු කිරීමට පෙර ඵලදායී වින්යාසය කියවන්න. ඇතුළත් කිරීම් සහ වයිල්ඩ්කාඩ් ශ්රවණය කරන්නන් එකම මූලය වෙනත් තැනක සේවය කළ හැකි අතර, පෙරනිමි සේවාදායකය නව කොටස කිසිදා නොදකින ඉල්ලීම්වලට පිළිතුරු දිය හැක.
එම අන්තර්ගතය සඳහා අනෙක් සෑම ශ්රවණය කරන්නෙකුම වසන්න
listen උපදෙස් ලැයිස්තුගත කර ඒවා සේවය කරන මූලයන් සසඳන්න. වෙනත් යෙදුමක් සඳහා එකතු කළ කොටසකට එකම upstream වෙත ප්රොක්සි කළ හැකි අතර, පැරණි පෙරනිමි සේවාදායකය නව එක ස්ථාපිත කළ පසුවත් පිළිතුරු දිය හැක. එම ප්රතිදානය ඇත්තම ලැයිස්තුවයි, ඔබ දැන් සංස්කරණය කළ ගොනුව නොවේ. එකම අන්තර්ගතය සේවය කරන සෑම මූලයක්ම සසඳන්න.
sudo nginx -T | grep -n "listen\|server_name\|root\|proxy_pass"
ලිපින පවුල් දෙකම පරීක්ෂා කරන්න. IPv4 බැඳීම IPv6 සොකට් එක ස්පර්ශ නොකර තබයි, නව A වාර්තාවක් තවමත් පොදු මාර්ගයකට යොමු වන පැරණි AAAA පිළිතුරක් ඉවත් නොකරයි.
පැරණි අතාත්වික සත්කාරකය වෙනම වෙනසක් ලෙස ඉවත් කරන්න. නව කොටසේ පොදු නිවුන් දෙනා ඉවත් කිරීම සාමාන්යයෙන් පිවිසුම ඇත්තටම වසන පියවරයි; පෞද්ගලික ශ්රවණය කරන්නා අදහස් කළ එක පමණක් එකතු කරයි.
සත්කාරකයේ එන මාර්ගයේ විෂය පථය සීමා කරන්න
සවන් දෙන ලිපිනය සොකට් එක සීමා කරයි, ආදාන අතුරුමුහුණත නොවේ. වෙනත් තැනක සිට එම ලිපිනයට මාර්ගගත කළ පැකට්ටුවක් තවමත් දේශීය ආදානය ලෙස පැමිණේ, එබැවින් සත්කාරකයේ ගිනිපවුරට සම්බන්ධතාවය කොහෙන් ආ හැකිද යන්න පිළිබඳ තමන්ගේම ප්රකාශයක් අවශ්යයි. එබැවින් බැඳීම පමණක් විගණනයක් තෘප්තිමත් කරන්නේ කලාතුරකිනි.
පෙරනිමියෙන් ප්රතික්ෂේප කරන ආදාන ප්රතිපත්තියක් සහ මෙම සේවාවට පුළුල් අවසරයක් නොමැතිව, සීමිත රීතියක් උමං, මූලාශ්ර පරාසය, ගමනාන්තය සහ වරාය එකට නම් කරයි:
sudo ufw allow in on tun0 proto tcp from 10.90.0.0/24 to 10.90.0.1 port 8443
යෙදීමට පෙර ඵලදායී ගිනිපවුරු අනුපිළිවෙල කියවන්න. පෙර පුළුල් පිළිගැනීමක් සීමාව පරාජය කළ හැකි අතර, පෙර අවසාන බැහැර කිරීමක් මෙම අවසරයට ළඟා වීම වළක්වා ගත හැක. උදාහරණය ගැළපෙන පරිදි සම්බන්ධ නොවන රීති හිස් නොකරන්න හෝ ගිනිපවුර වසා නොදමන්න.
එම රීතිය සත්කාරක ආදානයකි, වෙනත් LAN යන්ත්රයකට මාර්ගයක් නොවේ, සහ ද්වාරයේ බාහිර OpenVPN ශ්රවණය කරන්නා වෙනම සේවාවක් ලෙසම පවතී. අඩවිය කලින් පොදු නම්, පැරණි පිවිසුම ඉවත් කරන ආකාරය සහ පවතින සැසි හසුරුවන ආකාරය සැලසුම් කරන්න.
ස්ථාන වෙනස් වන විට HTTP ලැයිස්තුව සම්පූර්ණව තබා ගන්න
NGINX allow සහ deny සටහන් අනුපිළිවෙලින් ඇගයයි, සහ ඉහත සේවාදායක මට්ටමේ ලැයිස්තුව අවසාන deny ට පෙර ප්රකාශිත කණ්ඩායමට ඉඩ දෙයි. ප්රවේශ මොඩියුලය ද සටහන් කරන්නේ ඕනෑම ප්රවේශ සටහනක් නිර්වචනය කරන ස්ථානයක් මාපිය ලැයිස්තුව වෙනුවට තමන්ගේම ලැයිස්තුවක් භාවිතා කරන බවයි. අනුපිළිවෙල සටහන් තරමටම වැදගත්ය.
එම නැවත සැකසීම සාමාන්ය පසුබැසීමයි. එක් සටහනක් එකතු කරන නව උඩුගත කිරීම්, API හෝ සෞඛ්ය ස්ථානයක් සේවාදායක මට්ටමේ සීමාව නිශ්ශබ්දව ප්රතිස්ථාපනය කරයි, සහ අඩවිය වඩාත් මෑතකදී එකතු කළ මාර්ගයේ පුළුල් වේ.
සෑම ස්ථානයක්, අන්වර්ථයක් සහ විකල්ප කොටසක් එකම ප්රතිපත්තියේ කොටසක් ලෙස සමාලෝචනය කරන්න. IP පරීක්ෂා NGINX සත්යාපනය සමඟ ඒකාබද්ධ නම්, satisfy තේරුම් ගන්න: any සැකසුමකට එක් යාන්ත්රණයකින් සේවාලාභියා ඇතුළට ගැනීමට හැකි අතර අනෙක තවම සමත් වී නැත. ප්රවේශ ලැයිස්තුව ස්ථාන සමාලෝචන පිරික්සුම් ලැයිස්තුවට ඇතුළත් කරන්න.
HTTP ප්රතික්ෂේපය සිදු වන්නේ TCP සම්බන්ධතාවය NGINX වෙත ළඟා වූ පසුවය. එය ජාල සීමාව අතිරේක කරයි, සහ යෙදුමේම අවසරය එක් එක් පරිශීලකයාට තවමත් අදාළ වේ.
සජීවී මාර්ගය සහ අසාර්ථක අවස්ථාව සත්යාපනය කරන්න
වින්යාස විග්රහකය ධාවනය කරන්න, සවන් දෙන සොකට් පරීක්ෂා කරන්න, පසුව අදහස් කළ සේවාලාභියෙකුගෙන් නව නම් කළ ඉල්ලීමක් කරන්න. සහතිකය වලංගු වන බව, DNS නම බැඳුණු ලිපිනයට විසඳෙන බව සහ පිළිතුර අපේක්ෂිත මූලයෙන් පැමිණෙන බව තහවුරු කරන්න.
පසුව බැහැර කළ මූලාශ්රයක් සහ විකල්ප පිවිසුමක් පරීක්ෂා කරන්න. ක්රියාත්මක වන අවසර ලත් ඉල්ලීමක් ඔබ වැසීමට අදහස් කළ මාර්ග ගැන කිසිවක් නොකියයි, සහ බැහැර කළ පරීක්ෂාවේදීම ඉතිරි ශ්රවණය කරන්නෙකු හෝ පුළුල් ගිනිපවුරු පිළිගැනීමක් දිස් වේ.
ඇරඹුම් හෝ VPN ප්රකෘති අවස්ථාව නැවත කරන්න. උමං ලිපිනය පවතින්නට පෙර NGINX ආරම්භ වුවහොත්, පරිපූර්ණ ගොනුවක් සමඟ වුවද බැඳීම අසාර්ථක විය හැක. ලිපින සූදානම සම්බන්ධීකරණය කරන්න සහ හවුල් වෙබ් සේවාදායකය වෙනස් කිරීමට පෙර දේශීය ප්රකෘති මාර්ගයක් තබා ගන්න.
සමත් වූ සොකට්, වරාය, මූලාශ්ර පරාසය සහ HTTP ලැයිස්තුව සටහන් කරන්න. ඊළඟ VPN හෝ DNS වෙනස ඒවායින් ඕනෑම එකක් ගෙන යා හැක, සහ නම් කළ අගයන් හතරක් ක්රියාත්මක බ්රව්සර් ටැබයකට වඩා සංසන්දනය කිරීම පහසුය.