OpenVPN ku yaal VPS: ma jiro aaladda /dev/net/tun ee la furo
Dejinta badanaa way fiican tahay: martidu ma arko aaladda tun. Kala saar inuu VM yahay ama weel wadaaga kernelka, ka dib hagaaji lakabka leh kernelka.
Bilowga ugu horreeya wuu guuldareystaa fariin ku saabsan /dev/net/tun ama aaladda TUN/TAP oo aan la furan karin. Shahaadooyinka wali lama akhrin, sidaas darteed waxba profile-ka kama xuma. Daemonku wuxuu kernelka waydiinayaa shay martidan aan haysan.
Shaygaas waa aaladda xarafka oo ay bixiso module-ka tun. Inaad abuuri karto waxay ku xiran tahay yaa leh kernelka.
Waxa daemonku kernelka waydiisto
OpenVPN wuxuu furaa /dev/net/tun oo wuxuu driverka waydiistaa interface. Driverku waa module-ka tun, gunta aaladduna waa gacan-qabka uu isticmaaluhu ku gaaro. Haddii module-ku aanu furayrnayn, guntu way maqnaan kartaa ama furitaanku wuu guuldareysan karaa. Labada xaaladood laguma hagaajiyo beddelka server.conf.
Akhri khaladkan marka hore su'aal ku saabsan platformka. Khaladka dejintu wuxuu soo baxaa ka dib furitaanka aaladda, horteeda ma aha.
VM ama marti wadaagta kernelka
KVM, Xen ama mishiin kale oo buuxa oo virtual ah, kernelka adigaa maamula. Waad soo rari kartaa modules oo waad abuuri kartaa guntan. OpenVZ, Virtuozzo ama weel LXC ah, martidu waxay wadaagtaa kernelka host-ka, sidaas darteed root gudaha kuma rari karo module uusan host-ku soo rarin.
Sidaas darteed isla guuldaradaas waxay leedahay laba mulkiile oo aad u kala duwan. Xaaladda koowaad waad ka hagaajin kartaa gudaha instance-ka. Tan labaad waxaad waydiisanaysaa host-ka ama bixiyaha inuu wax soo bandhigo.
Ka hor inta aadan go'aansan xaaladda aad ku jirto, orod ls -l /dev/net/tun, lsmod | grep tun iyo ip -brief link show.
VM ku rari module-ka waqtiga boot-ka
Mishiinka virtual ah modprobe tun badanaa wuxuu abuuraa guntan aaladda. Hubi inay soo baxday, ka dibna rarista ka dhig mid joogto ah iyada oo loo marayo dejinta modules-ka distribution-ka halkii aad ku tiirsanaan lahayd amar hal mar la qoray. Guntu baaba'da ka dib dib-u-bilow waxay noqoneysaa tikit isla bisha soo socota.
Sidoo kale hubi in kernelka aad boot-ka ku samaysay uu module-kaas hayo. Kernel vendor la jarjaray ayaa laga yaabaa inuusan haysan.
Haddii guntu jirto laakiin furitaanku wali guuldareysto, tuhmanaha xiga waa ogolaanshaha iyo lambarrada major/minor ee aaladda. Kuwaasi waa hagaajin maxalli ah, ma aha codsi bixiyaha.
Weelka dhexdiisa aaladdu waxay leedahay host-ka
Weelka dhexdiisa aaladda iyo awooddu waa laba shuruudood oo gaar ah. Runtime-ku waa inuu dhaafsiyo /dev/net/tun, weelkuna wuxuu u baahan yahay awoodda shabakadda si uu interface u abuuro. Runtime rootless ah oo aan midkoodna siinin wuxuu sii wadi doonaa soo saarista isla khaladka furitaanka, si kasta oo profile-ka loo qoro. Hosts badan oo OpenVZ ah waxay panel-ka macmiilka ku bixiyaan toggle TUN/TAP, daarnaa iyo dib-u-bilow ayaa badanaa ah xalka oo dhan.
Weydii bixiyaha laba su'aalood oo sax ah: module-ka tun ma ku raran yahay host-ka, oo aaladdu ma ku heli kartaa gudaha instance-kan? Tikit aan caddayn waxay helaa jawaab aan caddayn.
Sababta dib-u-dhiska module-ku marar dhif ah u caawiyo
Dhisidda module gudaha martida marar dhif ah ayay caawisaa. Compile-ku wuxuu u baahan yahay dejinta kernelka saxda ah ee socda, /proc/config.gz na waa ikhtiyaari oo badanaa kama maqan yahay sawirada yar yar. Xitaa module shaqeeya lama gelin karo kernel uusan weelku lahaanin.
Marka aaladdu soo baxdo, dib u bilow adeegga oo xaqiiji interface-ka ka hor inta aadan tijaabin taraafikada. Aragtida tun0 waxay muujineysaa in daemonku furay aaladda. Weli wax kama sheegayso gudbinta, xeerarka firewall ama dariiqyada macaamiisha helaan.
Kuwani waa su'aalo gaar ah oo leh caddaymo gaar ah. Aaladda maqan waa guuldarro shuruud hore; tunnel jira laakiin waxba qaadin waa guuldarro siyaasad.