ප්රතිපත්ති මාර්ගගත කිරීම සහ SOCKS: ඇත්තටම ට්රැෆික් ප්රොක්සි කරන්නේ කුමන ස්ථරයද
SOCKS වරායකට යන මාර්ගය SOCKS සැසියක් නොවේ. යෙදුම් මට්ටමේ ප්රොක්සි සැකසුම්, IP-සිට-ප්රොක්සි අනුකරණය සහ මාර්ගගත ද්වාරය පරිවර්තනය කරන ස්ථරය අනුව සසඳන්න.
ඔබ 1080 වරායේ SOCKS ශ්රාවකයක් ධාවනය වන සත්කාරකයකට VPN සේවාලාභියාගේ ට්රැෆික් යවන ප්රතිපත්ති මාර්ගයක් එකතු කළා. පැකට් පැමිණෙනවා, ශ්රාවකය කිසිවක් වාර්තා නොකරයි, සහ සම්බන්ධතාව එල්ලී තිබේ. මාර්ගයේ කිසිදු වැරැද්දක් නැත: ඊළඟ පිම්ම පැකට් එක යන්නේ කොහේද යන්න තෝරයි, සහ SOCKS යනු සේවාලාභියා ආරම්භ කළ යුතු සංවාදයකි. මිනිසුන් සාමාන්යයෙන් ප්රොක්සියක් හරහා ට්රැෆික් යැවීමෙන් අදහස් කරන ගෘහ නිර්මාණ තුන සසඳන්න, එවිට ඔබේ සැකසුමෙන් කුමන කොටස අතුරුදහන් වී ඇත්ද යන්න පැහැදිලි වේ.
මාර්ගගත කිරීම, DNAT සහ SOCKS වෙනස් දේවල් වෙනස් කරයි
ප්රතිපත්ති මාර්ගයක් ස්ථර 3 හි තීරණයක් නැවත ලියයි. එක් සේවාලාභියෙකුගේ ට්රැෆික් තෝරාගත් ඊළඟ පිම්මට යැවීමට පේළි දෙකක් ප්රමාණවත්ය:
ip route add default via 10.50.0.2 table 101
ip rule add from 10.77.0.2 lookup 101ඉන් පසු කර්නලය පැකට් එක 10.50.0.2 වෙත භාර දෙයි, මුල් ගමනාන්තය තවමත් IP ශීර්ෂකයේ පවතී. 10.50.0.2 යනු මාර්ගගත කරන්නෙක් නම්, එය පැකට් එක යවයි. එය 1080 හි SOCKS ඩේමනයක් සහිත සත්කාරකයක් නම්, පැකට් එක එය පිළිගත හැකි කිසිවකට අමතරව නොමැත, සහ 1080 වරායට DNAT ද උදව් නොවේ, මන්ද පරිවර්තිත පැකට් එක තවමත් SOCKS ආචාරය වෙනුවට මුල් යෙදුම් භාරය රැගෙන යන බැවිනි.
SOCKS5 අනුවාද බයිටයක්, ක්රම ලැයිස්තුවක්, සත්යාපන හුවමාරුවක් සහ ගමනාන්තය නම් කරන ඉල්ලීමක් සමඟ ආරම්භ වේ. ඒවා යෙදුම් දත්තයි. කිසිදු මාර්ගගත සටහනක් හෝ netfilter ඉලක්කයක් ඒවා ජනනය නොකරයි, සහ එක් පේළියක සංසන්දනය මෙයයි: මාර්ගගත කිරීම මාවතක් තෝරයි, SOCKS සේවාදායකයෙකුට දෙවන සම්බන්ධතාවයක් සෑදීමට කියයි.
පළමු අවස්ථාව: යෙදුමටම SOCKS කථා කළ හැකිය
වැඩසටහනට ප්රොක්සි සැකසුමක් ඇත්නම්, මෙය කෙටිම මාර්ගය වන අතර එයට කර්නල් වෙනසක් අවශ්ය නොවේ. එය ශ්රාවකය වෙත යොමු කරන්න, සේවාදායකය ඉල්ලා සිටින්නේ නම් අක්තපත්ර සපයන්න, සහ නම් ස්ථානීයව විසඳන්නේද නැතහොත් ප්රොක්සියට භාර දෙන්නේද යන්න තීරණය කරන්න. curl හි මේවා වෙනස් ධජ වේ, සහ ගමනාන්තය ප්රොක්සි පැත්තෙන් පමණක් විසඳන විට වෙනස වැදගත් වේ:
curl --socks5 10.50.0.2:1080 https://docs.example.com
curl --socks5-hostname 10.50.0.2:1080 https://internal.example.comප්රොක්සි පරිසර විචල්ය නොසලකා හරින හෝ අමු සොකට් විවෘත කරන යෙදුම්වලට මෙසේ උදව් කළ නොහැක. බ්රවුසර සහ බොහෝ HTTP මෙවලම් හොඳයි; ක්රීඩා සේවාලාභියෙක්, තැපැල් ඩේමනයක් හෝ අත්තනෝමතික විකුණුම්කරු ද්විමය ගොනුවක් සාමාන්යයෙන් නොවේ. මායිම එක් එක් යෙදුම සහ එක් එක් ප්රොටොකෝලය සඳහා ය, එබැවින් මෙම විකල්පය පරීක්ෂාවට විශිෂ්ට වන අතර මුළු VPN සඳහා පිළිතුරක් ලෙස දුර්වල ය.
දෙවන අවස්ථාව: IP ප්රවාහ ප්රොක්සි සැසි බවට පරිවර්තනය කරන අනුකරණයක්
SOCKS කථා කළ නොහැකි වැඩසටහන් සඳහා, පරිවර්තනය IP ට්රැෆික් අවසන් කර ඔවුන් වෙනුවෙන් ප්රොක්සි සැසි විවෘත කරන දෙයක සිදු විය යුතුය. එම අංගයට උමං අතුරුමුහුණතක් ඇත, ප්රතිපත්ති මාර්ගගත කිරීම තෝරාගත් ප්රවාහ පිළිගනී, එක් එක් ඒවා සඳහා SOCKS අත්වැල් ගැසීම සිදු කරයි සහ පිළිතුරු නැවත ගොඩනඟයි. මාර්ගය ට්රැෆික් එහි යොමු කරයි; සැසිය සාදන්නේ අනුකරණයයි.
සම්පූර්ණ උපජාලයක් එයට විශ්වාස කිරීමට පෙර එහි ලේඛන කියවන්න. බොහෝ අනුකරණ TCP හොඳින් රැගෙන යන අතර UDP හසුරුවන්නේ SOCKS5 UDP සංගමය හරහා පමණි, සහ ඒවායින් කිසිවක් ICMP ප්රොක්සි ට්රැෆික් බවට නොහරවයි, එබැවින් සාර්ථක ping එකක් ප්රොක්සි මාවත ගැන කිසිවක් නොකියයි. DNS අනෙක් උගුලයි: අනුකරණය නම් ස්ථානීයව විසඳන්නේ නම්, අභ්යන්තර පමණක් වාර්තා වැරදි පිළිතුරකට හෝ කිසිවකට විසඳේ.
ලූප වැළැක්වීම යනු දෂ්ට කරන මෙහෙයුම් විස්තරයයි. SOCKS සේවාදායකයට අනුකරණයේම සම්බන්ධතා නැවත අනුකරණයට මාර්ගගත නොකළ යුතුය, එබැවින් එහි ට්රැෆික් රීතියේ ව්යතිරේකයක් හෝ කැප වූ මූලාශ්ර ලිපිනයක් අවශ්ය වේ. මෙය වැරදි කළොත් ප්රොක්සි සැසිය තමන්ම ප්රොක්සි කිරීමට උත්සාහ කරයි.
තුන්වන අවස්ථාව: සත්කාරකය ඇත්තටම මාර්ගගත ද්වාරයකි
සමහර විට ක්රියාකාරී සැකසුමේ SOCKS කිසිවක් නොමැත. දුරස්ථ සත්කාරකය පැකට් යවයි හෝ ඒවාට NAT කරයි, සහ මූලාශ්ර පාදක රීතිය එය පිටවීමක් ලෙස තෝරා ගනී. එම නිර්මාණය නීත්යානුකූල ය, සහ පිටපත් කළ වින්යාසයක් එක් ජාලයක ක්රියා කර අනෙකක අසාර්ථක වන්නේ මන්ද යන්න එය පැහැදිලි කරයි: රීතිය සමාන ය, අතුරුදහන් වූ කොටස අනෙක් පැත්තේ යැවීම් සේවාවයි.
අවස්ථා තුන ඉක්මනින් වෙන් වේ. ඇත්තටම සවන් දෙන්නේ කුමක්දැයි පරීක්ෂා කරන්න, පසුව සත්කාරකයට ළඟා වන පළමු බයිට දෙස බලන්න:
ss -ltnp 'sport = :1080'
tcpdump -ni eth0 -X 'tcp port 1080'සැබෑ SOCKS සේවාලාභියෙකුගේ පළමු භාර බයිටය 0x05, ආචාරයේ අනුවාදය. ග්රහණය ඒ වෙනුවට මුල් යෙදුම් දත්ත පෙන්වන්නේ නම්, කිසිදු SOCKS ඩේමනයක් පිළිතුරු නොදෙනු ඇත, මන්ද සාකච්ඡාව කිසිදා ආරම්භ වී නැත. 1080 හි කිසිවක් සවන් නොදෙන්නේ නම්, සත්කාරකය ද්වාරයකි, සහ ප්රශ්නය වන්නේ එය යවන්නේද සහ ආපසු මාවතක් තිබේද යන්නයි.
ප්රශ්න හතරකින් ස්ථරය තෝරන්න
වැඩසටහනට ප්රොක්සි සැකසුමක් තිබේද? එය භාවිත කර එතැනින් නවතින්න. ට්රැෆිකයේ ජීවත් විය යුතු UDP හෝ ICMP අඩංගුද? ICMP රැගෙන යන්නේ මාර්ගගත හෝ NAT ද්වාරයක් පමණි, සහ UDP සඳහා දෙපැත්තම ආධාරක වන SOCKS5 සංගමයක් අවශ්ය වේ. යන්ත්රයේ සෑම ක්රියාවලියක්ම, ඔබට වින්යාස කළ නොහැකි ඒවා ඇතුළුව, ආවරණය කළ යුතුද? එසේ නම් අතුරුමුහුණත හිමි සහ ප්රවාහ අවසන් කරන අනුකරණයක් අවශ්ය වේ. එහි මාර්ගගත කිරීම, DNS සහ ලූප වැළැක්වීමේ ව්යතිරේක ද ඔබට භාර ගත හැකිද? නොහැකි නම්, සාමාන්ය ද්වාරය ක්රියාත්මක කිරීමට අඩු වියදමක් වේ.
එක් වෙනසක් සෘජුව තබා ගැනීම වටී. VPN සේවාලාභියාගේම socks-proxy විකල්පය බාහිර උමං සම්බන්ධතාවය එහි සේවාදායකයට ළඟා වන්නේ කෙසේද යන්න විස්තර කරයි, සහ අභ්යන්තර සේවාලාභි ප්රවාහ පරිවර්තනය ගැන කිසිවක් නොකියයි. දෙකම එකම ටිකට්පතේ නිතර මිශ්ර වේ. මාර්ගයක් ස්පර්ශ කිරීමට පෙර ඔබට අවශ්ය කුමන සම්බන්ධතාවද යන්න තීරණය කරන්න.