[OmniOS-discuss] Tun/Tap device installed but not showing up on OmniOS

Andries Annema an3s.annema at gmail.com
Mon Oct 24 19:04:07 UTC 2016


Hello there, guys,

THE PROBLEM IN SHORT or TL;DR:
I have installed the tun/tap device within the global zone of a r151014 
machine, but the /dev/tun and /dev/tap devices don't show up. What am I 
missing here?


THE PROBLEM IN MORE DETAIL:
I'm trying to get OpenVPN up and running as a server from within a 
non-global zone. For this the TUN/TAP device driver is needed within the 
global zone and passed on to the non-global zone. Seems straight 
forward, and I actually did succeed on one system, but my main 
production server is playing tricks on me.

As I'm not running just one OmniOS server anymore, it seemed obvious 
that I needed my own package repository and not build software from 
source on each production server.
So, this is what I did - at first, all of it on a virtual OmniOS r151014 
machine:
1. Set up a local IPS package repository within another NGZ,
2. set up a build environment within even another NGZ,
3. within the build environment, I downloaded the TUN/TAP source code 
from https://github.com/kaizawa/tuntap
4. configure --prefix=/proto/install/path/, make, make install
5. Created a manifest, specify package contents, etc etc, "pkglint" to 
verify before publishing,
6. and published the package to my local repo.
7. Then from the global zone on this VM, with "pkg set-publisher" I 
added this repo,
8. and installed my brand new tuntap-package with "pkg install 
network/tuntap".
9. to verify "ls -l /dev/tun /dev/tap" and indeed the devices showed up. 
And not just these links, but also the actual devices listed under 
"/devices/pseudo/clone at 0:[tun|tap]". Awesome! My very first built and 
published package!

Now, to get more serious, I repeated all this on my actual production 
server. But there it goes funny at step 9: the devices don't show up. 
The files that are included within the IPS package however, are indeed 
installed. No error/warning during install whatsoever. Reinstalled the 
tuntap a few times. No effect. Rebooted the system and reinstalled. 
Still no effect.
The system hadn't been updated in over a year (431 days uptime...), so I 
figured maybe I'm missing a package or something. I uninstalled the 
tuntap-device, updated the system, tried again: still no luck.
Fiddling around with "modinfo" and "modload" didn't help either: 
"modinfo" doesn't show up a tun or tap device and "modload" is unable to 
load it.

Then I tried step 7-9 on a second and quite similarly build OmniOS 
r151014 system, a system that is much younger and had all its packages 
up to date to begin with (not that I'm sure that the cause of the 
problem lies in there, but it usually is a good/better starting point) 
and guess what? Two beautiful new devices are listed at /dev/tun and 
/dev/tap.
Here, also "modinfo" shows nicely a tun and a tap device.


So my questions are:
A. Where do I have to look for feedback/logs on the installation 
procedure to get more insight, if any, on where it failed? (The whole 
logging on Unix/Linux and alikes is one of many subjects that I have to 
master sometime).
B. How come it does install nicely on one system, but does not on 
another (seemingly identical or at least very similar) system?
C. The most important question: how can I get these devices actually 
showing up?

Any help would be greatly appreciated! Thanks.
We only learn by making mistakes and screwing things up, right! ;)

Regards,
Andries



More information about the OmniOS-discuss mailing list