OpenVPN fuq VPS: l-ebda apparat /dev/net/tun x'jinfetaħ
Il-konfigurazzjoni normalment tkun tajba: il-guest ma jarax l-apparat tun. Iddistingwi VM minn container b'kernel kondiviż, imbagħad sewwi s-saff li jippossjedi l-kernel.
L-ewwel tluq ifalli b'messaġġ dwar /dev/net/tun jew apparat TUN/TAP li ma jistax jinfetaħ. Iċ-ċertifikati għadhom ma nqrawx, għalhekk xejn fil-profil mhu ħażin. Id-daemon qed jitlob mill-kernel oġġett li dan il-guest m'għandux.
Dak l-oġġett huwa apparat ta' karattri sostnut mill-modulu tun. Jekk tistax toħolqu jiddependi minn min jippossjedi l-kernel.
X'jitlob id-daemon mill-kernel
OpenVPN jiftaħ /dev/net/tun u jitlob lill-driver interface. Id-driver huwa l-modulu tun, u n-nodu tal-apparat huwa l-pum li bih l-ispazju tal-utent jilħqu. Jekk il-modulu mhuwiex mgħobbi, in-nodu jista' jkun nieqes jew il-ftuħ jista' jfalli. L-ebda waħda mill-kundizzjonijiet ma tiġi msewwija billi timmodifika server.conf.
Aqra dan l-iżball l-ewwel bħala mistoqsija dwar il-pjattaforma. Żball ta' konfigurazzjoni jidher wara li l-apparat jinfetaħ, mhux qabel.
VM jew guest b'kernel kondiviż
Fuq KVM, Xen jew magna virtwali sħiħa oħra int tikkontrolla l-kernel. Tista' tgħabbi moduli u toħloq in-nodu. Fuq OpenVZ, Virtuozzo jew container stil LXC, il-guest jaqsam il-kernel tal-host, għalhekk root ġo fih ma jistax jgħabbi modulu li l-host ma għabbiex.
L-istess falliment għalhekk għandu żewġ sidien differenti ħafna. Fl-ewwel każ tista' tissewwih minn ġewwa l-istanza. Fit-tieni qed titlob lill-host, jew lill-fornitur, jesponi xi ħaġa.
Mexxi ls -l /dev/net/tun, lsmod | grep tun u ip -brief link show qabel tiddeċiedi f'liema każ int.
Fuq VM, għabbi l-modulu waqt it-tnedija
Fuq magna virtwali, modprobe tun normalment joħloq in-nodu tal-apparat. Ivverifika li jidher, imbagħad agħmel it-tagħbija permanenti permezz tal-konfigurazzjoni tal-moduli tad-distribuzzjoni minflok tiddependi fuq kmand ittajpjat darba. Nodu li jisparixxi wara reboot isir l-istess tikket ix-xahar id-dieħel.
Ivverifika wkoll li l-kernel li tlaqt għandu l-modulu xejn xejn. Kernel tal-fornitur imnaqqas jista' ma jkollux.
Jekk in-nodu jeżisti imma l-ftuħ għadu jfalli, il-permessi u n-numri major/minor tal-apparat huma l-imputati li jmiss. Dawk huma tiswijiet lokali, mhux talbiet lill-fornitur.
F'container, l-apparat huwa tal-host
F'container, l-apparat u l-kapaċità huma żewġ rekwiżiti separati. Ir-runtime irid jgħaddi /dev/net/tun, u l-container jeħtieġ il-kapaċità tan-netwerk biex joħloq interface. Runtime rootless li ma jagħti l-ebda waħda se jkompli jagħmel l-istess żball tal-ftuħ, ikun kif ikun miktub il-profil. Ħafna hosts OpenVZ joffru toggle TUN/TAP fil-pannell tal-klijent, u li tixgħel u terġa' tibda spiss tkun is-soluzzjoni kollha.
Staqsi lill-fornitur żewġ mistoqsijiet preċiżi: il-modulu tun huwa mgħobbi fuq il-host, u l-apparat huwa disponibbli ġewwa din l-istanza? Tikket vag jieħu tweġiba vaga.
Għaliex jerġa' jinbena l-modulu rari jgħin
Bini ta' modulu ġewwa l-guest rari jgħin. Il-kompilazzjoni teħtieġ il-konfigurazzjoni eżatta tal-kernel li qed jaħdem, u /proc/config.gz huwa fakultattiv u spiss nieqes fuq immaġni minimi. Anke modulu li jaħdem ma jistax jiddaħħal f'kernel li l-container ma jippossjedix.
Wara li l-apparat jidher, erġa' ibda s-servizz u kkonferma l-interface qabel ma tittestja t-traffiku. Li tara tun0 juri li d-daemon fetaħ l-apparat. Għadu ma jgħid xejn dwar forwarding, regoli tal-firewall jew ir-rotot li jirċievu l-klijenti.
Dawn huma mistoqsijiet separati b'evidenza separata. Apparat nieqes huwa falliment ta' prerekwiżit; tunnel li jeżisti imma ma jġorr xejn huwa falliment ta' politika.