iptables: VPN සේවාලාභීන්ට එක් සත්කාරකයකට පමණක් ළඟා වීමට ඉඩ දෙන්න
ඔබට අවශ්ය නීතිය FORWARD හි ඇත, INPUT හි නොවේ. VPN සමූහයට එක් ගමනාන්තයක් අනුමත කර, ඉතිරිය ප්රතික්ෂේප කර, පසුව එය ගණක සහ ආපසු හැරවීමේ විධානය සමඟ ඔප්පු කරන්න.
සම්බන්ධයක් නැති බව පෙනෙන ආධාරක ටිකට් දෙකක් අවසානයේ එක් හේතුවක් බෙදා ගනී. පළමුවැන්නේ, පරිපාලකයෙකුට අවශ්ය වන්නේ සේවාදායකය ටනලයෙන් පමණක් සම්බන්ධතා පිළිගැනීමයි; දෙවැන්නේ, VPN පරිශීලකයන් එක් අභ්යන්තර සත්කාරකයකට ළඟා විය යුතු අතර ඊට වඩා කිසිවක් නොවේ. ප්රතිපත්ති දෙකම FORWARD ට අයත් වන අතර, දෙකම සාමාන්යයෙන් INPUT හි උත්සාහ කරනු ලැබේ. ප්රතිඵලය ෆයර්වෝලයක් මෙන් පෙනෙන අතර ස්ථානප්රතිස්ථාපකයක් මෙන් හැසිරේ.
ඔබේ ප්රශ්නයට පිළිතුරු දෙන්නේ කුමන දාමයද
VPN සේවාලාභියෙකු LAN සත්කාරකයකට හෝ ඉන් ඔබ්බට අන්තර්ජාලයට යවන පැකට් කර්නලය විසින් ඉදිරියට යවන අතර ඒවා FORWARD හි ඇගයේ. INPUT සහ OUTPUT දකින්නේ සේවාදායකයේම අවසන් වන හෝ එතැනින් ආරම්භ වන ගමන් පමණි. එබැවින් tun0 වෙත නොපැමිණෙන සියල්ල ප්රතික්ෂේප කිරීම සේවාදායකයේම ශ්රෝතෘන් ආරක්ෂා කරන අතර, ස්ථාපිත ප්රවාහ පළමුව අනුමත නොකළහොත් එය ඔබේ SSH සැසියද අවසන් කරනු ඇත. මෙය සේවාලාභීන්ට යා හැකි ස්ථාන ගැන කිසිවක් වෙනස් නොකරයි.
පළමුව ප්රශ්නය නම් කරන්න: කවුරුන්ට සේවාදායකයට ළඟා විය හැකිද, නැතහොත් සේවාලාභීන්ට යා හැක්කේ කොහේද. බොහෝ ජාලවලට පිළිතුරු දෙකම අවශ්ය වේ, විවිධ දාමවල.
පළමුව තත්ත්වය, පසුව අවසරය, පසුව ප්රතික්ෂේපය
අවසර ලැයිස්තුවක් ක්රියා කරන්නේ නිශ්චිත අවසරය සාමාන්ය ප්රතික්ෂේපයට ඉහළින් ඇති විටද සහ ආපසු ගමන් දෙකටම ඉහළින් අනුමත වන විටද පමණි. නීති පැහැදිලි ස්ථානවලට ඇතුළු කරන්න, පසුව iptables -S FORWARD සමඟ දාමය විග්රහ කරන්න, එවිට අනුපිළිවෙල උපකල්පනය නොකර පෙනෙනු ඇත.
POOL=10.99.0.0/24
iptables -I FORWARD 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 2 -s "$POOL" -d 172.31.20.15 -p tcp -m multiport --dports 443,3389 -j ACCEPT
iptables -I FORWARD 3 -s "$POOL" -j REJECTසැබෑ ගමන් සමඟ ගැටීමේදී මෙය රැඳී තිබේද යන්න තීරණය කරන්නේ විස්තර දෙකකි. තත්ත්ව නීතිය නොමැතිව, ඔබ දැන් අනුමත කළ සම්බන්ධතාවලට එන පිළිතුරුම ප්රතික්ෂේපයට එරෙහිව ඇගයී ඉවත දැමේ. සීමාවක් නැති LOG නීතියක් පළමු ස්කෑන් එකේදීම කුඩා කොටසක් පුරවා දැමිය හැක, එබැවින් ලොග් කිරීම දිගටම කරගෙන යාමට පෙර -m limit --limit 10/min එකතු කරන්න. REJECT වහාම දෝෂයක් ලබා දෙයි, ලැයිස්තුව සකස් කරන විට එය වඩාත් මිත්රශීලීය; DROP නිහඬව ඉවත දමයි, එබැවින් සෑම වැරැද්දක්ම කාලය ඉකුත් වීමක් ලෙස පෙනේ. එකක් හිතාමතා තෝරා ගැනීම වෙනස්කම් වාර්තාවේ ලියන්න.
ඉදිරියට යැවීම සහ NAT දැනටමත් ක්රියා කළ යුතුය
පෙරහනට මාර්ගයක් පවතින බව ඔප්පු කළ නොහැක. පළමුව කර්නලය කිසිසේත් ඉදිරියට යවන්නේද යන්න තහවුරු කර, එම සැකසුම shell හි එක් වරක් විධානයක් නොව ස්ථිර කරන්න. පෙරහන අවසාන ස්ථරයයි, පළමුවැන්න නොවේ.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s "$POOL" -o eth0 -j MASQUERADEමාස්කරේඩ් කොහේ තිබිය යුතුද යන්න රඳා පවතින්නේ සේවාලාභීන් පිටවන තැන මතය. ඔවුන් ටනලය හරහා දුරස්ථ ජාලයකට ගියහොත්, NAT නීතිය WAN අතුරුමුහුණතේ නොව එම අතුරුමුහුණතේ තැබේ. පසුව ගණක දෙස බලන්න: FORWARD අනුමත ගණන ඉහළ යද්දී POSTROUTING ගණකය කිසිදා නොසෙල්වෙන්නේ නම්, ආපසු මාර්ගය කැඩී ඇති අතර පෙරහන හොඳින් ඇත. එම කියවීම කිසිදා ගැටලුවක් නොවූ නීති නැවත ලිවීමේ දිවා කාලයක් ඉතිරි කරයි.
තැපැල් බ්ලොක් එක එක් දාමයක් ඈතින්
INPUT හි 25 වරාය අවහිර කිරීම නවත්වන්නේ VPN සේවාදායකයට යැවූ තැපෑල පමණි. ටනලය හරහා තැපැල් යවන හානි වූ සේවාලාභියා ඉදිරියට යවනු ලැබේ, එබැවින් බ්ලොක් එක 465 සහ 587 අසල FORWARD හි තිබිය යුතුය. එක් යෙදුමක් නීත්යානුකූලව තැපැල් නැවත යවන්නේ නම්, එහි ගමනාන්තය සහ වරාය එම නීතියට ඉහළින් තබන්න.
iptables -I FORWARD 2 -s "$POOL" -p tcp -m multiport --dports 25,465,587 -j REJECTවෙනත් කිසිවක් තද කිරීමට පෙර ප්රතික්ෂේප ගණකය සතියක් ක්රියා කිරීමට ඉඩ දෙන්න. නැගීම නවතින සංඛ්යාව ඔබ දැන් කැඩූ නීත්යානුකූල ප්රවාහයයි.
එය නැවත කියවා, පසුව සේවාලාභියෙකුගෙන් ඔප්පු කරන්න
නීති කට්ටලය කර්නලය වාර්තා කරන ආකාරයට කියවන්න, ඔබේ ස්ක්රිප්ටය ලියූ ආකාරයට නොවේ. iptables -S FORWARD සමඟ ආරම්භ කර, පසුව iptables -t nat -L POSTROUTING -n -v සමඟ NAT වගුව, පසුව ඔබ පරීක්ෂා කරන ප්රවාහයේ conntrack සටහන. වැඩ කරන තාක් ආපසු හැරවීමේ විධානයක් හෝ නියමිත හිස් කිරීමක් රඳවා ගන්න. සෑම ඇමතුමකටම -w අවශ්ය වේ, නැතහොත් පරිපාලකයන් දෙදෙනෙක් xtables අගුලේ ගැටෙනු ඇත. වෙනස්කම් කවුළුවක් තුළ මේ කිසිවක් විකල්ප නොවේ.
සමූහය තුළ සේවාලාභියෙකුගෙන් සහ ඉන් පිටත එකෙකුගෙන් පරීක්ෂා කර අවසන් කරන්න. ඔබ විධානය ලියූ යන්ත්රයෙන් පමණක් ක්රියා කරන නීතියක් ප්රතිපත්තියක් නොවේ.