Hello all,
I'm using OpenVPN on OpenSolaris (SXCE b129) as a router for a few years now, and it works reliably for a number of remote clients (staff from home, etc.) The setup uses Kazuyoshi's TUN/TAP driver for Solaris:
http://www.whiteboard.ne.jp/~admin2/tuntap/ which in turn is a modification of the "Universal TUN/TAP driver":
http://vtun.sourceforge.net/tun/ .
One noted problem of our setup is the abysmal performance. For example, I can rsync at about 800-900KBps from a server behind this router's firewall without OpenVPN, but over the tunnel speeds drop to 100-300KBps. Worse limitations - down to 60-100KBps (though expected after reading the forums, blogs and docs) happen for CIFS over OpenVPN. We've tried playing with MTU and stuff, but to no avail. Besides, it would be cumbersome to require all our partners and employees to change their OpenVPN client configurations (RFE hint: some config options should be pushed by server and link establishment).
In some sources it was implied that while some performance degradation may be due to OpenSSL operating on small packets, or TCP/UDP flow control mismatches, or MTU and fragmentations, much of the rest can be blamed on the TUN/TAP interface software - which is made differently for different OSes, often by different authors, and performs - well - differently.
I wanted to try using OpenVPN with OpenSolaris ClearView/CrossBow tunneling interfaces, which are around for a while now (since OpenSolaris build 125, that's about 3 years now). These interfaces present IP-in-IP tunnels, they require knowledge of endpoints' IP addresses, and are configured by commands like this:
# dladm create-iptun -t -T ipv4 -s $LocalIP -d $RemoteIP
It is possible to separately configure IPSec security for the tunnel.
I don't yet know any further details, like requirements for the second side of the tunnel (what software should implement it) or transport protocols used.
Question is: is it known whether these tunnels are compatible with TUN/TAP interfaces used by OpenVPN (on windows, linux, solaris, etc.) and/or if they provide better performance? 😉
Another question is how would I go about integrating support for these OpenSolaris interfaces, if they are not yet directly useable by OpenVPN - should I conjure up some "up" and "down" scripts, or modify "tun.c" of OpenVPN?
Thanks for any hints,
//Jim