SolarisでOpenVPN

SoftwareDesignの6月号に乗っていたOpenVPNを研究すべく自社のSolarisOpenVPNをインストールしてみました。例によって、configure,makeではすなまいところがかわいいというか憎らしいというか。

必要なソフトウェア

以下のものを入れる必要があります。

  • OpenSSL
  • lzo
  • pam

Solaris9の場合、OpenSSLとlzoはデフォルトでは入っていないので自分でいれてあげる必要があります。pamはもう入っているはず。OpenSSLは過去に入れてあるので、今回は書きません。

lzoインストール

lzoはここからダウンロードできます。これは単純に展開して、configure,make。

$ /usr/local/bin/tar -zxvf lzo-2.02.tar.gz
$ cd lzo-2.02
$ ./configure
$ /usr/local/bin/make
# /usr/local/bin/make install

OpenVPNインストール

OpenVPNここからダウンロードできます。
Linuxだと、展開してconfigure,makeですむようですが、Solarisでは一工夫が必要なようです。そのまま展開して./configure,makeするとこんなエラーがでます。

$ make
tun.c:1183:2: error: #error I need the symbol TUNNEWPPA from net/if_tun.h
tun.c: In function 'open_tun':
tun.c:1245: error: 'TUNNEWPPA' undeclared (first use in this function)
tun.c:1245: error: (Each undeclared identifier is reported only once
tun.c:1245: error: for each function it appears in.)
make[1]: *** [tun.o] Error 1
make[1]: Leaving directory `/export/home/hoge/openvpn/openvpn-2.0.9'
make: *** [all] Error 2

tun/tapのドライバをインストールする必要があります。ここに紹介されています。ありがたいことです。中ごろ、"Solaris 用 TAP(および TUN) ドライバソースファイル"のtuntap.tar.gzを展開して、configure,make,make install。続いて"Solaris 用 TAP デバイス対応のための OpenVPN の差分ファイル "のところのtun.cをダウンロードして、OpenVPNの開発ディレクトリの同じ名前のファイルと置換えます。詳しくはリンク先のページを参照。

tun.cをコピーしたら、configure,makeを実行。

$ ./configure --with-ssl-headers=/usr/local/ssl/include
$ /usr/local/bin/make
# /usr/local/bin/make install

これでインストールは終了。この後鍵を作ったり、設定ファイルを作ったりする作業が続きます。そのあたりはまた後日。