د strongSwan هغه نښلون چې یوې خصوصي فرعي شبکې لپاره کار کوي، یوازې د دې لپاره چې چا یوه کرښه سمه کړې، د انټرنېټ ټرافیک نه وړي۔ بشپړ تونل د دوو خواوو ترمنځ د دې اړه تړون دی چې child SA کومې پتې ساتي، او هر لوری بل لوري په خپل نسبت نوموي۔ یو لوری سم او بل غلط کړئ، child SA به یا پورته نه شي یا به د موخې څخه تنګ پورته شي۔ لاندې پنځه ګوري دا تړون له کلاینټ څخه، د دروازې له لارې، انټرنېټ ته تعقیبوي۔

لومړی د کلاینټ غوراوی وګورئ

کلاینټ هغه څه چې په لرې لوري کې یې ساتل غواړي د remote_ts په توګه بیانوي، او هر څه چې لېږي د خپلې ټاکل شوې پتې څخه راځي۔ د انټرنېټ ټرافیک لپاره باید دا ارزښت هغه منزلونه پوښي چې کاروونکی واقعاً ورته رسېږي، چې په عمل کې د IPv4 ټول ځای مانا لري۔ هغه کلاینټ چې لا هم یوه فرعي شبکه لیستوي، ویشل شوی تونل غواړي، که په انټرفیس کې پروفایل هر څه نومول شوی وي۔ د سرچینې لوری معمولاً dynamic وي ځکه چې پته د نښلولو پر مهال ټاکل کېږي۔ هلته لیکل شوې ثابته سرچینه د پتې ټولګه بدلېدو سره سم ماتېږي۔

children {
    net {
        local_ts  = dynamic
        remote_ts = 0.0.0.0/0
    }
}

دا ټوټه بشپړه نښلون فایل نه دی، او دا فرض کوي چې تصدیق، هویتونه او د مجازي پتو ټولګه له مخکې تنظیم شوې ده۔ د کلاینټ د سرچینې غوراوی او هغه پته چې سرور ټاکي باید لا هم سره سمون ولري، که نه child SA د دواړو خواوو له تمې بهر پراخوالی سره پورته کېږي۔ دا د swanctl --load-all سره بار کړئ او د بریا فرض کولو دمخه پایلې ولولئ۔ هغه فایل چې پارس کېږي، بیا هم د بل لوري له وړاندیز سره نه سمون لرونکي غوراوی له امله ردیدلی شي۔

د دروازې غوراوی د هغې په خپل لوري وګورئ

دروازه هماغه مفهوم له مخالف لوري لوستي۔ د انټرنېټ منزلونه د دروازې لپاره ځایي دي، نو د هغې local_ts پراخ دی او remote_ts د کلاینټانو ټولګه بیانوي۔ دا نسکورنه په بشپړ-تونل تنظیم کې ترټولو عامه تېروتنه ده، او له بیاکتنې تېرېږي ځکه چې دواړه کرښې جلا باوري ښکاري۔

children {
    rw {
        local_ts  = 0.0.0.0/0
        remote_ts = 10.77.0.0/24
    }
}

د کلاینټ ټوټه د دروازې فایل ته کاپي کول داسې غوراوی جوړه جوړوي چې هیڅ ګټور نه بیانوي، ځکه دواړه خواوې به یو شان رول غواړي۔ د strongSwan د لېږد لارښود د کلاینټ او دروازې جوړه په څرګنده مستندوي، او دا د ناکامۍ وروسته نه بلکې د نښلون فایل ترڅنګ لوستل ارزښت لري۔ د دروازې فایل هم هغه ټولګې تعریف ته اړتیا لري چې remote_ts ورته اشاره کوي۔ هغه غوراوی چې نه شته ټولګه نوموي پرته له شکایت بار کېږي او د نښلولو پر مهال ناکامېږي۔

زوړ ipsec.conf د بېلابېلو کیلیدونو سره کیڼ او ښي رولونه کاروي، او د rightsubnet کرښه د swanctl ارزښت مستقیم بدیل نه دی۔ دواړه نحوې په جلا فایلونو کې وساتئ پرځای دې چې یوه په بله کې ولګوئ۔ دوی په یوه پوښه کې ګډول هغه لار ده چې کارکوونکی نښلون د بیا پیل وروسته په خاموشۍ شاته ځي۔

فایل نه، بلکې منل شوی child SA وګورئ

ساتل شوې تنظیم موخه ثابتوي او نه ډېر څه۔ بل لوری کولای شي غوښتل شوی تنګ کړي، او شته child SA یوازې د دې لپاره نه بدلېږي چې لاندې فایل بدل شوی۔ د بل څه بدلولو دمخه تایید کړئ چې واقعاً څه نصب دي۔

swanctl --list-conns
swanctl --list-sas
ip xfrm policy list

لومړی حکم ښيي چې ډیمون څه بار کړل، دویم هغه child SA ښيي چې جوړ شوي، او دریم هغه تګلارې چې کرنل به پلي کوي۔ که فایل 0.0.0.0/0 وایي او لیست یوه فرعي شبکه ښيي، خبرې اترې پراخوالی تنګ کړی او فایل بیا لوستل به یې نه تشریح کوي۔ child ودروئ، بیا یې پیل کړئ، او درې واړه پایلې بیا پرتله کړئ۔ هغه child چې هماغه تنګ پراخوالی سره بېرته راځي د لرې لوري لخوا تنګېږي نه د ځایي فایل لخوا، او دا د بل مدیر سره خبرې دي نه ځایي سمون۔

په تګلارو لیست کې دواړه لورې ولولئ، ځکه هغه تونل چې یو لوری نصبوي او بل نه، په تنظیمي جامو کې د لارښوونې ستونزه ده۔ د مخ او شا تګلارې باید هماغه غوراوی جوړه په هنداره ډول ونوموي، او ورکه هنداره د ډیمون یا وړاندیز نیمګړتیا ده نه د غوراوی متن۔

لېږد او د بېرته راستنېدو لار وګورئ

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

sysctl net.ipv4.ip_forward
iptables -t nat -S | grep -i masq
ip route get 1.1.1.1

خصوصي کلاینټ پتې معمولاً د عام انټرفیس له پریښودو دمخه ارادي سرچینه ژباړې ته اړتیا لري، خو په څرګنده لارښوونې شوې تخصیص بېل چلند غواړي۔ که NAT کې وي، د تطبیق ملاتړ شوي استثناوې وساتئ ترڅو هغه ټرافیک چې امنیتي تګلاره یې باید وګوري ترڅنګ یې ژباړل شوی نه وي۔ له بلې دروازې کاپي شوې پراخه masquerade قاعده له لیکونکي د موخې څخه ډېر بهیرونه بدلوي۔ قاعده یوازې د کلاینټانو ټولګې لپاره ولیکئ، او یوه تبصره پرېږدئ چې ولې شته۔

په کلاینټ کې هغه لارې تایید کړئ چې backend نصب کړې، نه هغه چې تاسو فرض کړې۔ هغه مدیر چې د لارو نصبول یې نا فعال دي، لاسي ساتل شوی لارښوونې ډیزاین ته اړتیا لري، او دا ډیزاین باید هرکله چې تونل بدلېږي تازه شي۔ د لارښوونې جدول له بیا نښلولو وروسته وګورئ، نه یوازې له نوي بوت وروسته۔

وګورئ چې تونل لا هم څه نه پوښي

غوراوی جوړه IPv4 پوښي او نه بل څه۔ IPv6، DNS او هر اپلیکیشن کچې تګلاره جلا پرېکړې دي چې پراخ IPv4 غوراوی یې په خاموشۍ نه ګوري۔ هغه تونل چې هر IPv4 بسته وړي بیا هم هر نوم لټون کولای شي توی کړي۔

د DNS موخه لار په څرګنده ووایاست، ځکه بشپړ تونل چې لا هم نومونه د ځایي حل کوونکي له لارې حلوي، پوښتنې له تونل بهر تویوي او خصوصي نومونه ماتوي۔ که کلاینټ ته IPv6 پته ورکړل شي، هغه پته کورنۍ ورته چلند ته اړتیا لري، که نه کوربه هغه لار غوره کوي چې تونل یې نه ساتي۔ په هغه نوم ازموینه وکړئ چې یوازې خصوصي لوری ځواب ویلای شي، او عام ځواب تویېدنه وګڼئ۔

resolvectl query intranet.example.internal
traceroute -n 1.1.1.1

زنجیر د هغو دوو حکمونو او له پورتنۍ لیست څخه د منلو شوو غوراویو سره تایید کړئ۔ که traceroute ځایي روټر لومړی ټوپ ښيي، ټرافیک تونل نه کاروي که غوراویان هر څه ادعا وکړي۔ انټرنېټ لاسرسی یوازې هغه وخت بشپړ دی چې ټاکل شوی ټرافیک د ډیزاین شوې دروازې له لارې ومنل شي، ولېږل شي او بېرته راوګرځول شي۔ په پروفایل کې 0.0.0.0/0 موندل د هغه زنجیر پیل دی، نه ثبوت۔

اړوندې مقالې