د VPN وروسته دندې له ډیسپچر څخه چل کړئ، نه له if-up څخه
زوړ انټرفیس هنګ به VPN اړیکه ونه ویني. vpn-up د پروفایل UUID سره سم کړئ، دنده د بیا تکرار وړ وساتئ، او د هغه قطع کېدو لپاره چې کله هم نه راځي پلان جوړ کړئ.
د VPN له پورته کېدو وروسته چې کوم سکریپټ باید وچلېږي، هغه ته د اړیکې مالکې برخې څخه یوه پیښه غواړي. په زوړ شبکه یي هنګ فولډر کې اېښودل شوې فایل د هر هغه VPN لپاره چې NetworkManager، pppd یا جلا OpenVPN بهیر یې جوړولی شي، د بیرته غږوونکې په توګه نه ده. له دې مالکانو هر یو د بېل چاپېریال سره بېله پیښه راپور کوي، نو د هنګ له ټاکلو مخکې باید مالک وپېژندل شي. که نه، سکریپټ سم دی او یوازې کله هم نه چلېږي۔
د NetworkManager لخوا مدیریت کېدونکي VPN لپاره ډیسپچر سم ځای دی، او vpn-up سم عمل دی۔
د انټرفیس پیښه نه، vpn-up وکاروئ
ډیسپچر up له vpn-up څخه بېلوي. لومړی فعال شوې انټرفیس راپور کوي؛ دویم فعاله VPN اړیکه راپور کوي. د Wi-Fi پورته کېدل یوازې دا مانا لري چې لاندېنۍ لینک شته؛ تونل کېدای شي لا هم خبرې وکړي، یا هېڅکله تصدیق نه شي۔
سکریپټ انټرفیس او عمل ترلاسه کوي، خو د اړیکې تفصیلات د چاپېریال له لارې راځي، په دې کې د پروفایل UUID او د VPN IP انټرفیس شامل دي. هغه بدلېدونکي ولولئ، نه دا چې د وسیلو له نومونو څخه پېژندنه ورواښئ۔
مطابقت یوازې یوې اړیکې ته محدود کړئ
د اړیکې UUID یا بل هغه پېژندګلوي چې ډیسپچر یې برابروي سره سمون ورکړئ، نه د tun مخکښ یا ppp0 سره. د انټرفیس نومونه ثابت نه دي، په یو وخت کې له یوې ډېرې تونلونه کېدای شي، او دوه پروفایلونه کېدای شي یو ښودل کېدونکی نوم ولري. د tun مخکښ سره سمون ورکول مانا دا ده چې سکریپټ به په پای کې د هغې اړیکې لپاره چل شي چې هیڅوک نه غوښتل ورته لاس ووهي. همدارنګه کېدای شي یو پروفایل لپاره دوه ځله چل شي، کله چې بیا نښلېدل وسیله بیا جوړوي۔
دنده idempotent کړئ. هغه کال بیک چې په هر غوښتنه کې لاره زیاتوي، په پای کې جدول له تکرارونو ډکوي، او هماغه دویمه کاپي د لارښوونې ماتوونکې ده۔
پوه شئ چې فعالول څه نه ثابتوي
vpn-pre-up مخکې له دې چې NetworkManager د VPN بشپړ فعالېدل راپور کړي چلېږي، او مدیر د هغو سکریپټونو انتظار کوي. د بندېدو پړاو یوازې هغه وخت وکاروئ چې دنده واقعاً هلته اړه لري، ځکه ورو څېړنه هغه فعالول ځنډوي چې نور ټولې برخې د لیدلو انتظار کوي۔
د لارو شتون نه ثابتوي چې یو اپلیکیشن اورېدل کوي، یو خصوصي نوم حل کېږي، یا د کاروونکي ناسته شته. هغوی جلا د محدود وخت سره وګورئ، او د ټولې زنځیر له بیا هڅې پرځای راپور ورکړئ چې کومه پوړه پاتې راغله۔
د هغه چاپېریال درناوی وکړئ چې سکریپټ پکې چلېږي
د ډیسپچر سکریپټونه د root په توګه، له هرې کاروونکې ناستې بهر چلېږي. دا مه انګېرئ چې د ننوتلي کاروونکي چاپېریال، ګرافیکي ناسته یا پرانیستل شوی کییرینګ شته. هیڅوک نه باید د ډیسکټاپ چاپېریال نه شتون ته د دې په ځواب سره چې هر اعتبارنامه د هر بهیر لپاره لوستل کېدونکې شي، ځواب ووایي. د کاروونکې ناستې کار په کاروونکي خدمت یا د ناستې مرستېال کې وساتئ، چې کال بیک ورته د کاروونکي د بڼې پرته سیګنال ورکولی شي۔
د سکریپټ مالکیت او اجازې هم مهمې دي. هغه فایل چې د root په توګه چلېږي او هر کاروونکی یې بدلولی شي، د امتیازاتو لوړولو لاره ده، او دا یوه موندنه ده چې د VPN منطق له سمۍ سره تړاو نه لري۔
د هغه قطع کېدو لپاره پلان جوړ کړئ چې کله هم نه راځي
NetworkManager مستند کوي چې vpn-pre-down د اجباري قطع کېدو لپاره، لکه ناڅاپي پای یا د اړیکې له لاسه ورکول، نه خپرېږي. نو یوازې د نرم pre-down پر شاوخوا جوړ شوی پاکول په جوړښت کې نیمګړی دی. هر هغه شریکه حالت چې سکریپټ یې بدلوي بل مالک ته اړتیا لري چې له ټکر وروسته یې بېرته راولي، او هغه بیا رغونې لاره باید وازمویل شي نه انګېرل۔
هنګ د عادي اړیکې، بیا نښلېدو، قصدي قطع کېدو او راکش شوې کیبل سره وآزموئ. UUID، عمل او هغه انټرفیس چې وچلېده، پرته له دې چې رازونه ولیکئ، ثبت کړئ. هماغه ثبت یوازینی باوري شاهد دی چې هنګ ستاسو د غوښتل شوې اړیکې لپاره چل شوی، او هماغه راتلونکی بدلون خوندي کوي۔