OpenVPN VPS:llä: /dev/net/tun-laitetta ei voi avata
Kokoonpano on yleensä kunnossa: vieras ei näe tun-laitetta. Erota VM jaetun ytimen kontista ja korjaa sitten kerros, jolle ydin kuuluu.
Ensimmäinen käynnistys epäonnistuu viestiin /dev/net/tun-laitteesta tai TUN/TAP-laitteesta, jota ei voi avata. Varmenteita ei ole vielä luettu, joten mikään profiilissa ei ole epäilyksen alaista. Daemon pyytää ytimeltä objektia, jota tällä vieraalla ei ole.
Tuo objekti on merkkilaite, jota tun-moduuli tukee. Voitko luoda sen, riippuu siitä, kuka omistaa ytimen.
Mitä daemon pyytää ytimeltä
OpenVPN avaa /dev/net/tun-laitteen ja pyytää ajurilta rajapintaa. Ajuri on tun-moduuli, ja laitesolmu on kahva, jolla käyttäjäavaruus tavoittaa sen. Jos moduulia ei ole ladattu, solmu voi puuttua tai avaaminen voi epäonnistua. Kumpaakaan tilaa ei korjata muokkaamalla tiedostoa server.conf.
Lue virhe ensin alustakysymyksenä. Kokoonpanovirhe ilmenee vasta, kun laite on avattu, ei ennen sitä.
VM vai jaetun ytimen vieras
KVM:llä, Xenillä tai muulla täydellä virtuaalikoneella sinä hallitset ydintä. Voit ladata moduuleja ja luoda solmun. OpenVZ:ssä, Virtuozzossa tai LXC-tyylisessä kontissa vieras jakaa isäntakoneen ytimen, joten sisällä oleva root ei voi ladata moduulia, jota isäntä ei ole ladannut.
Samalla virheellä on siis kaksi hyvin erilaista omistajaa. Ensimmäisessä tapauksessa voit korjata sen instanssin sisältä. Toisessa pyydät isäntää tai palveluntarjoajaa paljastamaan jotain.
Suorita ls -l /dev/net/tun, lsmod | grep tun ja ip -brief link show ennen kuin päätät, kummassa tapauksessa olet.
VM:llä lataa moduuli käynnistyksen yhteydessä
Virtuaalikoneella modprobe tun luo yleensä laitesolmun. Varmista, että se ilmestyy, ja tee latauksesta sitten pysyvä jakelun moduulikokoonpanon kautta sen sijaan, että luottaisit kerran kirjoitettuun komentoon. Solmu, joka katoaa uudelleenkäynnistyksen jälkeen, muuttuu ensi kuussa samaksi tiketiksi.
Tarkista myös, onko käynnistämässäsi ytimessä moduuli ylipäätään. Karsitulta toimittajan ytimeltä se voi puuttua.
Jos solmu on olemassa mutta avaaminen epäonnistuu edelleen, seuraavat epäillyt ovat oikeudet ja laitteen major/minor-numerot. Ne ovat paikallisia korjauksia, eivät pyyntöjä palveluntarjoajalle.
Kontissa laite kuuluu isännälle
Kontissa laite ja kyvykkyys ovat kaksi erillistä vaatimusta. Runtimen täytyy välittää /dev/net/tun läpi, ja kontti tarvitsee verkkokyvykkyyden rajapinnan luomiseen. Rootiton runtime, joka ei anna kumpaakaan, tuottaa edelleen saman avausvirheen riippumatta siitä, miten profiili on kirjoitettu. Monet OpenVZ-isännät näyttävät TUN/TAP-kytkimen asiakaspaneelissa, ja sen käyttöönotto sekä uudelleenkäynnistys on usein koko ratkaisu.
Kysy palveluntarjoajalta kaksi täsmällistä kysymystä: onko tun-moduuli ladattu isännälle, ja onko laite käytettävissä tämän instanssin sisällä? Epämääräinen tiketti saa epämääräisen vastauksen.
Miksi moduulin uudelleenrakentaminen harvoin auttaa
Moduulin rakentaminen vieraan sisällä auttaa harvoin. Kääntäminen vaatii täsmälleen käynnissä olevan ytimen kokoonpanon, ja /proc/config.gz on valinnainen ja puuttuu usein minimaalisista levykuvista. Edes toimivaa moduulia ei voi lisätä ytimeen, jota kontti ei omista.
Kun laite ilmestyy, käynnistä palvelu uudelleen ja vahvista rajapinta ennen liikenteen testaamista. tun0 näkeminen osoittaa, että daemon avasi laitteen. Se ei vielä kerro mitään edelleenohjauksesta, palomuurisäännöistä tai reiteistä, jotka asiakkaat saavat.
Ne ovat erillisiä kysymyksiä erillisine todisteineen. Puuttuva laite on esiehdon laiminlyönti; tunneli, joka on olemassa mutta ei kuljeta mitään, on käytäntövirhe.