په VPS کې OpenVPN: د /dev/net/tun وسیله نشته چې پرانیستل شي
ترتیب معمولاً سم دی: مېلمه د tun وسیله نه ویني. دا وټاکئ چې VM دی که د کرنل شریکولو کانټینر، بیا هغه پوړ سم کړئ چې کرنل لري.
لومړی پیل د /dev/net/tun یا د TUN/TAP وسیلې په اړه د پیغام سره ناکامېږي چې نه پرانیستل کېږي۔ سندونه لا نه دي لوستل شوي، نو په پروفایل کې هیڅ شی نه دی ملامت۔ ډیمون له کرنل څخه هغه شی غواړي چې دا مېلمه یې نه لري۔
هغه شی یو کرکټر وسیله ده چې د tun ماډل لخوا ملاتړ کېږي۔ دا چې تاسو یې جوړولی شئ که نه، په دې پورې اړه لري چې کرنل د چا ملکیت دی۔
ډیمون له کرنل څخه څه غواړي
OpenVPN /dev/net/tun پرانیزي او له ډرایور څخه انټرفیس غواړي۔ ډرایور tun ماډل دی، او د وسیلې نوډ هغه لاستی دی چې کاروونکي فضا پرې هغه ته رسیږي۔ که ماډل نه وي بار شوی، نوډ ممکن نه وي یا پرانیستل ناکام شي۔ دواړه حالتونه د server.conf په سمون سره نه جوړیږي۔
دا تېروتنه لومړی د پلیټفارم په اړه پوښتنه وګڼئ۔ د ترتیب تېروتنه د وسیلې له پرانیستلو وروسته ښکاري، نه مخکې۔
VM یا د کرنل شریکولو مېلمه
په KVM، Xen یا بله بشپړه مجازي ماشین کې کرنل ستاسو په کنټرول کې دی۔ تاسو کولی شئ ماډلونه بار کړئ او نوډ جوړ کړئ۔ په OpenVZ، Virtuozzo یا د LXC سټایل کانټینر کې مېلمه د کوربه کرنل شریکوي، نو دننه root نشي کولی هغه ماډل بار کړي چې کوربه یې نه وي بار کړی۔
نو همدا ناکامي دوه بشپړ بېل مالکان لري۔ په لومړي حالت کې تاسو یې د انسټانس له دننه سمولی شئ۔ په دویم کې تاسو له کوربه یا چمتو کوونکي څخه غواړئ چې یو څه ښکاره کړي۔
مخکې له دې چې پرېکړه وکړئ په کوم حالت کې یاست، ls -l /dev/net/tun، lsmod | grep tun او ip -brief link show چل کړئ۔
په VM کې ماډل د بوټ په وخت بار کړئ
په مجازي ماشین کې modprobe tun معمولاً د وسیلې نوډ جوړوي۔ وګورئ چې ښکاره شو، بیا بارول د ویش توزیع د ماډل ترتیب له لارې تلپاتې کړئ، نه دا چې یو ځل ټایپ شوې فرمان باندې تکیه وکړئ۔ هغه نوډ چې د بیا پیل وروسته ورک شي، بله میاشت هماغه ټیکټ کیږي۔
دا هم وګورئ چې هغه کرنل چې تاسو بوټ کړی په بشپړ ډول دا ماډل لري که نه۔ پرې شوی د عرضه کوونکي کرنل ممکن دا ونه لري۔
که نوډ شته خو پرانیستل بیا هم ناکامېږي، نو راتلونکي شکونه اجازې او د وسیلې major/minor شمېرې دي۔ دا سیمه ییز سمونونه دي، نه د چمتو کوونکي ته غوښتنې۔
په کانټینر کې وسیله د کوربه ده
په کانټینر کې وسیله او وړتیا دوه جلا اړتیاوې دي۔ Runtime باید /dev/net/tun تېر کړي، او کانټینر ته د انټرفیس جوړولو لپاره د شبکې وړتیا ته اړتیا ده۔ بې روټ runtime چې دواړه نه ورکوي، به هماغه د پرانیستلو تېروتنه تولیدوي، هر څنګه چې پروفایل لیکل شوی وي۔ ډیری OpenVZ کوربه د پیرودونکي پینل کې د TUN/TAP ټوګل وړاندې کوي، او د هغې فعالول او بیا پیل اکثراً ټول حل وي۔
له چمتو کوونکي دوه دقیقې پوښتنې وکړئ: ایا tun ماډل په کوربه بار شوی او ایا وسیله د دې انسټانس دننه شته؟ مبهم ټیکټ مبهم ځواب ترلاسه کوي۔
ولې د ماډل بیا جوړول نادراً مرسته کوي
د مېلمه دننه د ماډل جوړول نادراً مرسته کوي۔ کمپایل د هغه کرنل دقیق ترتیب غواړي چې اوس روان دی، او /proc/config.gz اختیاري دی او په لږو عکسونو کې اکثراً نه وي۔ حتی کار کوونکی ماډل هم په هغه کرنل کې نه شي اچول کېدای چې کانټینر یې مالک نه دی۔
کله چې وسیله ښکاره شي، خدمت بیا پیل کړئ او مخکې له دې چې ترافیک وازموئ انټرفیس تایید کړئ۔ tun0 لیدل ښیي چې ډیمون وسیله پرانیستله۔ دا لا تر اوسه د لیږد، د اورېدونکي دیوال قواعدو یا هغو لارو په اړه چې پیرودونکي ترلاسه کوي هیڅ نه وایي۔
دا جلا پوښتنې دي چې جلا شواهد لري۔ د وسیلې نه شتون د مخکیني شرط ناکامي ده؛ تونل چې شته خو هیڅ نه وړي، د پالیسۍ ناکامي ده۔