د کور VPN د systemd ExecCondition په مرسته پرېښودل
په قصد پرېښودل او خرابه تیاري امر دوې بېلې پایلې دي. د مرستيال د وتلو کوډونه وټاکئ، بیا د شبکو ترمنځ تګ راتګ وآزمویئ.
کله چې لپ ټاپ لا دمخه په هغه شبکه کې وي، د کور شبکې VPN هیڅ کار نه لري. زړه راښکونکی لنډه لار هغه تیاري امر دی چې له غیر صفر کوډ سره وځي؛ دا واحد ناکاموي او هر ډشبورډ خراب ښکاري. systemd د همدې ډول پرېکړې لپاره یو لارښود لري، او قصداً پرېښل له ریښتیني خرابۍ جلا کوي. سم ترسره کول یې په عمده توګه دا دي چې ولیکو هر وتونکی کوډ څه معنا لري.
ولې ناکامه مخکینی شرط غلط شکل دی
ExecStartPre غیر صفر وتل د پیل ناکامي ګڼي، چې د خدمت د تیارولو امر لپاره سم دی. د شرط په توګه کارول یې سیاسي پرېکړه له خرابې تړاو څخه بې توپیره کوي. ExecCondition د دې لپاره دی چې واحد پرته له ناکام نښه کیدو د پیل کولو څخه انکار وکړي.
دا توپیر د شپې په درې بجو مهم دی، کله چې هیڅوک نه غواړي هغه سره واحد وڅیړي چې د ډیزاین له مخې چلند کاوه. ناکام واحد په قصد شویو ناکامیو کې ریښتیني خرابۍ هم پټوي.
لومړی د وتلو کوډونو تړون ولیکئ
تړون له سکریپټ مخکې ولیکئ. صفر وتل معنا دوام لري، یو وتل معنا پاتې پیل امرونه پرېږدي، او 255 وتل معنا خود شرط ونه توانید چل شي. د دوو او 254 ترمنځ کوډونه هم معمولاً پرېښل معنا لري، چې هیرول یې اسانه دي کله چې مرستيال ناڅاپي تېروتنه کوډ بیرته راولي. لاندې drop-in مرستيال د واحد ریښتیني نوم سره نښلوي.
[Service]
ExecCondition=/usr/local/libexec/should-start-home-vpnمخکې له دې چې ډیفالټ معنا فرض کړئ، اغیزمن واحد د میراثي SuccessExitStatus یا stop-post تنظیماتو لپاره وګورئ. بیا د دریو پایلو هر یوه په قصد وآزمویئ.
د شبکې اشاره د ځای ثبوت نه دی
رسیدلی روټر پته یا پیژندل شوی MAC کولای شي سمه شبکه وښیي، او هیڅ یې هم دا ثبوت نه کوي. بله شبکه کولای شي هغه پته بیا وکاروي، ARP معلومات زاړه کیدلای شي، او پیژندونکي کولای شي تقلید شي. ازموینه د پالیسۍ سره سمون لرونکې غوره والی وګڼئ، نه د تصدیق پایله.
دمخه پرېکړه وکړئ چې ناڅرګندتیا څه معنا لري. کله چې ډاډه نه یاست VPN پیلول هغه کلاینټ لپاره خوندي دي چې یوازې نشي نښلیدلی؛ کله چې ډاډه نه یاست پرېښل یې خوندي نه دي. ازموینه محدوده کړئ، او د لیست لومړی فرض کولو پرځای فعال انټرفیس ولولئ. هغه ازموینه چې ځړول کیږي د «نه» ځواب ورکوونکې ازموینې څخه بدتره ده، ځکه واحد د هغې انتظار کوي.
هغه انګیرنې د واحد فایل څنګ ته ثبت کړئ ترڅو بله کس پوه شي چې مرستيال څه مني. د سکریپټ په سر کې تبصره د هغوی د ساتلو ترټولو ارزانه ځای دی.
د شبکو ترمنځ تګ راتګ اداره کړئ
شرط هغه وخت چلیږي چې خدمت پیل شي، او وروسته بیا ارزول نه کیږي. پرېښل شوی واحد وروسته له دې چې لپ ټاپ کافيې ته لاړ هم پرېښل شوی پاتې کیږي، او روان تونل وروسته له دې چې لپ ټاپ کور ته راستون شي هم پورته پاتې کیږي. د شبکې بدلون ژوندلیک د جلا میکانیزم له لارې د پیل او ودرو پرېکړې سره ونښلوئ.
systemctl cat home-vpn.serviceڅلور حالتونه وآزمویئ: په کور کې پیل، له کوره بهر پیل، هغه ازموینه چې نشي چلیدلی، او د شبکو ترمنځ تګ راتګ هغه وخت چې واحد فعال دی. د پرېښلو دلیل په ژورنال کې ښکاره وساتئ ترڅو قصداً پرېکړه هیڅکله د تصدیق ناکامي په څیر ونه ښکاري. د خدمت حواله د وتلو معنا او لږترلږه نسخه مستند کوي.