යෙදුමේ කිසිදු දෝෂයක් නැති අතර උමඟේද කිසිදු දෝෂයක් නැත, නමුත් උපකරණ පුවරුව පූරණය නොවේ. සේවාවක් network_mode: service:vpn සමඟ ක්‍රියාත්මක වන විට, එය VPN කන්ටේනරයේ ජාල නාම අවකාශය බෙදා ගනී, එනම් එහි ශ්‍රාවකය සහ ප්‍රකාශිත පෝට් සේවාවට නොව එම නාම අවකාශයට අයත් වේ. එයින් තීරණ තුනක් එයි: යෙදුම කොහේ බන්ධනය වේද, කුමන කන්ටේනරය පෝට් ප්‍රකාශයට පත් කරයිද, සහ කළමනාකරණ මාර්ගය කෙතරම් පටුද. ඒවා වැරදි අනුපිළිවෙලකින් කළහොත් සෑම තනි සැකසුමක්ම නිවැරදි ලෙස පෙනෙන නමුත් සංයෝගය ක්‍රියා කළ නොහැක.

පෝට් නාම අවකාශය හිමි වන්නේ කාටද

බෙදාගත් නාම අවකාශයක, යැපෙන සේවාවට ports: සටහනක් එකතු කිරීමෙන් ප්‍රයෝජනවත් කිසිවක් සිදු නොවේ, සහ ජාල විකල්ප කිහිපයක් සැලසුම අනුව ඒ සඳහා ආධාර නොකෙරේ. ඒ වෙනුවට නාම අවකාශය හිමි කන්ටේනරය මත ප්‍රකාශයට පත් කරන්න. එම කන්ටේනරයම ධාරකයේ ලිපිනය පෙනෙන කන්ටේනරයද වේ, එබැවින් සිතියම සේවාවකට එකක් නොව එකම සටහනක් ලෙස කියවේ.

services:
  vpn:
    image: vpn-client-image
    cap_add: [NET_ADMIN]
    ports:
      - "127.0.0.1:8080:8080"
  app:
    network_mode: "service:vpn"

සිතියමේ වම් පස ඇති ලිපිනය දෙස බලන්න. 127.0.0.1 වෙත බන්ධනය කිරීමෙන් ප්‍රකාශිත පෝට් ධාරකයේ ලූප්බැක් මත රැඳේ, එය සාමාන්‍යයෙන් කළමනාකරණ අතුරුමුහුණතට අවශ්‍ය වේ. 0.0.0.0 වෙත බන්ධනය කිරීමෙන් එය ධාරකයේ සෑම අතුරුමුහුණතකම නිරාවරණය වේ, සහ එය පහසුවක් නොව වෙනත් ආරක්ෂක තීරණයකි.

නාම අවකාශය බලාපොරොත්තු වන තැන යෙදුමට සවන් දීමට සලස්වන්න

නාම අවකාශය තුළ 127.0.0.1 වෙත බැඳුණු ශ්‍රාවකයකට එම අවකාශය තුළින් පමණක් ළඟා විය හැක. ප්‍රකාශිත ධාරක පෝට් පිටතින් පැමිණේ, එබැවින් සිතියම ක්‍රියා කිරීමට යෙදුමට වඩා පළල් ලිපිනයක් බැඳිය යුතුය. මෙය බොහෝ සේවාදායකවල එක් පේළියක වෙනසක් වන අතර, කන්ටේනර රහිත යෙදවුමක් සඳහා ලියූ දෘඩකරණ මාර්ගෝපදේශය පිටපත් කිරීමෙන් පසු මිනිසුන් මඟ හරින පියවරද එයමය.

docker compose exec app ss -lntp
docker port vpn
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/

යෙදුම තුළ ඇති ශ්‍රාවක ලැයිස්තුව බන්ධන ලිපිනය ගැන සත්‍යය කියයි, සහ docker port හිමිකරු ඇත්තටම ප්‍රකාශයට පත් කළ දේ පෙන්වයි. පළමුවැන්න 127.0.0.1 පෙන්වා දෙවැන්න ධාරක සිතියමක් පෙන්වන්නේ නම්, VPN වින්‍යාසය ස්පර්ශ නොකර ඔබ නොගැළපීම සොයාගෙන ඇත.

කළමනාකරණ මාර්ගය ඇතුළට පැමිණෙන ආකාරය තෝරන්න

සාධාරණ විධි තුනක් ඇත. VPN කන්ටේනරය මත ප්‍රකාශයට පත් කර ධාරකයෙන් හෝ දේශීය ජාලයෙන් එතැනට ළඟා වන්න. නාම අවකාශය ඉදිරිපිට ප්‍රතිලෝම නියෝජිතයක් තබා නියෝජිතයාට එකම විවෘත පෝට් එක දෙන්න. නැතහොත් උපකරණ පුවරුව නාම අවකාශය තුළින් පමණක් exec සැසියක් හෝ SSH උමඟක් හරහා ළඟා විය හැකි ලෙස තබන්න, එය අවම නිරාවරණය සහ අවම පහසුවයි.

කුමක් ගැළපේද යන්න රඳා පවතින්නේ අතුරුමුහුණත කාට සහ කොහෙන් අවශ්‍යද යන්න මතය. එකම ධාරකයේ තනි පරිපාලකයෙකුට ලූප්බැක් බන්ධනය ප්‍රමාණවත්ය. VPN හරහා ළඟා වන කණ්ඩායමකට සිතාගත් මාර්ගයක් සහ නම් කළ හිමිකරුවෙකු අවශ්‍යය. නියෝජිත විකල්පය තෝරා ගැනීමෙන් ඔබට TLS සහ ප්‍රවේශ ලොග ලැබේ, නමුත් යාවත්කාලීනව තබා ගත යුතු තවත් අංගයක් එකතු වේ.

සියල්ල නොවිවෘතව කළමනාකරණ පෝට් විවෘත කරන්න

VPN සේවාලාභියාගේම දේශීය ප්‍රවේශ හෝ අගුළු දැමීමේ ප්‍රතිපත්තියට පිටතට යන උමඟ හොඳින් ක්‍රියා කරන අතරතුරද ඇතුළට එන කළමනාකරණ ඉල්ලීමක් ඉවත දැමිය හැක. අදහස් කළ මූලාශ්‍රය සහ පෝට් සඳහා ලේඛනගත ව්‍යතිරේකයකට ඉඩ දෙන්න, පසුව උමඟේ සාමාන්‍ය ආරක්ෂාව වෙනස් නොවී ඇති බව තහවුරු කරන්න. උපකරණ පුවරුව පූරණය වීමට හදිසි යතුරුව විසන්ධි කිරීම බ්‍රවුසර ටැබයක් සඳහා සැබෑ පාලනයක් මාරු කිරීමකි.

යෙදුමේම සත්‍යාපනය සක්‍රීයව තබන්න. VPN සම්බන්ධිත තැටියක් තුළ සිටීම සෑම දේශීය පරිශීලකයෙකුට හෝ ධාරකයට ළඟා විය හැකි සෑම උපාංගයකටම අවසර නොදේ, සහ උමඟක් පිටුපස සත්‍යාපනය නොමැති පරිපාලක පැනලයක් තවමත් සත්‍යාපනය නොමැති පරිපාලක පැනලයකි.

කළමනාකරණ උපාංගයෙන් තහවුරු කරන්න, පසුව නැවත තහවුරු කරන්න

සේවාව ඇත්තටම කළමනාකරණය කරන යන්ත්‍රයෙන් පරීක්ෂා කරන්න, ධාරකයෙන් නොව, පසුව යෙදුමට අවශ්‍ය අන්තර්ජාල මාර්ගය වෙන වෙනම තහවුරු කරන්න. කළමනාකරණයේ සාර්ථකත්වය එක් දිශාවක් ඔප්පු කරයි, පිටතට යන ගමන් ගැන කිසිවක් නොකියයි.

තැටිය නැවත සකස් කිරීමෙන් පසු නැවත පරීක්ෂා කරන්න. මාරු කළ ජාල හිමිකරු යෙදුම සම්බන්ධ වන නාම අවකාශය වෙනස් කරයි, සහ යාවත්කාලීනයකට පෙර ක්‍රියා කළ URL එකක් ඊට පසු කිසිවකට යොමු නොවිය හැක. ප්‍රකාශිත සිතියම සහ බන්ධන ලිපිනය ලියා තබන්න, එවිට ඊළඟ නැවත ගොඩනැගීම නැවත පර්යේෂණයක් නොව මිනිත්තු දෙකක පරීක්ෂාවක් වේ.

අදාළ ලිපි