VPN කන්ටේනරයේ DNAT: INPUT නොව, යැවීම
DNAT කිරීමෙන් පසු ටනල් ලිපිනයට යන ඉල්ලීම යවන ලද ගමනාගමනයක් බවට පත් වේ. යැවීමේ නියමය පටු කරන්න, Docker දාමය කියවන්න සහ ආපසු මාර්ගය සිතාමතා තෝරන්න.
ඉල්ලීම ටනල් IP ලිපිනයට පැමිණ එම කන්ටේනරයෙන්ම අසල්වැසි සේවාවක ලිපිනයට පිටත් වේ. එම මොහොතවල් දෙක අතර DNAT ගමනාන්තය නැවත ලිව්වා, එවිට පැකට්ටුව VPN කන්ටේනරයට ආදානයක් වීම නැවැත්තුවා. දැන් එය වෙනත් නියමයකින් විනිශ්චය කරන යවන ලද ගමනාගමනයකි. මෙම වෙනස නිසා ටනල් ලිපිනයට නිවැරදි ලෙස පෙනෙන ෆයර්වෝල් නියමය පරිවර්තිත සම්බන්ධතාවයට කිසිදු බලපෑමක් නොකරන්නේ ඇයි දැයි පැහැදිලි වේ.
පරිවර්තනයෙන් පසු පැකට්ටුව අනුගමනය කරන්න
10.90.0.0/24 සේවාදායක තටාකයක් සහ 10.90.0.1 ටනල් ලිපිනයක් ගන්න. එක් පාලමක් මත කන්ටේනර දෙකක් ඇත: 192.0.2.2 VPN ද, 192.0.2.3 යෙදුම ද ධාවනය කරයි. සේවාදායකයෙක් 10.90.0.1:8080 වෙත සම්බන්ධ වන අතර, VPN කන්ටේනරයේ නාම අවකාශයේ DNAT නියමය එය යෙදුමේ සැබෑ ලිපිනයට හා තොටට නැවත ලියයි. පසුව මාර්ගයක් පැකට්ටුව පාලම හරහා යවයි. එම ලිපින නිදර්ශනාත්මක ය, ප්රතිස්ථාපන වට්ටෝරුවක් නොවේ.
යෙදුම ඇත්තටම සවන් දෙන තොට සත්කාරකයේ ප්රකාශිත ඕනෑම තොටකින් වෙනස් විය හැක. සංඛ්යා දෙකම ගැලපේ යැයි උපකල්පනය කරනවා වෙනුවට කන්ටේනරය තුළ ඇති ශ්රවණය කරන්නා කියවන්න.
අවසරය යැවීමේ මාර්ගයට අයත් වේ
VPN කන්ටේනරයට IP යැවීම සහ සේවාදායක තටාකය, යෙදුමේ ලිපිනය හා අදහස් කළ තොට තෙක් සීමා වූ යැවීමේ තීරණයක් අවශ්ය වේ. ස්ථාපිත පිළිතුරුවලට ඒවායේම අවසරයක් අවශ්ය වේ. මුල් ටනල් ලිපිනයට ගැලපෙන නියමය DNAT කිරීමෙන් පසු නොගැලපේ, මන්ද ගමනාන්තය දැනටමත් වෙනස් වී ඇත. INPUT අවසරය දැන් මෙම සත්කාරකයට අමතා නැති ගමනාගමනයට වැරදි කොක්කක් වේ.
විෂය පථය පටුව තබා ගන්න: එක් මූලාශ්ර පරාසයක්, එක් ගමනාන්තයක්, එක් සේවාවක්. ලිහිල් යැවීමේ නියමයක් ලිවීම පහසු ය, පසුව ආරක්ෂා කිරීම වඩා අපහසු ය.
docker exec vpn-container ip route get 192.0.2.3
docker exec vpn-container iptables -t nat -S
docker exec vpn-container iptables -S FORWARD
Docker හි දාම ඔබේ කන්ටේනරයේ දාම නොවේ
කන්ටේනරයේ නාම අවකාශය තුළ ඇති නියම Docker සත්කාරකයේ නියම නොවේ. ගමනාගමනය ටනල් අතුරුමුහුණතේ සිට පාලමට මාරු වන විට, සත්කාරකයේ පාලම් ෆයර්වෝලය තවත් තීරණයක් ගත හැක. Docker හි iptables පසුතලය සමඟ, ලේඛනගත යැවීමේ දාම සහ DNAT කිරීමෙන් පසු ගැලපීම් ලක්ෂ්ය එම තීරණය දිස්වන ස්ථානයයි.
Docker ෆයර්වෝල් යොමුව එම දාම සහ DNAT කිරීමෙන් පසු ගැලපීම විස්තර කරයි. Docker හි ෆයර්වෝල් කළමනාකරණය අක්රීය කර හෝ සෑම දාමයක්ම ලිහිල් කර නැති පිළිගැනීම නිවැරදි නොකරන්න, මන්ද එය ඔබ භාවිත කිරීමට උත්සාහ කරන සීමාව ඉවත් කරයි.
ආපසු මාර්ගය සිතාමතා කරන තේරීමක් කරන්න
මූලාශ්ර ලිපිනය රඳවා ගන්නේ නම්, යෙදුම 10.90.0.x දකින අතර පිළිතුරු VPN කන්ටේනරය හරහා ආපසු යැවිය යුතුය. එසේ නොමැති නම් එහි සාමාන්ය Docker ද්වාරය ඒවා ටනලය නොමැති සත්කාරකයට යවයි. විකල්පය වන්නේ VPN කන්ටේනරයේ පටු ලෙස සීමා කළ මූලාශ්ර පරිවර්තනයක්, එය පිළිතුර සරල කරයි නමුත් යෙදුමෙන් සේවාදායකය සඟවයි. සිතාමතා තෝරන්න, කුමක් තෝරා ගත්තා ද ලියන්න.
සාමාන්ය සේවාදායකයකින් නව අවසර ලත් සම්බන්ධතාවක් පරීක්ෂා කරන්න, පසුව අදාළ නොවන තොට වැසී ඇති බව තහවුරු කරන්න. පැකට්ටුවක් අතුරුදහන් වූ විට, VPN නාම අවකාශය, යෙදුමේ නාම අවකාශය සහ යෙදුමේම ලොගය පරීක්ෂා කරන්න. පාලම් ද්වාරයට ping කිරීම සේවාව සඳහා පිළිගැනීමේ පරීක්ෂණයක් නොවේ.
නියම කන්ටේනරයේ ආධාරක ආරම්භක වින්යාසයේ තබා ගන්න, මන්ද නැවත නිර්මාණය කරන විට අන්තර්ක්රියාකාරී සංස්කරණ අතුරුදහන් වේ. සත්කාරක තොට ප්රකාශය කිරීම වෙනත් නිරාවරණ මාර්ගයක් වන අතර සේවාව ටනලය හරහා ළඟා විය හැකි නිසා පමණක් එය අවශ්ය නොවේ.