غوښتنه د تونل 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 د خدمت لپاره د منلو ازموینه نه ده.

قواعد د کانټینر په ملاتړ شوې پیل کانفیګورېشن کې وساتئ، ځکه متقابل سمونونه هغه مهال ورکېږي چې بیا جوړ شي. د کوربه پورټ خپرول د افشا بله لار ده او یوازې د دې لپاره اړین نه دی چې خدمت د تونل له لارې د لاسرسي وړ دی.

اړوندې مقالې