වෙන්වූ පිටවීම: usb0 හි VPN තටාකය, eth0 හි ගේට්වේ ට්රැෆික්
ඉදිරියට යවන ලද VPN සේවාදායකයන්ට usb0 හරහා පිටවිය හැකි අතර ගේට්වේ තම eth0 පෙරනිමි මාර්ගය තබා ගනී. සම්පූර්ණ තෝරාගත් වගුවක් ගොඩනඟා, පසුව අසාර්ථකත්වය කාන්දු නොවී වැසෙන ලෙස කරන්න.
සේවාදායකයෝ සම්බන්ධ වී සත්යාපනය කරති, පසුව ඔවුන්ගේ ට්රැෆික් වැරදි උඩු සබැඳිය හරහා පිටවේ, මන්ද යන්ත්රයේ ඇති එකම පෙරනිමි මාර්ගය ගේට්වේටම අයත් බැවිනි. එම පෙරනිමිය ප්රතිස්ථාපනය කිරීම යන්ත්රයේම යාවත්කාලීන සහ කළමනාකරණ ප්රවේශය බිඳ දමනු ඇත, එබැවින් තේරීම «සියලු ට්රැෆික්»ට වඩා පටු විය යුතුය. ක්රියාකාරී ස්වරූපය වන්නේ සේවාදායක තටාකයේ අභ්යන්තර මූල ලිපිනය මත පදනම් වූ ප්රතිපත්ති රීතියක් වන අතර එය විකල්ප WAN හිමි දෙවන රවුටින් වගුවට යොමු කරයි. එතැන් සිට පිරික්සුම් ලැයිස්තුව රීතිය ගැන නොව සම්පූර්ණත්වය සහ අසාර්ථකත්වයේ හැසිරීම ගැනය.
මූල ලිපිනය රවුටින් තීරණය දක්වා රැඳී ඇති බව තහවුරු කරන්න
මූල පරාසයකට ගැළපෙන ප්රතිපත්ති රීතියක් ක්රියාත්මක වන්නේ සොයන මොහොතේ පැකට්ටුව තවමත් එම මූලය දරන විට පමණි. ඉදිරියට යවන ලද සේවාදායක ට්රැෆික් එසේ කරයි, රවුටින් කිරීමට පෙර ඉහළින් කිසිවක් එය නැවත නොලියා නම්. ගේට්වේම ජනනය කරන ට්රැෆික් එසේ නොකරයි, එබැවින්ම ගේට්වේගේම පෙරනිමිය එහි තැනම රැඳී සිටිය හැක.
මෙතැනදී තමයි දේශීය පරීක්ෂණ නොමඟ යවන්නේ. ගේට්වේ මත ධාවනය කළ curl යනු ගේට්වේගේ ලිපිනය සහිත දේශීයව ජනනය වූ ප්රවාහයකි, එබැවින් එය ප්රධාන වගුව ගන්නා අතර සේවාදායක මාර්ගය ගැන කිසිවක් ඔප්පු නොකරයි. සම්බන්ධිත සේවාදායකයකින් පරීක්ෂා කරන්න, නැතහොත් තටාකයට සැබවින්ම අයත් මූලයක් සහිතව ට්රැෆික් ජනනය කරන්න.
සැබෑ අගයන් ලිවීමෙන් ආරම්භ කරන්න: තටාක ප්රත්යය, එය රැගෙන යන ටනල් අතුරුමුහුණත, දෙවන WAN හි ලිපිනය සහ ඊළඟ පිම්ම, සහ ඔබ භාවිත කිරීමට අදහස් කරන වගු අංකය. නව රීති එකතු කිරීමට පෙර පෙර උත්සාහයක පැරණි රීති ඉවත් කරන්න, මන්ද විවිධ ප්රමුඛතාවල පුනරාවර්තන රීති අහඹු ලෙස පෙනෙන අසාර්ථකත්ව ඇති කරයි.
සම්පූර්ණ වූ තෝරාගත් වගුවක් ගොඩනඟන්න
වගුවක් යනු මිතුරෙකු සමඟ පෙරනිමි මාර්ගයක් නොවේ. සෑම සෙවුමක්ම එහි ඇතුළත විසඳීමට ප්රමාණවත් මාර්ග අවශ්යයි, ඊළඟ පිම්මට ළඟා වීමට WAN උපජාලයේ සම්බන්ධිත මාර්ගයද ඇතුළුව. tun1 හි 10.77.0.0/24 තටාකයක්, ඊළඟ පිම්ම 203.0.113.1 සහිත WAN ලිපිනය 203.0.113.20/24, සහ වගුව 600 සඳහා:
ip -4 route replace 203.0.113.0/24 dev usb0 src 203.0.113.20 table 600
ip -4 route replace 10.77.0.0/24 dev tun1 table 600
ip -4 route replace default via 203.0.113.1 dev usb0 table 600
ip -4 rule add priority 1500 from 10.77.0.0/24 lookup 600
රීතිය පවතින ඕනෑම සියල්ල අල්ලන රීතියකට පහළ ප්රමුඛතාවක වාඩි වේ, එබැවින් ගැළපෙන සේවාදායකයෝ පළමුව වගුව 600 ට ළඟා වන අතර අනෙක් සියල්ල ප්රධාන වගුවට වැටේ. ip-rule යොමුව අනුපිළිවෙල සෙවුම් ආකෘතිය සහ තේරීම්කරුගේ වාක්ය රීතිය සම්පූර්ණයෙන් විස්තර කරයි.
පසුව වගුවේ නැති දේ ගැන සිතන්න. ප්රධානයේ පමණක් මාර්ගයක් ඇති ගමනාන්තයක්, උදාහරණයක් ලෙස eth0 හරහා ළඟා විය හැකි කළමනාකරණ උපජාලයක්, වගුව 600 හි නොපෙනෙන අතර එහි පෙරනිමියක් ඇති වූ පසු ප්රධානයටද නොපෙරළෙයි. එම මාර්ග වැදගත් නම්, ඒවා පැහැදිලිවම තෝරාගත් වගුවට එකතු කරන්න, එය VPN පිටවීම් වගුවකට සාමාන්යයෙන් නිවැරදි පිළිතුරයි.
සවන්දෙන්නාගේම ට්රැෆික් ප්රතිපත්තියෙන් පිටත තබන්න
OpenVPN සවන්දෙන්නාට ඔහුගේම බාහිර සම්බන්ධතාවක් ඇත, එය සේවාදායකයා ඔහු වෙත ළඟා වූ උඩු සබැඳිය හරහා රැගෙන යයි. එම ට්රැෆික් එය පැමිණි ආපසු මාර්ගය තබා ගත යුතුය, සහ සේවාදායකයේ පොදු ලිපිනය හෝ මුළු ටනල් අතුරුමුහුණත ආවරණය කරන පුළුල් රීතියක් එය විකල්ප වගුවට ඇද ගත හැක. රීතිය අභ්යන්තර තටාකයට පමණක් සීමා කරන්න, වෙන කිසිවකට නොවේ.
ආපසු මාර්ග පෙරහනද එම හේතුව නිසා බැලිය යුතුය. සේවාදායකයන්ට පිළිතුරු usb0 හරහා යන අතර ඉල්ලීම වෙනත් සබැඳියකින් පැමිණි විට, දැඩි rp_filter සැකසුමක් රවුටින් ප්රතිපත්තිය වලංගු යැයි සලකන පැකට්ටු ඉවත දැමිය හැක. රීතිය අසාර්ථක විය යැයි නිගමනය කිරීමට පෙර අතුරුමුහුණත් දෙකේම බලපැවැත්වෙන sysctl අගයන් පරීක්ෂා කරන්න.
යන්ත්රයේ අනෙක් සියල්ලට සාපේක්ෂවද අනුපිළිවෙල වැදගත්. Docker පාලම්, දෙවන VPN සහ සැපයුම්කරුගේ රූපයකින් කලින්ම තිබූ ඕනෑම රීතියක් සියල්ලම ප්රමුඛතා එකතු කරයි, එබැවින් ප්රමුඛතාව 100 තනිව ඇතැයි උපකල්පනය කරනවාට වඩා සම්පූර්ණ රීති ලැයිස්තුව කියවන්න.
ඉදිරියට යැවීම සහ පරිවර්තනය මාර්ගය සමඟ ගැළපෙන ලෙස කරන්න
රවුටින් උඩු සබැඳියක් තෝරයි; එය ඉදිරියට යැවීමට අවසර නොදෙයි. කර්නලයේ IPv4 ඉදිරියට යැවීම සක්රීයව තිබිය යුතු අතර, ගිනිතාප්පය සේවාදායකයාගෙන් WAN දිශාව සහ ආපසු ට්රැෆික් පිළිගත යුතුය. ප්රවාහය ඉවත දමන FORWARD දාමයක් සහිත නිවැරදි වගුවක් නැති මාර්ගයක් වැනි ලක්ෂණයක් දෙයි, එබැවින් දෙකම එකම ගමනකදී පරීක්ෂා කෙරේ.
දෙවන WAN පෞද්ගලික තටාකයක් ඔබ වෙත ආපසු රවුට් නොකරන්නේ නම්, එම පිටවීමේදී මූලය පරිවර්තනය කරන්න. ගතික ලිපිනයක් ඇති අතුරුමුහුණතකට සාමාන්ය තේරීම වන්නේ තටාකයට සහ අතුරුමුහුණතට සීමා වූ පටු masquerade රීතියකි:
iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -o usb0 -j MASQUERADE
මෙහි ඉලක්කයට වඩා විෂය පථය වැදගත්. ඕනෑම පිටතට යන අතුරුමුහුණතකට ගැළපෙන masquerade රීතියක් eth0 හරහා නිවැරදිව යන ට්රැෆික්ද නැවත ලියයි, එය රවුටින් වැරදි නිවැරදි කරනවාට වඩා සඟවයි. පරිවර්තනය රවුටින් තීරණයෙන් පසුව ක්රියාත්මක වේ, එබැවින් වැරදි උඩු සබැඳියට යවන ලද පැකට්ටුවක් එය කිසිදා නිවැරදි කළ නොහැක.
මාර්ග වෙනස් වූ පසු ටනල් අධිභාරයද අවධානය ඉල්ලයි. සේවාදායකයෝ විශාල TCP MSS සාකච්ඡා කර විකල්ප WAN හි MTU අඩු නම් හෝ එහි ඇතුළත ටනලයක් තිබේ නම්, විශාල කොටස් හිර වන අතර කුඩා ඒවා ක්රියා කරයි. ඉදිරියට යැවීමේ මාර්ගයේ MSS තද කිරීම එය වරින් වර හිරවීමක් වෙනුවට පුරෝකථනය කළ හැකි හැසිරීමක් බවට පත් කරයි.
usb0 අතුරුදහන් වූ විට කුමක් සිදුවේදැයි තීරණය කරන්න
හිස් වගුවක් අසාර්ථකත්වයේදී වැසෙන තත්ත්වයක් නොවේ. ගැළපෙන මාර්ගය අතුරුදහන් වුවහොත්, සෙවුම ඊළඟ රීතියට ඉදිරියට යයි, ප්රධාන වගුවට ළඟා වී eth0 පෙරනිමිය ගනී. දෙවන WAN හරහා පිටවිය යුතුව තිබූ ට්රැෆික් නිහඬව පළමුවැන්න හරහා පිටවේ, එය ප්රතිපත්ති රවුටින් ස්ථාපනයක සාමාන්යයෙන් ඔබ අඩුම වශයෙන් අපේක්ෂා කරන ප්රතිඵලයයි.
එම පසුබැසීම පිළිගත නොහැකි තැන, වගුව 600 ට පැහැදිලි අවසාන මාර්ගයක් එකතු කරන්න, උදාහරණයක් ලෙස blackhole පෙරනිමියක්, නැතහොත් අතුරුමුහුණත වසා ඇති අතරතුර ගිනිතාප්පයේ තටාකය ඉවත දමන්න. දෙකින් ඕනෑම එකක් ඔබට ලිවිය හැකි තීරණයකි; නිහඬතාව එසේ නොවේ.
ස්ථාවරත්වය අවසාන අයිතමයයි. සබැඳි දෙකම හිමි කාට වුවද, එය ජාල කළමනාකරුවා වේවා, යවන්නාගේ ස්ක්රිප්ටය වේවා, නැතහොත් සම්බන්ධතාවයේ ජීවන චක්රය වේවා, ඔහු සෑම නැවත සම්බන්ධතාවකදීම අනුපිටපත් නොකර මාර්ග සහ රීතිය නැවත නිර්මාණය කළ යුතුය. සැබෑ සේවාදායකයෙකුගේ ඉල්ලීමක් සහ ගේට්වේයේ වෙනම ඉල්ලීමක් සමඟ සත්යාපනය කරන්න, දෙකෙහිම නිරීක්ෂිත පිටවීම තහවුරු කරන්න, පසුව දෙවන WAN ඇද ඉවත් කර ඔබ නිර්මාණය කළ ප්රතිඵල දෙකෙන් කුමක් සැබවින්ම සිදුවේදැයි බලන්න. IPv6 ට තමන්ගේම වගුවක්, රීතියක් සහ පරිවර්තනයක් අවශ්යයි; ඉහත IPv4 රීතිය ඒ ගැන කිසිවක් නොකියයි.