د Docker پورټ خپرول او VPN سرچینې: دوه ساري چې تاسو یې له لاسه ورکوئ
د VPN سرور IP تل هغه سرچینه نه ده چې Docker یې ویني، او د DNAT وروسته پورټ خپر شوی پورټ نه دی. دواړه حقایق له ریښتیني لارې سره پرتله کړئ.
قاعده وایي چې د VPN سرور پته باید خپرې شوې خدمت ته اجازه ولري، او بیا هم اړیکه پرې کېږي. دا پایله عامه ده، او دا د Docker تېروتنه نه ده. دوه جلا ساري غلط دي: هغه سرچینه چې تاسو لیکلې کېدای شي هغه سرچینه نه وي چې کوربه یې ترلاسه کوي، او هغه پورټ چې تاسو لیکلی کېدای شي هغه پورټ نه وي چې فلټر یې ویني. د دواړو سمول د خدمت د انځور پر ځای د بنډل لارې ته کتل غواړي.
افسانه: VPN سرور ته اجازه ورکړه او خلاص
د لارښوونکي VPN کولای شي د کړکۍ پیریدونکي پته تر Docker کوربه پورې وساتي. هغه دروازه چې د سرچینې ژباړه کوي کولای شي هغه پته په خپله پته بدله کړي. دواړه ډیزاینونه قانوني دي، او د یوې ورته کاروونکي کړنې لپاره بېلې سرچینې جوړوي.
نو د VPN سرور IP عبارت یو انګېرنه بیانوي، نه کتنه. تر هغه چې تاسو نه پوهېږئ چې د دواړو ډیزاینونو کوم یو ستاسو په وړاندې دی، قاعده یوه اټکل ده.
سرچینه: د پیریدونکو حوض یا ژباړل شوې دروازه
څلور شیان په ترتیب سره وګورئ. لومړی، د پیریدونکو د پتو حوض، د بېلګې په توګه 10.90.0.0/24. دویم، ایا دروازه هغه حوض ژباړي مخکې لدې چې کوربه ته ورسیږي. دریم، هغه سرچینه چې کوربه یې د یوې نوي اړیکې لپاره واقعاً ګوري. څلورم، ایا د اپلیکیشن تصدیق انفرادي کاروونکي بېلوي، ځکه چې شریکه ژباړل شوې پته دا نه شي کولای.
که حوض وساتل شي، هغه قاعده چې یوازې د دروازې عامې پتې سره سمون خوري هر پیریدونکی له لاسه ورکوي. که دروازه په قصد ژباړه کوي، ژباړل شوې پتې ته اجازه ورکول د هغې شاته هر کاروونکی دننه باسي، کوم چې د خپل ننوتلو لرونکي خدمت لپاره منونکی او د هر بل شي لپاره نامنونکی کېدای شي.
پورټ: DNAT هغه شمېره بدلوي چې تاسو یې سره سمون خورئ
د Docker iptables سره په عادي Linux پله خپرولو کې، د کوربه نقشه له 8443 څخه د کانتینر پورټ 443 ته د لېږد فلټر له چلېدو مخکې ژباړل کېږي. بنډل فلټر ته د منزل پورټ 443 سره رسیږي. هغه قاعده چې په هغه ټکی 8443 سره سمون خوري هېڅکله نه فعالېږي، که څه هم پیریدونکي 8443 لیکلی وي.
خپر شوی پورټ لا هم د اړیکو په تعقیب کې شته، نو کله چې واقعاً ورته اړتیا وي اصلي منزل هلته سمون کېدای شي.
پریکړه وکړئ کومه شمېره قصد څرګندوي. کله چې قاعده د کانتینر دننه خدمت ساتي، د DNAT وروسته کانتینر پورټ سره سمون وخورئ. کله چې قاعده باید بیان کړي چې پیریدونکي څه غوښتي، د conntrack اختیار سره اصلي منزل سره سمون وخورئ، او د دې سره راتلونکې اضافي لګښت او د قاعدو ترتیب ته پاملرنه ومنئ.
زنجیر: DOCKER-USER، نه INPUT
د Docker د iptables لارښود د کاروونکي د لېږد پالیسي په DOCKER-USER زنجیر کې ږدي، کوم چې د Docker د خپلو لېږد قاعدو مخکې ارزول کېږي. هغه قاعده چې د کوربه خدمت څخه INPUT زنجیر ته کاپي شوې وي کوربه ته مخامخ ترافیک فلټر کوي، نه هغه ترافیک چې کانتینر ته لېږل کېږي. دا تېروتنه هغه قاعده جوړوي چې سمه ښکاري او د کانتینر په لار کې هېڅ اغېزه نه لري.
د سرچینې حد، اغېزمن منزل پورټ، پروتوکول او د ننوتلو انټرفېس په یوه قاعده کې یو ځای وساتئ. د هر لېږل شوي منزل لپاره یوازې د سرچینې اجازه له یوې خپرې شوې خدمت اجازې څخه پراخه ده.
د نویو اړیکو سره تایید کړئ
د دواړو لورو ازموینه د نویو اړیکو سره وکړئ: یو اجازه لرونکی VPN پیریدونکی او یوه سرچینه چې باید رد پاتې شي. شته اړیکې حالت کولای شي غونډه ژوندې وساتي وروسته لدې چې پالیسي بدله شوه، نو زړه اړیکه د نوي قاعدې په اړه هېڅ نه ثابتوي. بیا د ځواب لاره وګورئ، ځکه چې کانتینر باید لا هم هغه سرچینې ته چې ګوري بیرته لارښوونه وکړي.
د دې کتنو شاته د زنجیرونو ترتیب او د پورټ ژباړې چلند د Docker د iptables لارښود مستند کوي. تر دې مخکې چې کومه نسخه کاپي کړئ دا ولولئ، او تایید کړئ چې نصب شوی Docker کوم backend کاروي، ځکه چې nftables backend پالیسي په بله توګه یوځای کوي.