OpenSolaris 2008.11 ist gerade veröffentlicht worden, Zeit für eine echte Testfahrt. OpenVPN ist eine attraktive Alternative zu IPsec oder proprietären VPN Lösungen wie PPTP. Was bei Windows und Linux kinderleicht zu installieren ist, ist bei so „jungen“ Betriebssystemen wie OpenSolaris etwas aufwendiger.

Im Grund benötigt man für OpenSolaris den TUN/TAP Treiber, weiterhin läuft der GCC nicht mit der Rolle root, sondern nur wenn der User root existiert. Im folgenden wird der Ablauf für OpenSolaris auf einem 64 bit System skizziert.Installation von GCC auf OpenSolaris:

rolemod -K type=normal root
pkg install SUNWgcc

Installation des TUN/TAP Treiber fürs OpenSolaris 2008

Download von http://www.whiteboard.ne.jp/~admin2/tuntap/ und auspacken nach /usr/local/src

mkdir -p /usr/local/src
cd /usr/local/src
wget http://www.whiteboard.ne.jp/~admin2/tuntap/source/tuntap/tuntap.tar.gz
tar xzf tuntap.tar.gz
chown -R root:root tuntap
cd tuntap
./configure

Bei 64 bit System ist das Makefile anschließend noch zu patchen, dabei ist die Variable LDFLAGS hinzuzufügen und $(LD) durch $(LD) $(LDFLAGS) zu ersetzen:

LDFLAGS = -melf_x86_64
...
modules: tun.o tap.o
        $(LD) $(LDFLAGS) -r -o tun tun.o
        $(LD) $(LDFLAGS) -r -o tap tap.o

Anschließend kommt das gewohnt „make“ und „make install“.

Installation von OpenVPN auf OpenSolaris: Aktuelles OpenVPN herunterladen, TUN Treiber patchen, kompilieren und installieren:

cd /usr/local/src
wget http://www.openvpn.net/release/openvpn-2.1_rc15.tar.gz
tar xzf openvpn-2.1_rc15.tar.gz
chown -R root:root openvpn-2.1_rc15
cd openvpn-2.1_rc15

Nun ist der TUN Treiber zu patchen

wget -O tun.c http://www.whiteboard.ne.jp/~admin2/tuntap/source/openvpn/2.1/tun.c
./configure --disable-lzo
make
make install

Für den LZO Support wäre noch die entsprechende LZO Library zu installieren – dann kann man sich die Option „–disable-lzo“ sparen.

Das OpenVPN Binary findet sich anschließend auf dem OpenSolaris 2008 System unter /usr/local/sbin/openvpn

Die Konfiguration von OpenVPN auf OpenSolaris ist mit der unter einem anderen System vergleichbar – lediglich bei der Fehlermeldung

Can't set PPA 1: File exists (errno=17)

muss man wissen, dass unter OpenSolaris Interfaces verbunden sein können, und nicht automatisch abgekoppelt werden, wenn sie heruntergefahren werden. Hier hilt es das Interface zu „un-plumben“:

ifconfig tun0 unplumb

Das war das Kochrezept für OpenSolaris und OpenVPN – viel Erfolg!