Prvo pokretanje ne uspijeva s porukom o /dev/net/tun ili TUN/TAP uređaju koji se ne može otvoriti. Certifikati još nisu pročitani, pa ništa u profilu nije osumnjičeno. Demon traži od jezgre objekt koji ovaj gost nema.

Taj je objekt znakovni uređaj koji podržava modul tun. Možete li ga stvoriti zavisi od toga ko posjeduje jezgru.

Što demon traži od jezgre

OpenVPN otvara /dev/net/tun i traži od upravljačkog programa sučelje. Upravljački program je modul tun, a čvor uređaja je ručka kojom se korisnički prostor njime služi. Ako modul nije učitan, čvor može nedostajati ili otvaranje može ne uspjeti. Nijedno od tih stanja ne popravlja se uređivanjem server.conf.

Grešku najprije čitajte kao pitanje platforme. Greška konfiguracije pojavljuje se nakon što se uređaj otvori, ne prije.

VM ili gost sa dijeljenim jezgrom

Na KVM-u, Xen-u ili drugoj punoj virtualnoj mašini vi upravljate jezgrom. Možete učitati module i stvoriti čvor. Na OpenVZ-u, Virtuozzu ili kontejneru u stilu LXC gost dijeli jezgru hosta, pa root unutra ne može učitati modul koji host nije učitao.

Ista greška stoga ima dva vrlo različita vlasnika. U prvom je slučaju možete popraviti iz same instance. U drugom tražite od hosta ili pružatelja usluge da nešto izloži.

Pokrenite ls -l /dev/net/tun, lsmod | grep tun i ip -brief link show prije nego odlučite u kojem ste slučaju.

Na VM-u učitajte modul pri podizanju

Na virtualnoj mašini modprobe tun obično stvara čvor uređaja. Provjerite da se pojavi, pa učitavanje učinite trajnim kroz konfiguraciju modula distribucije umjesto da se pouzdate u naredbu otkucanu jednom. Čvor koji nestane nakon restarta pretvara se u isti zahtjev sljedećeg mjeseca.

Provjerite i ima li jezgra koju ste podigli modul uopće. Okrnjena jezgra dobavljača može ga nemati.

Ako čvor postoji ali otvaranje još ne uspijeva, dozvole i major/minor brojevi uređaja sljedeći su osumnjičeni. To su lokalne popravke, ne zahtjevi pružatelju.

U kontejneru host posjeduje uređaj

U kontejneru su uređaj i sposobnost dva odvojena zahtjeva. Runtime mora propustiti /dev/net/tun, a kontejneru treba mrežna sposobnost za stvaranje sučelja. Rootless runtime koji ne daje nijedno od toga nastavit će proizvoditi istu grešku otvaranja kako god profil bio napisan. Mnogi OpenVZ hostovi prikazuju TUN/TAP prekidač u korisničkom panelu, a njegovo uključivanje uz restart često je cijelo rješenje.

Pitajte pružatelja dva precizna pitanja: je li modul tun učitan na hostu i je li uređaj dostupan unutar ove instance? Neodređen zahtjev dobiva neodređen odgovor.

Zašto ponovna izgradnja modula rijetko pomaže

Izgradnja modula unutar gosta rijetko pomaže. Kompilacija zahtijeva konfiguraciju točno pokrenute jezgre, a /proc/config.gz je neobavezan i često odsutan na minimalnim slikama. Čak se i radni modul ne može umetnuti u jezgru koju kontejner ne posjeduje.

Nakon što se uređaj pojavi, restartajte servis i potvrdite sučelje prije testiranja prometa. Viđenje tun0 pokazuje da je demon otvorio uređaj. To još ništa ne govori o prosljeđivanju, firewall pravilima ili rutama koje klijenti dobivaju.

To su odvojena pitanja s odvojenim dokazima. Uređaj koji nedostaje je neispunjen preduvjet; tunel koji postoji ali ništa ne nosi neuspjeh je politike.

Povezani članci