په OpenVPN کې persist-tun او persist-key واقعاً څه ژوندي ساتي
دواړه اختیارونه په ژوندي پروسه کې دننه نرم بیا پیل پوښي۔ دوی د بندیدو وروسته انټرفېس نه ساتي، او د ټرافیک بندولو پالېسي نه دي۔
د خدمت بندول انټرفېس لرې کوي حتی که persist-tun تنظیم شوی وي۔ دا د اختیار د مستنداتو مطابق کار کول دي، نه ناکامي۔ اختیار په روانه پروسه کې دننه یو د بیا پیل لار تشریح کوي، او systemctl stop هغه لار نه ده۔
دواړه نومونه یوځای ولولئ او ډیزاین روښانه شي۔ یو ډیسکریپټر ساتي، بل د کیلي مواد ساتي، او دواړه د هغه څه له امله شته چې د امتیازاتو له پرېښودو وروسته پیښیږي۔
دوه سرچینې او هغه بیا تنظیم چې دوی ورته اړه لري
OpenVPN په دوو عادي حالتونو کې خپل بیا پیل ته اشاره کوي۔ روښانه SIGUSR1 دا کوي، او د مړ شریک له خوا رامنځته شوی ping-restart هماغه کار کوي۔ دواړه پروسه ژوندې ساتي او د اړیکې تنظیم بیا چلوي، او همالته اختیارونه خپل ځای ګټي۔
| Event | TUN/TAP device | Key and auth files | Addresses and routes | up/down hooks |
|---|---|---|---|---|
Soft reset, from SIGUSR1 or from a ping-restart the daemon sends itself | survives only with persist-tun | survive only with persist-key | survive with the device, otherwise rebuilt | run again only when restart hooks are enabled |
Configuration reload, SIGHUP | recreated | re-read from disk | rebuilt once the device returns | run again |
| Service stop | lost | re-read at the next start | removed | run at the next start |
یوازې د نرم بیا پیل کرښه هغه څه ده چې دا دوه اختیارونه یې بدلوي، او هغه کار چې دوی یې پرېږدي په بوخت لینک کې ګران برخه ده۔ د وسیلې بیا خلاصول د هغې سره تړلې پتې او لارې ماتوي، او بیا جوړول یې کیدای شي هغه پاکټونه وغورځوي چې د بیا پیل پیلیدو پر مهال په لار کې وو۔ بندیدل هماغه شیان د ساتلو له کوم اختیار پرته له منځه وړي۔
دا اختیارونه اصلاً ولې شته
کلک شوی OpenVPN سرور معمولاً د root په توګه پیل کیږي، خپلې کیلي او خپله وسیله خلاصوي، بیا بې امتیازه کارونکي ته ځي۔ له دې تګ وروسته ځینې عملیات په ساده ډول ورک شي۔ د 0600 حالت کیلي فایل لوستل، د شبکې انټرفېس جوړول یا د لارو بدلول ټول کیدای شي رد شي۔
د persist اختیارونو پرته، هغه شریک چې د ping-restart رامنځته کولو لپاره کافي وخت غلی وي، هماغه عملیات به زورمن کړي۔ بیا نښلیدل به ناکام شي حتی که په ترتیب کې هېڅ نه وي بدل شوی۔ پروسه به داسې ښکاري چې بې سببه مري، او لاګ به د شبکې تېروتنې پر ځای د اجازې تېروتنه وښیي۔
له دوی سره، نرم بیا پیل هغه څه بیا کاروي چې امتیازلرونکې پړاو مخکې ترلاسه کړي دي۔ هیڅ جادو نشته او پروسه له هېڅ څخه ژوندي نه پاتې کیږي۔ د سرچینو ترلاسه کول یوازې وروسته اخیستل کیږي۔
لومړنۍ تېروتنه ولولئ، نه وروستنۍ
کله چې بیا پیل ناکام شي، لومړنۍ تېروتنه ولولئ نه وروستنۍ۔ ساتل شوې کیلي، auth فایل، د انټرفېس ioctl او بهرنی کنډک څلور بېلې سرچینې دي۔ یو ساتل د نورو ته د لاسرسي په اړه هېڅ نه وایي۔ هغه کنډک چې د فایر وال وسیله رابولي لا هم هغه امتیازات غواړي چې هغه وسیله یې غواړي۔
کنډکونه خپل سویچ لري۔ د OpenVPN لارښود persist اختیارونه له up-restart سره یوځای کوي، کوم چې پرېکړه کوي چې ایا up او down سکریپټونه د بیا پیل وروسته بیا چلیږي۔ نو پورته پاتې انټرفېس تاسو ته د دې په اړه هېڅ نه وایي چې ایا ستاسو د ریزولور ادغام تازه شو۔
# which restart path just happened?
journalctl -u openvpn-client@office --since '10 min ago' | grep -E 'SIGUSR1|ping-restart|Restart pause|NOTE:'
# did the interface survive, and do its routes still exist?
ip -brief link show tun0
ip route show dev tun0
دا دوه حکمونه په ثانیو کې دوه ناکامۍ طریقې بېلوي۔ هغه انټرفېس چې شته خو لارې ورته ورکې دي د کنډک یا لارې ستونزه ده۔ هغه انټرفېس چې ورک شو مانا دا چې پروسه واقعاً پای ته رسیدلې۔
ساتل شوی انټرفېس kill switch نه دی
که غوښتنه دا وي چې ټرافیک باید هېڅکله له تونل بهر ونه وځي، ساتل شوې وسیله دا نه برابروي۔ د بلې پتې کورنۍ لارې، دوهمه اصلي لار، او هغه حالت چې پروسه بشپړه ووځي ټول د اختیار له حد بهر پاتې کیږي۔
دواړه غوښتنې جلا اداره کړئ۔ د تونل شي د بیا نښلیدلو ترمنځ ساتل د ډیمون لپاره اسانتیا ده۔ کله چې تونل ښکته وي د وتلو بندول د خپلو قاعدو او خپلې ازموینې سره د فایر وال پالېسي ده۔ د دوی ګډول داسې ترتیب جوړوي چې دفاعي ښکاري او د غوره هڅې بیا نښلیدلو په څیر چلند کوي۔
تر تشخيص مخکې پیښې ته نوم ورکړئ۔ نرم بیا پیل، ناکام د اړیکې هڅه او د خدمت بندول درې پیښې دي چې درې چلندونه لري، او یوازې لومړنۍ هغه ده چې دا اختیارونه یې تشریح کوي۔