開始行:
*OpenVPN のための Solaris 用 TAP ドライバ
#norelated
* 目次 [#m61115b7]
#contents
* ご注意 [#tc5ca38a]
ここで紹介しているプログラムは、カーネルモジュールを含ん...
* 概要[#c24015bf]
[[OpenVPN:http://openvpn.net/]] で利用する Solaris 用の T...
|もともとは 「Solaris で SoftEther もどきを動かそう」の仮...
** TUN ドライバと TAP ドライバについて [#tb15c37d]
OpenVPN は 仮想ネットワークに接続するため仮想ネットワーク...
ドライバ名にある「TUN」と「TAP」は別々の機能を有したネッ...
: TUN ドライバ | IP トンネルを行うための 仮想 Point-To-Po...
: TAP ドライバ | Ethernet トンネルを行うための仮想 Ethern...
TUN ドライバと TAP ドライバを比べた場合、VPN 上で単にユニ...
ほとんどの OS の場合には、この2つのドライバは一緒に配布...
** TUN/TAP ドライバの変更点 [#a1702d24]
Solaris 用の TUN ドライバの最終更新日(2000/06/20)を見る...
- 04/28/2006
-- 新しい PPA の割り当てを行う tun_alloc_ppa() に自身の M...
-- DL_INFO_REQ を処理する tun_info_req() に MAC アドレス...
-- DL_BIND_REQ を処理する tun_bind_req() に MAC アドレス...
-- DL_PHYS_ADDR_REQ を処理する tun_physaddr_req() に MAC ...
-- DL_UNITDATA_REQ を処理する tun_unitdata_req() 内から t...
-- DL_UNITDATA_IND を処理する tun_unitdata_ind() 内で、実...
-- Ethernet ヘッダを追加する tun_eth_hdr() 内で、Ethernet...
-- Ethernet フレームのルーティングを行う tun_frame() 内か...
-- DL_SET_PHYS_ADDR_REQ を処理する tun_set_physaddr_req()...
-- DL_ENABMULTI_REQ を処理する tun_enabmulti_req() 関数を...
-- DL_DISABMULTI_REQ を処理する tun_disabmulti_req() 関数...
-- Ethernet ヘッダーのフレームタイプや宛先アドレスをチェ...
- 05/03/2006
-- tun_frame_is_eligible() 内で、 802.3 フレームを受信し...
-- tun_unitdata_req() を変更し 802.3 フレームを要求されて...
- 05/08/2006
-- x86 Solaris 9 対応のために tun_unitdata_req() を修正し...
- 05/12/2006
-- MAC アドレスを生成する tun_generate_mac_addr() を追加...
- 11/05/2006
-- tun_ioctl()の中 PPA 取得するする部分を Universal TUN/T...
- 11/16/2009
-- tun ドライバ時にも IP ヘッダのバージョンフィールドから...
&COLOR(RED){これ以降の変更履歴は[[こちら:http://www.white...
** OpenVPN 側の変更点 [#q20bb3fa]
&COLOR(RED){OpnenVPN 2.2.0 から、ここでご紹介していた pat...
&br;
そのため、OpenVPN 2.2.0 以降のバージョンを使う場合には Op...
|2.1.x 以前のバージョンの OpenVPN では Solaris 用の TAP ...
- 04/28/2006
-- Solaris 用の open_tun() 関数の中で /dev/tap を Etherne...
-- do_ifconfig() 関数内の Solaris 用の処理の中に「dev tap...
- 10/09/2006
-- OpenVPN 2.0.9 がリリースされたので、OpenVPN 2.0.9 でも...
- 11/05/2006
-- Solaris用の open_tun() 関数の中で、インスタンス番号(p...
- 12/07/2008
-- openvpn2.2 から内部で使われている関数名や引数が変更さ...
- 05/20/2009
-- tap ドライバのオープン時の処理に誤りがあり、opensolari...
- 11/16/2009
-- tunドライバの変更にあわせて OpenVPN の tun ドライバ操...
* ソースコードとダウンロード [#y33ac555]
** Solaris 用 TAP(および TUN) ドライバソースファイル [#k6...
管理の利便性からソースコードは[[Github:http://github.com]...
今後はこちらにアップデートしていきます。ソースコードもこ...
: TUN/TAP ドライバのダウンロード | [[tuntap.tar.gz:https:...
: ソースコードの参照 | http://github.com/kaizawa/tuntap
> '''本コードは http://vtun.sourceforge.net/tun/ の TUN/T...
** Solaris 用 TAP デバイス対応のための OpenVPN の差分ファ...
&COLOR(RED){OpenVPN 2.2.0 以降では必要ありません。2011/04...
|[[tun.c:http://www.whiteboard.ne.jp/~admin2/tuntap/sourc...
|[[tun.c:http://www.whiteboard.ne.jp/~admin2/tuntap/sourc...
> '''本コードは http://openvpn.net の tun.c のコードを元...
* 動作確認済み Solaris バージョン [#p23d16d4]
TAP ドライバおよび 変更後の OpenVPN の動作確認状況は以下...
|プラットフォーム&br;Solarisバージョン|Sparc(32bit)|Sparc...
|Solaris 8 以前|?|?|?|?|
|Solaris9|○|○|○|?|
|Solaris10|-|○|○|○|
|OpenSolaris|-|○|○|○|
|Solaris 11 Exp|?|◯|◯|?|
|OpenIndiana 148|?|?|◯|?|
|Soalris 11|-|?|-|◯|
> ○:動作確認済み ×:動作不可 ?:未確認 -:該当なし&br;
私の環境に限りがあるので全てを調べきれてませんが、Solaris...
* コンパイル&インストール [#fca41256]
** Solaris 用 TAP(および TUN) ドライバのコンパイル [#k7ca...
コンパイルには gcc を使います。上記の [[tuntap.tar.gz:htt...
# ./configure
checking for gcc... gcc
checking for C compiler default output file name... a.ou...
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes ...
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed ...
checking for a BSD-compatible install... ./install-sh -c...
checking for isainfo... :
configure: creating ./config.status
config.status: creating Makefile
# make
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE...
-DPACKAGE_BUGREPORT=\"\" -DTUN_VER=\"1.1\ 04/23/2006\" -...
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE...
-DPACKAGE_BUGREPORT=\"\" -DTUN_VER=\"1.1\ 04/23/2006\" -...
ld -r -o tun tun.o
ld -r -o tap tap.o
# make install
ld -r -o tun tun.o
ld -r -o tap tap.o
./install-sh -c -m 644 -o root -g root if_tun.h /usr/inc...
./install-sh -c -m 644 -o root -g root tun /usr/kernel/d...
./install-sh -c -m 644 -o root -g root tap /usr/kernel/d...
./install-sh -c -m 644 -o root -g root tun.conf /usr/ker...
./install-sh -c -m 644 -o root -g root tap.conf /usr/ker...
/usr/sbin/rem_drv tun >/dev/null 2>&1
/usr/sbin/rem_drv tap >/dev/null 2>&1
/usr/sbin/add_drv tun
/usr/sbin/add_drv tap
#
** 差分ファイルを使った OpenVPN のコンパイル [#x4990a4d]
&COLOR(RED){OpenVPN 2.2.0 以降では必要ありません。2011/04...
以下は OpenVPN 2.1.x 以前のバージョンで tap ドライバーを...
[[OpenVPN のダウンロードページ:http://openvpn.net/downloa...
なお、OpenVPN 2.1 から tun.c が変更されたため、Version 2....
# unzip openvpn-2.0.7.zip
# cd openvpn-2.0.7/
# cp /download_files/tun.c .
# ./configure --disable-lzo
checking for ifconfig... /usr/sbin/ifconfig
checking for ip... ip
checking for route... /usr/sbin/route
... 略...
# make
make all-am
if gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -g -O2 -MT ba...
... 略...
# make install
test -z "/usr/local/sbin" || /var/tmp/openvpn-2.0.7/inst...
./install-sh -c 'openvpn' '/usr/local/sbin/openvpn'
test -z "/usr/local/man/man8" || /var/tmp/openvpn-2.0.7/...
./install-sh -c -m 644 './openvpn.8' '/usr/local/man/man...
#
> ''** tun.c は OpenVPN 2.0.7、OpenVPN 2.0.9、および Open...
* 使い方 [#yd27bdea]
インストール後は通常通り OpenVPN を利用可能です。TAP デバ...
「OpenVPN の設定例」に私がテストで利用した設定ファイルを...
また、Google 等で検索すると Linux や BSD での設定方法につ...
#wysiwyg
終了行:
*OpenVPN のための Solaris 用 TAP ドライバ
#norelated
* 目次 [#m61115b7]
#contents
* ご注意 [#tc5ca38a]
ここで紹介しているプログラムは、カーネルモジュールを含ん...
* 概要[#c24015bf]
[[OpenVPN:http://openvpn.net/]] で利用する Solaris 用の T...
|もともとは 「Solaris で SoftEther もどきを動かそう」の仮...
** TUN ドライバと TAP ドライバについて [#tb15c37d]
OpenVPN は 仮想ネットワークに接続するため仮想ネットワーク...
ドライバ名にある「TUN」と「TAP」は別々の機能を有したネッ...
: TUN ドライバ | IP トンネルを行うための 仮想 Point-To-Po...
: TAP ドライバ | Ethernet トンネルを行うための仮想 Ethern...
TUN ドライバと TAP ドライバを比べた場合、VPN 上で単にユニ...
ほとんどの OS の場合には、この2つのドライバは一緒に配布...
** TUN/TAP ドライバの変更点 [#a1702d24]
Solaris 用の TUN ドライバの最終更新日(2000/06/20)を見る...
- 04/28/2006
-- 新しい PPA の割り当てを行う tun_alloc_ppa() に自身の M...
-- DL_INFO_REQ を処理する tun_info_req() に MAC アドレス...
-- DL_BIND_REQ を処理する tun_bind_req() に MAC アドレス...
-- DL_PHYS_ADDR_REQ を処理する tun_physaddr_req() に MAC ...
-- DL_UNITDATA_REQ を処理する tun_unitdata_req() 内から t...
-- DL_UNITDATA_IND を処理する tun_unitdata_ind() 内で、実...
-- Ethernet ヘッダを追加する tun_eth_hdr() 内で、Ethernet...
-- Ethernet フレームのルーティングを行う tun_frame() 内か...
-- DL_SET_PHYS_ADDR_REQ を処理する tun_set_physaddr_req()...
-- DL_ENABMULTI_REQ を処理する tun_enabmulti_req() 関数を...
-- DL_DISABMULTI_REQ を処理する tun_disabmulti_req() 関数...
-- Ethernet ヘッダーのフレームタイプや宛先アドレスをチェ...
- 05/03/2006
-- tun_frame_is_eligible() 内で、 802.3 フレームを受信し...
-- tun_unitdata_req() を変更し 802.3 フレームを要求されて...
- 05/08/2006
-- x86 Solaris 9 対応のために tun_unitdata_req() を修正し...
- 05/12/2006
-- MAC アドレスを生成する tun_generate_mac_addr() を追加...
- 11/05/2006
-- tun_ioctl()の中 PPA 取得するする部分を Universal TUN/T...
- 11/16/2009
-- tun ドライバ時にも IP ヘッダのバージョンフィールドから...
&COLOR(RED){これ以降の変更履歴は[[こちら:http://www.white...
** OpenVPN 側の変更点 [#q20bb3fa]
&COLOR(RED){OpnenVPN 2.2.0 から、ここでご紹介していた pat...
&br;
そのため、OpenVPN 2.2.0 以降のバージョンを使う場合には Op...
|2.1.x 以前のバージョンの OpenVPN では Solaris 用の TAP ...
- 04/28/2006
-- Solaris 用の open_tun() 関数の中で /dev/tap を Etherne...
-- do_ifconfig() 関数内の Solaris 用の処理の中に「dev tap...
- 10/09/2006
-- OpenVPN 2.0.9 がリリースされたので、OpenVPN 2.0.9 でも...
- 11/05/2006
-- Solaris用の open_tun() 関数の中で、インスタンス番号(p...
- 12/07/2008
-- openvpn2.2 から内部で使われている関数名や引数が変更さ...
- 05/20/2009
-- tap ドライバのオープン時の処理に誤りがあり、opensolari...
- 11/16/2009
-- tunドライバの変更にあわせて OpenVPN の tun ドライバ操...
* ソースコードとダウンロード [#y33ac555]
** Solaris 用 TAP(および TUN) ドライバソースファイル [#k6...
管理の利便性からソースコードは[[Github:http://github.com]...
今後はこちらにアップデートしていきます。ソースコードもこ...
: TUN/TAP ドライバのダウンロード | [[tuntap.tar.gz:https:...
: ソースコードの参照 | http://github.com/kaizawa/tuntap
> '''本コードは http://vtun.sourceforge.net/tun/ の TUN/T...
** Solaris 用 TAP デバイス対応のための OpenVPN の差分ファ...
&COLOR(RED){OpenVPN 2.2.0 以降では必要ありません。2011/04...
|[[tun.c:http://www.whiteboard.ne.jp/~admin2/tuntap/sourc...
|[[tun.c:http://www.whiteboard.ne.jp/~admin2/tuntap/sourc...
> '''本コードは http://openvpn.net の tun.c のコードを元...
* 動作確認済み Solaris バージョン [#p23d16d4]
TAP ドライバおよび 変更後の OpenVPN の動作確認状況は以下...
|プラットフォーム&br;Solarisバージョン|Sparc(32bit)|Sparc...
|Solaris 8 以前|?|?|?|?|
|Solaris9|○|○|○|?|
|Solaris10|-|○|○|○|
|OpenSolaris|-|○|○|○|
|Solaris 11 Exp|?|◯|◯|?|
|OpenIndiana 148|?|?|◯|?|
|Soalris 11|-|?|-|◯|
> ○:動作確認済み ×:動作不可 ?:未確認 -:該当なし&br;
私の環境に限りがあるので全てを調べきれてませんが、Solaris...
* コンパイル&インストール [#fca41256]
** Solaris 用 TAP(および TUN) ドライバのコンパイル [#k7ca...
コンパイルには gcc を使います。上記の [[tuntap.tar.gz:htt...
# ./configure
checking for gcc... gcc
checking for C compiler default output file name... a.ou...
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes ...
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed ...
checking for a BSD-compatible install... ./install-sh -c...
checking for isainfo... :
configure: creating ./config.status
config.status: creating Makefile
# make
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE...
-DPACKAGE_BUGREPORT=\"\" -DTUN_VER=\"1.1\ 04/23/2006\" -...
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE...
-DPACKAGE_BUGREPORT=\"\" -DTUN_VER=\"1.1\ 04/23/2006\" -...
ld -r -o tun tun.o
ld -r -o tap tap.o
# make install
ld -r -o tun tun.o
ld -r -o tap tap.o
./install-sh -c -m 644 -o root -g root if_tun.h /usr/inc...
./install-sh -c -m 644 -o root -g root tun /usr/kernel/d...
./install-sh -c -m 644 -o root -g root tap /usr/kernel/d...
./install-sh -c -m 644 -o root -g root tun.conf /usr/ker...
./install-sh -c -m 644 -o root -g root tap.conf /usr/ker...
/usr/sbin/rem_drv tun >/dev/null 2>&1
/usr/sbin/rem_drv tap >/dev/null 2>&1
/usr/sbin/add_drv tun
/usr/sbin/add_drv tap
#
** 差分ファイルを使った OpenVPN のコンパイル [#x4990a4d]
&COLOR(RED){OpenVPN 2.2.0 以降では必要ありません。2011/04...
以下は OpenVPN 2.1.x 以前のバージョンで tap ドライバーを...
[[OpenVPN のダウンロードページ:http://openvpn.net/downloa...
なお、OpenVPN 2.1 から tun.c が変更されたため、Version 2....
# unzip openvpn-2.0.7.zip
# cd openvpn-2.0.7/
# cp /download_files/tun.c .
# ./configure --disable-lzo
checking for ifconfig... /usr/sbin/ifconfig
checking for ip... ip
checking for route... /usr/sbin/route
... 略...
# make
make all-am
if gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -g -O2 -MT ba...
... 略...
# make install
test -z "/usr/local/sbin" || /var/tmp/openvpn-2.0.7/inst...
./install-sh -c 'openvpn' '/usr/local/sbin/openvpn'
test -z "/usr/local/man/man8" || /var/tmp/openvpn-2.0.7/...
./install-sh -c -m 644 './openvpn.8' '/usr/local/man/man...
#
> ''** tun.c は OpenVPN 2.0.7、OpenVPN 2.0.9、および Open...
* 使い方 [#yd27bdea]
インストール後は通常通り OpenVPN を利用可能です。TAP デバ...
「OpenVPN の設定例」に私がテストで利用した設定ファイルを...
また、Google 等で検索すると Linux や BSD での設定方法につ...
#wysiwyg
ページ名: