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 jezgra objekt koji ovaj gost nema.

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

Šta demon traži od jezgra

OpenVPN otvara /dev/net/tun i traži od drajvera interfejs. Drajver je modul tun, a čvor uređaja je ručka kojom korisnički prostor do njega dolazi. Ako modul nije učitan, čvor može nedostajati ili otvaranje može ne uspjeti. Niti jedan uslov se ne popravlja uređivanjem server.conf.

Grešku prvo č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 virtuelnoj mašini vi kontrolišete jezgro. Možete učitati module i stvoriti čvor. Na OpenVZ-u, Virtuozzu ili kontejneru u stilu LXC gost dijeli jezgro hosta, pa root unutra ne može učitati modul koji host nije učitao.

Isti kvar tako ima dva vrlo različita vlasnika. U prvom slučaju ga možete popraviti iz same instance. U drugom tražite od hosta ili provajdera 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 virtuelnoj 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 komandu otkucanu jednom. Čvor koji nestane nakon restarta pretvara se u isti tiket sljedećeg mjeseca.

Provjerite i da jezgro koje ste podigli uopšte ima modul. Okrnjeno jezgro dobavljača može ga ne imati.

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

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 interfejsa. 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 plus restart često je cijelo rješenje.

Pitajte provajdera dva precizna pitanja: je li modul tun učitan na hostu i je li uređaj dostupan unutar ove instance? Neodređen tiket dobija neodređen odgovor.

Zašto ponovna izgradnja modula rijetko pomaže

Izgradnja modula unutar gosta rijetko pomaže. Kompilacija zahtijeva konfiguraciju tačno pokrenutog jezgra, a /proc/config.gz je opcionalan i često odsutan na minimalnim slikama. Čak i radni modul ne može se umetnuti u jezgro koje kontejner ne posjeduje.

Nakon što se uređaj pojavi, restartujte servis i potvrdite interfejs prije testiranja saobraćaja. 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 dobijaju.

To su odvojena pitanja s odvojenim dokazima. Nedostajući uređaj je neispunjen preduslov; tunel koji postoji ali ništa ne nosi je neuspjeh politike.

Povezani članci