次のページ
前のページ
目次へ
Linux IPX-HOWTO v1.2 1996/01/14 版
Terry Dawson, 94004531@postoffice.csu.edu.au 著
日本語訳 : 川島浩 (kei@sm.sony.co.jp)
校正 : 小野さん (ono@epsenewsc.gee.kyoto-u.ac.jp)
杉浦さん (yol@kthree.co.jp)
-- 訳者より --
このドキュメントは単なる翻訳です。思い切った意訳もしています。
お許しください。
このドキュメントでは、LinuxカーネルのサポートするIPXプロトコルを
使用しているさまざまなツールを、どうやって入手、インストール、設定
するかについて述べます。
1. はじめに
これはLinuxのIPX-HOWTOです。この他にLinuXのNET-2-HOWTOも併せて読む必要が
あります。
1.1. 前の版からの変更点
追加:
ipxbridge
修正/改定:
ncpfs
1.2. イントロダクション
Linuxカーネルは他のUnixライクなオペレーティングシステムに比べて完全に
新しいネットワークの実装をしています。
カーネルのネットワークソフトの開発に新鮮なアプローチを採用することに
よって、TCP/IP以外のプロトコルをサポートすることが可能になりました。
IPXプロトコルはそういったプロトコルの一つです。
現在のところ、LinuxカーネルはIPXプロトコルだけをサポートしています。
このドキュメントの中で触れられている、他のソフトウエアでは
サポートされているIPX/RIP, SAP, NCPプロトコルは、Linuxカーネルでは
まだサポートされていません。
IPX機能のオリジナルの開発者は Alan Cox <ialan@iifeak.swan.ac.uk>
であり、Greg Page <greg@caldera.com> によって拡張されました。
2. 宣言
私はLinuxのネットワークソフトウエアの全てに関して知っているわけでは
ありませんし、また知ることも不可能です。
このドキュメントが誤りを含んでいる可能性があることを許諾し、念頭に
おいてください。より正確で詳細な情報に関しては、このドキュメントに
記されているいろいろなソフトウエアに含まれているREADMEファイルを
参照してください。私はできる限りこのドキュメントを誤りの無い、
最新のものにし続けるつもりです。また、対象にしているソフトウエアの
バージョンは、このドキュメントを書いている時点のものです。
3. 関連するドキュメント
このドキュメントではあなたが、正しいネットワークオプションを選択した
Linuxカーネルの再構築方法、基本的なネットワークツール(ifconfig, routeなど)
の使い方をすでに知っていることを前提にしています。もしこれらについて
十分な知識がない場合には、NET-2-HOWTOを先に読んでください。
このドキュメントは、
<http://sunsite.unc.edu/mdw/HOWTO/NET-2-HOWTO.html>からたどることも
できます。
その他の有益な Linux HOWTOドキュメント:
Ethernet-HOWTO <http://sunsite.unc.edu/mdw/HOWTOJ/Ethernet-
HOWTO.html>は、イーサネットの設定方法について詳しく書かれたドキュメント
です。
PPP-HOWTO <http://sunsite.unc.edu/mdw/HOWTO/PPP-HOWTO.html>は、
バージョン2.2.0dのLinux PPP機能で利用できるIPX機能に関して記述されて
います。
3.1. このドキュメントの新しいバージョンについて
もしあなたが持っているこのドキュメントが、2ヶ月以上前のバージョン
ならば、新しいバージョンを入手することを強くお奨めします。
Linuxのネットワークサポートは非常に速い速度で拡張/変化しているため、
このドキュメントも相当頻繁に書き換えられています。このドキュメントの
最新の版は以下の場所から anonymous ftpで入手することができます。
sunsite.unc.eduでは
/pub/Linux/docs/HOWTO/IPX-HOWTO
または:
/pub/Linux/docs/HOWTO/other-formats/IPX-HOWTO{-html.tar,ps,dvi}.gz
Linux Document ProjectのWebサーバからWorld Wide Web (WWW)でアクセスする
場合には
<http://sunsite.unc.edu/mdw/linux.html>, のページ: IPX-HOWTO
<http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html> または私のディレクトリ
<94004531@postoffice.csu.edu.au>から。
また、次のニュースグループにも時々ポストされています。
newsgroups: comp.os.linux.networking, comp.os.linux.answers and
news.answers
3.2. フィードバック
このドキュメントに関するコメントや更新や提案を私宛に送ってください。
<94004531@postoffice.csu.edu.au>
すばやくフィードバックをもらえれば、すばやくドキュメントを訂正/更新
することができます。私は最近ほとんどニュースを読んでいませんので、
なにか問題を見つけたら直接私宛に電子メイルを送ってください。
4. このドキュメントで使われている主な用語
このドキュメントの中では「クライアント」と「サーバ」という用語が
頻繁にでてきます。このドキュメントの中ではこれらの用語を通常使われる
特殊な意味ではなく、以下のように、少し一般化した定義をします。
クライアント
いろいろなサービスやデータを得ることを目的として、アクションや
接続の要求をおこなうマシンやプログラム
サーバ
複数のリモートマシンからの接続を受け付け、それらに対して
サービスやデータを提供するマシンやプログラム
この定義にしてもたいして信頼できるものではないですが、SLIPやPPPなど、
真の意味でのクライアント/サーバの区別がない終端同士を区別することが
できます。
その他の用語:
IPX
Internet Packet eXchangeの略。Novellによって、Netware(TM)製品の
インターネットサポートのために提供されている。IPXプロトコルは
TCP/IPにおけるIPプロトコルと同様の機能を果たす。
IPX network address
特定のIPXネットワークをユニークに識別するのに使われる番号。
通常0x23a91002のように、16進表記で記述される。
IPX インターナルネットワーク
仮想的なIPXネットワーク。物理的なネットワークに直接対応しないという
意味において仮想的である。
特定のIPXホストを識別、アドレッシングするために使われる。
一般的には、ファイルサーバのように複数の物理IPXネットワークに
またがって存在するホストに対して意味がある。
アドレスは物理IPXネットワークと同じ形式。
RIP
Routing Information Protocolの略。
IPXネットワークにおいて、ネットワーク経路情報を自動的に伝搬させる
のに使われるプロトコル。TCP/IPにおけるRIPプロトコルと同様の機能を
果たす。
NCP
NetWare Core Protocolの略。
NetWare製品のためにNovellによって開発されたネットワークファイル
システムプロトコル。TCP/IPにおけるNFSと同様の機能。
SAP
Service Advertisement Protocolの略。
Netware環境において、ネットワークサービスを通知するために
Novellが設計したプロトコル。
ハードウエアアドレス
メディアアクセス層において物理ネットワーク中でホストをユニークに
識別するための番号。イーサネットは一般に':'で区切られた
6個の16進数で表記される。例) 00:60:8C:C3:3C:0F
ルート
パケットが目的地に達するときに通過する経路のこと
5. /procファイルシステムの下のIPXに関係するファイル
/procファイルシステムの下には、LinuxのIPX機能に関係するファイル類が
たくさん存在します。以下の通り:
/proc/net/ipx_interface
このファイルには、そのマシンで設定されているIPXインターフェースに
関する情報がはいっています。コマンドによって手動で設定されたもの
と、自動的に検出され設定されたものの両方が含まれます。
/proc/net/ipx_route
このファイルにはIPXルーティングテーブル中に存在するルート情報が
はいっています。コマンドによって手動で付加されたものと、
IPXルーティングデーモンによって自動的に付加されたものの両方が
含まれています。
/proc/net/ipx
このファイルにはそのマシン上で使われるためにオープンされている
IPXソケットのリストがはいっています。
6. Greg PagesのIPXツール
Caldera Incorporated のGreg Page <greg@caldera.com> は
IPX を設定するためのツール一式を書き、Linuxカーネルの
IPX機能を拡張しました。
このカーネルの拡張によって、Linuxは完全な形でのIPXブリッジまたは
IPXルーターとしての機能をもつことができます。このIPXサポート拡張
機能はすでに主流のカーネルに反映されていますので、恐らくあなたは
すでにこの機能を持ったカーネルを使っているでしょう。
このネットワーク設定ツールにを使って、あなたのネットワーク
デバイスでIPXを利用できるように設定したり、IPXルーティングを制御したり
することができます。このLinux IPXネットワークツールはGregのサイトから
直接ダウンロードできます。 ftp.caldera.comです。
<ftp://ftp.caldera.com/pub/ipx>.
6.1. IPXツールの詳細
ipx_interface
このコマンドはネットワークデバイスに対して手動でIPX機能の
付加・削除・チェックをおこなうために使われます。通常、ネットワーク
デバイスはeth0などのイーサネットデバイスでしょう。少なくとも
ひとつのIPXインターフェースを-pフラグでprimaryインターフェースとして
指定する必要があります。例えばイーサネットデバイスeth0でIPX機能を
使い、IEEE 802.2フレームタイプで、IPXネットワークアドレスを
39ab0222とするならば、以下のような指定になります :
# ipx_interface add -p eth0 802.2 0x39ab0222
ipx_configure
このコマンドはインターフェースの設定/プライマリーインターフェース
の設定を自動的におこなうかどうかを指定します。
--auto_interfaceオプションで新しいネットワークデバイスを自動
設定するかどうかを制御します。--auto_primaryオプションでIPX
ソフトウエアが自動的にprimaryインターフェースを選択するかどうか
を制御します。
両方とも自動でおこなう際の標準的なコマンドラインの例は:
# ipx_configure --auto_interface=on --auto_primary=on
ipx_internal_net
このコマンドはIPXインターナルネットワークアドレスを設定したり、
解除したりするために使われます。インターナルネットワークアドレスは
省略可能ですが、このコマンドで設定されたインターフェースは常に
primaryインターフェースとなります。IPXネットワークアドレスab000000、
IPXノード1に設定するためのコマンドラインの例は :
# ipx_internal_net add 0xab000000 1
ipx_route
このコマンドはIPXルーティングテーブルを手動で書き換えるために
使われます。例えばIPXネットワーク39ab0222に到達するために
IPXネットワーク39ab0108上のノード番号00608CC33C0Fを経由するルート
をテーブルに付加するには以下のコマンドを使います:
# ipx_route add 0x39ab0222 0x39ab0108 0x00608CC33C0F
7. LinuxマシンをIPXルータとして設定するには
たくさんのIPXセグメントが存在し、それらの間をネットワークで接続
しなければならない場合には、ルータが必要になります。Novell環境では
二つの情報がネットワーク間で伝搬される必要があります。Novell RIP
プロトコルで伝搬されるネットワークルーティング情報と、Novell SAP
プロトコルで伝搬されるサービス通知情報です。ほとんどの状況において、
使い物になるためにはすべてのルータはこれら両方のプロトコルをサポート
しなければなりません。
Linuxはこれら両方のプロトコルをサポートしています。また、Novellに準拠した
ルータとして機能させる事もとても簡単です。
LinuxカーネルのIPXサポート機能は実際にはIPXルーティングテーブルに
記述されたルールに基づいてIPXパケットをインターフェース間でフォワード
することで管理しています。IPXルーティングテーブルを正しく構成するため、
またネットワークの変更のステータスを反映するための情報を周期的に
アップデートするために、LinuxにもNovellのRIPに相当するものが必要です。
"NCP Server"の章で述べられているlwaredパッケージには、NovellのRIPデーモン
と、NovellのSAPデーモンを実現したソフトウエアが含まれています。
ftp.ists.pwr.wroc.plにも同様のものがあります。
<ftp://ftp.ists.pwr.wroc.pl/pub/linux/ipx/> には便利なデーモンが
存在します。
Linuxマシンをルータとして機能させるために設定するのはとても簡単です。
以下の手順です:
1. カーネルをIPX・イーサネット・/proc機能をイネーブルして構築します。
2. IPXとSAPデーモンプログラムを入手して、コンパイル・インストール
します。
3. 新しいカーネルでブートします。それぞれのイーサネットカードが正しく
認識されていることと、ハードウエアコンフリクトがないことを確認して
ください。
4. 上に述べたipx_interfaceコマンドを使って、それぞれのインターフェース
でIPXプロトコルをイネーブルします。
5. IPXデーモンとSAPデーモンを起動します。
次のような単純なネットワークを考えます:
IPX Addr: 0x01000000 802.2
|--------------------------|
|
\_________________________
\ Linux Router
IPX Addr: 0x02000000 802.2 \
|--------------------------| \ eth0/-----------\
| \--====| |
\_________________________ | IPX route |
\ eth1| Table |
IPX Addr: 0x02000000 etherII \----====| ^ |
|--------------------------| | | |
| eth2| IPXd |
\______________________________/====| |
| SAPd |
IPX Addr: 0x02000000 etherII eth3| |
|--------------------------| /====| |
| | \___________/
\______________________________/
上のようなネットワークに対する設定は例えば以下の通りです:
# ipx_interface add eth0 802.2 0x0100000000
# ipx_interface add eth0 802.2 0x0200000000
# ipx_interface add eth0 etherii 0x0300000000
# ipx_interface add eth0 etherii 0x0400000000
# ipxripd
# ipxsapd
しばらく待ってから/proc/net/ipx_routeファイルを見てください。
あなたの設定したネットワーク設定と、
ネットワーク中の他のルータから得られたIPXルートの情報が入っている
はずです。
8. LinuxマシンをNCPクライアントとして設定するには
IPとIPXプロトコルが混在するネットワークや、Linuxマシンからネットワーク
上のNovellファイルサーバのデータをアクセスしたい場合にはどうすれば
いいでしょうか。このような目的のためにNovellはNFSサーバを提供しています
が、小さな会社や、ごく少数の人しかこのような目的に興味を示さない場合など
には、この商用パッケージのコストが認められるかどうか、難しいものが
あります。
Volker Lendecke <lendecke@namu01.gwdg.de> はNovell NCPのサブセットを
サポートしたファイルシステムカーネルを書きました。これによって、
別の製品を購入することなしに、NovellのVolumeをLinuxからマウントする
ことができます。このソフトウエアによって、LinuxはNovell workstation
のファイルサービスをエミュレートできます。また、このソフトは
Novellプリントキューに対してプリントするための簡単なユーティリティを
含んでいます。
Volkerはこのパッケージをncpfsと名付けました。開発に必要だった
情報の主なものは、Manfred Hill and Ralf Zessin の "Netzwerkprogrammierung
in C" から派生しています。もっと詳細なことに関してはncpfsパッケージに
含まれているREADMEファイルを参照してください。また、Greg Page
<greg@caldera.com>の書いたIPX toolsも使用されています。
8.1. ncpfsを入手するには
ncpfsパッケージはバージョン1.2.13カーネルまたは1.3.53以降のカーネル
で使用するために設計されました。現在、あなたがこれらに該当するカーネルを
使っていないのであれば、それらのカーネルを使う必要があります。
バージョン1.3.0〜1.3.52のカーネルではIPX機能がうまく働かないことが
知られています。
ncpfsパッケージはanonymous ftpを使ってVolkerのホームページから入手する事が
できます:
linux01.gwdg.de <ftp://linux01.gwdg.de/pub/ncpfs/>
叉は
sunsite.unc.edu <ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/ncpfs>
叉はそのミラーサイト
これを書いている時点での最新バージョンは: ncpfs-0.11.tgz です。
8.2. カーネル1.2.*でncpfsを構築するには
イーサネットとIPX機能をイネーブルしてカーネルを構築する
まず最初にあなたのカーネルがIPX機能をイネーブルして構築されている
ことを確認する必要があります。バージョン1.2.13のカーネルでは、
以下に示すように'The IPX protocol'の質問に対して'Y'と答えている
ことを確認する必要があるだけです:
...
...
Assume subnets are local (CONFIG_INET_SNARL) [y]
Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n]
The IPX protocol (CONFIG_IPX) [n] y
*
* SCSI support
...
...
あなたの使用するイーサネットカードに対応したドライバを含んでいること
を確認する必要もあります。もしこれについてどうやればいいかを知らなければ
Ethernet-HOWTOを読んでください。
<http://sunsite.unc.edu/mdw/HOWTOJ/Ethernet-HOWTO.html>.
カーネルを構築する準備は整いました。構築が完了した後にはliloを
走らせて、新しいカーネルをインストールすることを忘れないでください。
ncpfsソフトウエアを解凍するには
# cd /usr/src
# tar xvfz ncpfs-0.9.tgz
ncpfsをmakeする
特になんの設定もせずにきれいにコンパイルできるはずです。
# make
IPXツールを都合のよいところにコピーする
makeが正しく完了したら、すべての必要なツールがncpfs/binディレクトリ
にできあがっているはずです。以下のように、これらのツールを
/usr/local/sbinディレクトリにコピーする事をお薦めします:
# cd bin
# for i in ipx* ncp* slist nprint pqlist ; do cp \*(dRi /usr/local/sbin; done
ncpfs.oモジュールを都合のよいところにコピーする
makeが正しく完了すれば、ncpfs/binディレクトリにncpfs.oという
ファイルもできあがっているはずです。これはncpfsのカーネルモジュール
です。これもどこか都合のよいところにコピーしておきましょう。私の
debianシステムでは、 /lib/modules/1.2.13/fs ディレクトリに
コピーし、ncpfsを/etc/modulesファイルに追加しました。これによって
ブート時にncpfsが自動的に起動されます。
もしあなたが他のパッケージを使っているのならば、どこが適切かを
調べてください。
またはただ単に/etcディレクトリにコピーするするか、です。
手動でモジュールをロードするには次のコマンドを使います:
# insmod ncpfs.o
8.3. 1.3.54以降のカーネルでncpfsを構築する
1.3.53版のカーネルのncp機能はうまく動作しないので、
もしあなたがバージョン1.3.53カーネルを使用しようとした場合には
警告を受けます。1.3.54以降のカーネルを使用してください。
1.3.54以降のカーネルを使用する場合には、すでにカーネルのソースの中に
ncpfs機能は含まれています。以下の質問に対して、'Y'と答えるだけです:
...
...
The IPX protocol ?
...
...
NCP filesystem support (to mount NetWare volumes) ?
...
...
IPXツールを構築するためには、 1.2.* カーネルのための指示にも
従う必要があります。Makefileを少しだけ変更する必要があることに注意して
ください。変更点はファイルの中にも記述されていますが、簡単に言って、
以下の変更をMakefileに加える必要があります:
# SUBDIRS += kernel-1.2/src
# INCLUDES = -I$(TOPDIR)/kernel-1.2
これは、1.2.*版のカーネルの場合にのみ必要な変更です。
8.4. ncpfsの設定と使い方
IPXネットワークソフトウエアの設定
IPXネットワークソフトウエアの設定には、二種類の方法があります。
IPXネットワークの情報について、すべての情報を手動で設定する
方法と、ソフトウエア自身に自動的に適正な情報を決定させる方法です。
ほとんどのインストールの場合、この自動的な方法でうまくいく
でしょう。もしこれがうまくいかない場合には、手動設定するために
以下の"IPXツール"の章を読んでください。
# ipx_configure --auto_interface=on --auto_primary=on
設定のテスト
IPXネットワークの設定が終わったら、slistコマンドを使うこと
によって、あなたのネットワーク上にあるすべてのNovellファイルサーバ
を見ることができるはずです:
# slist
もしslistコマンドが'ncp_connect: Invalid argument'などのメッセージを
表示した場合には、恐らくカーネルがIPXをサポートしていないの
でしょう。ちゃんと正しいカーネルでブートしたかどうかなどを確認して
みましょう。もしslistコマンドがすべてのファイルサーバを表示しない
場合には、手動でネットワークの設定をおこなう必要があるかもしれません。
Novell(TM)のボリュームをマウントする
IPXネットワークソフトウエアがうまく動作していれば、Novellの
ファイルサーバボリュームをLinuxファイルシステムにマウントできる
はずです。この目的のためにncpmountコマンドが使われますが、
少なくとも以下の情報を指定する必要があります:
1. ファイルサーバの名前。
2. ファイルサーバのログインID。パスワードがついている場合には
それも必要。
3. マウントポイント (すなわち、どこにマウントしたいか)
以下の例は、ファイルサーバ ACCT_FS01 にユーザ guest で、
パスワード無しで、/mnt/Accounts ディレクトリにマウントログイン
する場合の例です:
# ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n
この例では、-n オプションによってログインにパスワードが不要なことを
指定しています。
同様のログインでパスワード指定が必要な場合には以下のようになります。
# ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -P secret
-nオプションも-Pオプションも指定しなかった場合、パスワードの
入力を促されます。
マウント機能をチェックする
マウントがうまくいけば、マウントポイントの下のディレクトリ
として、ログインに使われたユーザIDでアクセス可能なボリューム
が見えるはずです。また、ディレクトリ構造を渡り歩く(traverse)ことが
できるはずです。NCPはuid/gidによる所有権(ownership)を提供していない
ため、すべてのファイルは、マウントポイントディレクトリの所有権を
ひきつぐことになります。Linuxユーザ間でマウントを共有する場合に
は、この点について留意してください。
プリント機能をチェックする
プリント機能がうまく動作しているかどうかをチェックするにはnprint
コマンドを使います。nprintコマンドを使うと、Nerwareプリントキュー
に対してファイルをプリントすることができます。pqlistを使うと
Netwareサーバ上で使用できるプリントキューを見る事ができます。
どちらのコマンドもユーザーネームとパスワードが必要ですので、
簡単にプリントするためには、なにかシェルスクリプトを作るのが
よいでしょう。例えば例としては:
# pqlist -S ACCT_FS01 -U guest -n
# nprint -S ACCT_FS01 -q LASER -U guest -n filename.txt
ncpmountコマンドと同様のログオン方法です。上に述べた例は、ACCT_FS01
というファイルサーバにパスワードなしのguestアカウントで、LASERという
プリントキューが存在し、それに対してguestがプリントを許されている
という場合の例です。
自動的にマウントされるように設定する
ncpマウントを恒久的に設定する必要がある場合には上で述べたような
コマンドをrcファイルから実行する事によって、ブート時に自動的に
おこなうことができます。私のお薦めは/etc/rc.localファイルにこれら
の設定を記述しておくことです。
私は/etc/init.dディレクトリの下のNetWareというファイルにこれらの
設定を記述しておき、/etc/rc2.dディレクトリに適切なシンボリックリンク
を張っています。
例えば以下のようにするのもいいかもしれません:
#
# Start the ncp filesystem
/sbin/insmod /lib/modules/1.2.13/fs/ncpfs.o
# configure the IPX network
ipx_configure --auto_interface=on --auto_primary=on
# guest login to the Accounting fileserver
ncpmount ACCT_FS01 /mnt/Accounts -U guest -n
#
NCPマウントの設定には、$HOME/.nwclientファイルを作る、という
もうひとつの方法があります。このファイルには一時的または
ユーザごとに必要なNCPマウントを記述しておきます。
これにより、毎回マウントの詳細を指定することなく、詳細なマウント
方法を記述しておくことができます。
このファイルの形式は明快です:
たとえば次のコマンドを実行すると、ログイン名 TERRY で、/home/terry/docs
ディレクトリに DOCS_FS01 をマウントします(ACCT_FS01 ではなく)。DOCS_FS01
が選択されなかったのは、マウントコマンドのオプションにファイルサーバ
を指定しなかったからです。
$ ncpmount /home/terry/docs
また、次のコマンドを実行すると、DOCS_FS01 のかわりに ACCT_FS01 を
ログイン名 GUEST でマウントします。
$ ncpmount -S ACCT_FS01 /home/terry/docs
注意: この機能がうまく動作するためには、$HOME/.nwclientファイルの
パーミッションが、0600になっている必要があります。これには、次の
コマンドを実行します:
$ chmod 0600 $HOME/.nwclient
ルート以外のユーザにこの機能を使う事を許すのであれば、ncpmount
コマンドのRootのSet Useridビットを立てておくことが必要です。
これには次のコマンドを実行します:
# chmod 4755 ncpmount
9. LinuxマシンをNCPサーバとして設定する
LinuxをNovellファイルサーバとして機能させるためのパッケージには二種類
あります。どちらのパッケージを使っても、Linux上のファイルをNovell NetWare
クライアントソフトウエアのユーザと共有する事ができます。
本物のNovellファイルサーバと同じように、ファイルシステムをマシン上の
ローカルドライブにマップすることや、アタッチすることができます。
両方のパッケージを使ってみて、あなたの目的にはどちらのパッケージが
適しているかを判断するのがよいでしょう。
9.1. mars_nwe パッケージ
Martin Stover <mstover@freeway.de> が開発したパッケージです。
Netwareクライアントに対してファイルとプリントサービスを提供します。
mars_nwe は Martin Stovers Netware Emulatorの 略です。
9.1.1. mars_nweのできること
mars_nwe はNovell NCPのサブセットを実現しています。
ファイルサービス、ディスクベースのbinderyサービス、プリントサービスが
実現されています。バグを含んでいるようです。(@@)
9.1.2. mars_nweを入手するには
linux01.gwdg.de <ftp://linux01.gwdg.de/pub/ncpfs/>. から入手できます。
これを書いている時点での最新バージョンは: mars_nwe-0.96.pl2.tgz.
9.1.3. mars_nweパッケージを構築する
イーサネットとIPX機能をイネーブルしてカーネルを構築する
まず最初にあなたのカーネルがIPX機能をイネーブルして構築されている
ことを確認する必要があります。バージョン1.2.13のカーネルでは、
以下に示すように'The IPX protocol'の質問に対して'Y'と答えている
ことを確認する必要があるだけです:
...
...
Assume subnets are local (CONFIG_INET_SNARL) [y]
Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n]
The IPX protocol (CONFIG_IPX) [n] y
*
* SCSI support
...
...
より新しい版のカーネルでは、プロンプトなどが多少異なるかもしれません
が、同様の方法で大丈夫です。
あなたの使用するイーサネットカードに対応したドライバを含んでいること
を確認する必要もあります。もしこれについてどうやればいいかを知らなければ
Ethernet-HOWTOを読んでください。
<http://sunsite.unc.edu/mdw/HOWTOJ/Ethernet-HOWTO.html>.
カーネルを構築する準備は整いました。構築が完了した後にはliloを
走らせて、新しいカーネルをインストールすることを忘れないでください。
ncpfsソフトウエアを解凍するには
# cd /usr/src
# tar xvfz mars_nwe-0.96.pl2.tgz
mars_nweをmakeする
パッケージをmakeするのはとても簡単です。まず、config.hを眺めて、
もし必要ならばエディットします。これによって、
インストールディレクトリや、サーバがサポートするセッションやボリューム
の最大数などを設定することができます。
次に:
# make
# make install
これによってサーバが構築され、適切なディレクトリにインストールされ
ます。また、インストレーションスクリプトは/etc/nwserv.confという
設定ファイルをインストールします。
サーバを設定する
設定はとても簡単です。/etc/nwserv.confファイルをエディットします。
はじめてこのファイルの内容を見るとそのフォーマットはちょっと謎めいて
見えますが、実はとても明瞭です。それぞれの行にひとつの設定が記述
されています。それぞれの行は、その行の内容を意味する数字で始まり、
空白で区切られています。'#'の後の文字はコメントとみなされ、無視
されます。パッケージの中にもMartinの提供する設定例が含まれています
が、別のもっと単純な例をここに挙げておきます。
# VOLUMES (max. 5)
# Only the SYS volume is compulsory. The directory containing the SYS
# volume must contain the directories: LOGIN, PUBLIC, SYSTEM, MAIL.
# The 'k' option converts all filenames in NCP requests to lowercase.
# The default is upper case.
# Syntax:
# 1 <Volumename> <Volumepath> <Options>
1 SYS /home/netware/SYS/ # SYS
1 DATA /home/netware/DATA/ k # DATA
# SERVER NAME
# If not set then the linux hostname will be converted to upper case
# and used.
# Syntax:
# 2 <Servername>
2 LINUX_FS01
# INTERNAL NETWORK NUMBER (not yet implemented)
# Syntax:
# 3 <Internal Network Address> [<Node Number>]
# NETWORK DEVICE(S)
# This entry configures your IPX network. If you already have your
# IPX network configured then you do not need this.
# Syntax:
# 4 <IPX Network Number> <device_name> <frametype> [<ticks>]
# Frame types: ethernet_ii, 802.2, 802.3, SNAP
4 0x39a01010 eth0 802.3 1
# SAVE IPX ROUTES AFTER SERVER IS DOWNED
# Syntax:
# 5 <flag>
# 0 = don't save routes, 1 = do save routes
5 0
# NETWARE VERSION
# Syntax:
# 6 <version>
# 0 = 2.15, 1 = 3.11
6 0
# MINIMAL GID UID rights
# permissions used for attachments with no login.
# Syntax:
# 10 <gid>
# 11 <uid>
# <gid> <uid> are from /etc/passwd, /etc/groups
10 200
11 201
# SUPERVISOR password
# May be removed after the server is started once. The server will
# encrypt this information into the bindery file after it is run.
# Syntax:
# 12 <Supervisor-Login> <Unix username> [<password>]
12 SUPERVISOR root secret
# USER ACCOUNTS
# This associates netware logins with unix accounts. Password are
# optional.
# Syntax:
13 <User Login> <Unix Username> [<password>]
13 TERRY terry
13 MAR mar
# PRINT QUEUES
# This associates Netware printers with unix printers. The queue
# directories must be created manually before printing is attempted.
# Syntax:
# 21 <queue_name> <queue_directory> <unix_print_cmd>
21 EPSON SYS:/PRINTJ/PSON lpr -h
21 LASER SYS:/PRINT/LASER lpr -Plaser
# DEBUG FLAGS
# Syntax:
# <debug_item> <debug_flag>
#
# 100 = IPX KERNEL
# 101 = NWSERV
# 102 = NCPSERV
# 103 = NWCONN
# 104 = use NWCLIENT
# 0 = disable debug, 1 = enable debug
100 0
101 0
102 0
103 0
104 0
# RUN NWSERV IN BACKGROUP AND USE LOGFILE
# Syntax:
# 200 <flag>
# 0 = run NWSEV in foreground and don't use logfile
# 1 = run NWSERV in background and use logfile
200 1
# LOGFILE NAME
# Syntax:
# 201 <logfile>
201 /tmp/nw.log
# APPEND LOG OR OVERWRITE
# Syntax:
# 202 <flag>
# 0 = append to existing logfile
# 1 = overwrite existing logfile
202 1
# SERVER DOWN TIME
# This item sets the time after a SERVER DOWN is issued that the
# server really goes down.
# Syntax:
# 210 <time>
# in seconds. (defaults 10)
210 10
サーバをスタートする
サーバをスタートするには、ただ、次のコマンドを実行するだけです:
# nwserv
サーバをテストする
サーバをテストするには、まず、ネットワーク上のNetwareクライアント
から、アタッチ、ログインをやってみます。次にクライアントから
CAPTUREを設定し、印刷してみます。両方ともうまくいけば、サーバは
動作しています。
9.2. lwared パッケージ
Ales Dryak <A.Dryak@sh.cvut.cz> が開発しました。
LinuxをNCPベースのファイルサーバとして機能させる事ができます。
AlesはこのパッケージをLinWare Daemonの略として、lwaredと名付けました。
9.2.1. lwaredのできること
lwaredサーバはNovell NCPのサブセットを提供します。プリントサービスは
含まれていませんが、messaging(@@)を実現しています。現在のところ、
Windown95やWindows NTクライアントとはあまり相性がよくないようです。
lwaredでは、IPXルーティングやSAPテーブルの更新のためには、別のプログラム
を使う必要があります。クライアントの誤った動作によってサーバがクラッシュ
することもあります。重要なことには、ファイル名変換の機能が実現されて
いません。
サーバはNETXやVLM NetWareシェルと共に動作します。(@@)
9.2.2. lwaredを入手するには
lwaredは1.2.0以降のカーネルで動作しますが、カーネルパッチが必要ない
という理由で、1.2.13を使う事をお薦めします。
1.3.*カーネルではIPX機能の一部が変更されたため、うまく動作させる
ためにはなんらかのパッチが必要なことを意味しています。新しいカーネル
のためのパッチが含まれているので、これらα版のカーネルを使う必要があると
しても、lwaredをうまく動作させる事ができるはずです。
lwaredパッケージはanonymous ftpで以下から入手できます:
klokan.sh.cvut.cz <ftp://klokan.sh.cvut.cz/pub/linux/linware/>
または :
sunsite.unc.edu
<ftp://sunsite.unc.edu/pub/Linux/system/Network/daemons> またはこの
ミラーサイト。
これを書いている時点での最新のバージョンは:
lwared-0.95.tar.gz
9.2.3. lwaredを構築する
lwaredパッケージを解凍する
こんな感じ:
# cd /usr/src
# tar xvpfz lwared-0.95.tar.gz
イーサネットとIPX機能をイネーブルしてカーネルを構築する
もしあなたがα版の1.3.*カーネルを使っている場合には、1.3.17以降
のバージョンで試してみてください。提供されているパッチは、それらの
バージョンに対して作られたものだからです。
1.3.17よりも古いバージョンでは、手動のパッチをあてる必要が
あるでしょう。(これをどうやるかについては、INSTALLファイルの
中にいくらか情報があります。)
1.3.17以降のカーネルにパッチをあてるには以下を試してください:
# make patch
パッチをあてたあとには、もし必要ならばカーネルがIPXサポート
をイネーブルして構築されていることを確認します。バージョン1.2.13
カーネルでは、以下に示すように'The IPX protocol'の質問に対して'Y'と
答えていることを確認する必要があるだけです:
...
...
Assume subnets are local (CONFIG_INET_SNARL) [y]
Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n]
The IPX protocol (CONFIG_IPX) [n] y
*
* SCSI support
...
...
より新しい版のカーネルでは、プロンプトなどが多少異なるかもしれません
が、同様の方法で大丈夫です。
あなたの使用するイーサネットカードに対応したドライバを含んでいること
を確認する必要もあります。もしこれについてどうやればいいかを知らなければ
Ethernet-HOWTOを読んでください。
<http://sunsite.unc.edu/mdw/HOWTOJ/Ethernet-HOWTO.html>.
カーネルを構築する準備は整いました。構築が完了した後にはliloを
走らせて、新しいカーネルをインストールすることを忘れないでください。
lwaredのコンパイルとインストール
lwaredをコンパイルするには、まず最初にserver/config.hをチェック
して、必要ならエディットします。このファイルはサーバが動作中に
どのようにふるまうか、などの設定が含まれています。
デフォールトの設定はリーズナブルなものですが、ログファイルと
設定ファイルの置かれるディレクトリがあなたの環境に
あっていることをチェックしておいたほうがいいでしょう。
# make depend
# make
# make install
私の場合には、'make depend'はfloat.hが無いと文句を言ってきましたが、
うまく動作しました。また、gcc 2.6.3でコンパイルしたときには、
lib/ipxkern.c の以下の行を修正する必要がありました:
#include <net/route.h>
を
#include <net/if_route.h>
に修正しました。
このファイルは名前が変わったようです。
'make install' を実行する事によって、サーバとルーティングデーモン
が/use/sbin ディレクトリに、lwpasswd プログラムが /usr/bin に、IPX
ユーティリティが /sbin に、そして最後になるが重要なのは、マニュアル
ページが /usr/man ディレクトリ以下にインストールされます。
もしこれらのディレクトリ配置があなたのシステムに適していない場合には、
関連した Makefile をエディットして、目的のディレクトリに書き換えて
ください。
9.2.4. lwaredの設定と使い方
IPXネットワークの設定
まず最初にしなければならないのは、あなたのサーバがサポートしている
IPXネットワークをサポートできるように、イーサネットカードを設定
しなければなりません。
これには、それぞれのLANセグメントのIPXネットワークアドレス、
それぞれのセグメントにどのイーサネットデバイス(eth0, eth1など)が
接続されているのか、それぞれのLANセグメントがどのフレームタイプ
(802.3, EtherIIなど)を使用しているのか、サーバが使用すべき
インターナルネットワークアドレス(これは実際には、サーバが複数の
LAN セグメントに対してサービスする場合に必要です。)
を知る必要があります。
設定の例として、異なるIPXネットワークセグメントのアドレス 23a91300 と
23a91301 の上の、インターナルネットワークアドレスbdefacedというサーバ
の場合には次のようになります:
# ipx_internal_net add BDEFACED 1
# ipx_interface add eth0 802.3 23a91300
# ipx_interface add eth1 etherii 23a91301
ルーティングデーモンのスタート
カーネルは実際のところ、IPに対するのと同様にIPXパケットを
フォワードします。しかし、カーネルはルーティングテーブルの
更新を管理するために追加のソフトウエアを必要とします。
IPXの場合には、二つのデーモンが必要であり、両方とも
lwaredと共に供給されています。
ipxripdはIPXルーティング情報を管理し、ipxsapdはSAP情報を管理します。
これらのデーモンをスタートするには、そのログメッセージをどこに
出力するかを指定するだけです:
# ipxripd /var/adm/ipxrip
# ipxsapd /var/adm/ipxsap
lwaredサーバの設定
lwaredサーバに対してログインを許すためには、手動で二つのファイルを
設定する必要があります。以下の通り:
/etc/lwpasswd
LinWareユーザのアカウント情報を保持するファイルです。
lwpasswdプログラムはそれを最新の状態に保つためのものです。
/etc/lwpasswdファイルの最もシンプルな形式はこんな感じ:
ales:
terryd:
guest:
ログインIDの後ろに':'が付加された単純なリストです。':'の後ろに
暗号化されたパスワードが入ります。
重要なことは、暗号化されたパスワードが存在しない場合にはパスワード
なし、と認識されるということです。
LinWareユーザはLinuxアカウントをもっていなければなりません。
すなわち、/etc/lwpasswdの中のすべてのユーザは/etc/passwdの
中にも存在しなければなりません。
また、他のLinWareユーザのパスワードを変更できるのはrootユーザ
のみです。rootとしてログインすることで、LinWareユーザの
パスワードを以下のように設定・変更することができます:
# lwpasswd rodg
Changing password for RODG
Enter new password:
Re-type new password:
Password changed.
/etc/lwvtab
LinWareのボリュームテーブルで、LinWareユーザに対して
どのディレクトリが利用可能かが保持されています。(この
ファイルはNFSにおける、/etc/exportsファイルと同様の機能
です。)シンプルな例は :
SYS /lwfs/sys
DATA /lwfs/data
HOME /home
フォーマットはシンプルです:ボリューム名の後に空白を置き、
その後ろにエクスポートされるLinuxのディレクトリ名を書きます。
サーバをスタートするためには、少なくともSYSボリュームの
エントリーを記述する必要があります。
もし、DOSベースのユーザが、LinWareサーバをプライマリサーバとして
使える必要がある場合にはSYSボリュームとしてエクスポートしている
ディレクトリの下にスタンダードSYSボリュームディレクトリを
インストールする必要があります。
この場合、もちろんこれらのファイルは、 Novell Corporationの著作権が
あるので、あなたはこれらについてのライセンスをもっていなければ
なりません。
もしユーザがプライマリサーバとしてNovellファイルサーバを
使っているのならば、必要ありません。
lwaredサーバをスタートする
じゃんじゃじゃーーーん!
# lwared
なんと簡単なんでしょうね?恐らくあなたは疑問があるでしょう。
通知(advertise)されるべきファイルサーバ名はどうやってわかるんでしょう?
上のようにサーバを起動した場合には、Linuxのhostnameで返される
名前がファイルサーバ名として通知されます。
他の名前をファイルサーバ名として通知したい場合には、例えば:
# lwared -nlinux00
のようにすると、サーバ名はlinux00となります。
lwaredをテストする
まず最初に、ネットワーク上のDOSクライアントから、slistで
LinWareサーバが見えるかどうか、のテストをします。slistプログラム
はNovellファイルサーバのSYSボリュームにあるので、どこかすでに
ログインしているマシンからテストする必要があります。
もしこれがうまくいかなかった場合にはipxsapdとlwaredの
両方が起動されている事を確認してください。slistがうまくいったら、
次にサーバにアタッチして、ボリュームをマッピングします:
C:> attach linux00/ales
...
...
C:> map l:=linux00/data:
C:> l:
他のマップと同じ様に、これらの新しいマップを扱う事ができるはずです。
ここでのファイルパーミッションは、あなたのLinWareログインに相当する
Linuxアカウントに許されたパーミッションに基づいたものになります。
10. IP経由のIPXトンネル
二つのLAN間にIP接続しか無い、という状況はよくあるものです。この
ような場合に、DOS上のDOOMでどうやってマルチプレイヤーのデスマッチを
したらいいでしょう?Andreas Godzina <ag@agsc.han.de>のipxtunnel
がその答です。
ipxtunnelはIPXパケットをTCP/IPデータグラムにカプセル化してTCP/IP
接続を通過させます。これによって、IPXブリッジのような機能を提供します。
ipxtunnelはIPXパケットを待ち受け(listen)、それをTCP/IPデータグラムに
包みこんで、指定されたリモートIPアドレスに配送します。
もちろん、これがうまく動作するためには、指定先のマシンでも同じバージョンの
ipxtunnelが動作していることが必要です。
10.1. ipxtunnelを入手する
ipxtunnelはsunsite.unc.edu
<ftp://sunsite.unc.edu/pub/Linux/system/Network/daemons> または
そのミラーサイトから入手することができます。
10.2. ipxtunnelを構築する
私の場合、以下のコマンドできれいに構築できました:
# cd /usr/src
# tar xvfz .../ipxtunnel.tgz
# cd ipxtunnel
# make
10.3. ipxtunnelの設定
ipxtunnelの設定はとても簡単です。相手のマシンが gau.somewhere.com で、
あなたのマシンが gim.sw.edu だとしましょう。
ipxtunnelは、/etc/ipxtunnel.confというファイルを設定ファイルとして
使います。このファイルには、TCP/IP接続に使われるデフォールトの
UDPポートや、カプセル化されたデータをどこに送るか、どのローカル
インターフェースに対してipxtunnelがデータをやりとりするかなどを
指定します。
簡単な設定ファイルの例を以下に示します:
#
# /etc/ipxtunnel.conf for gim.sw.edu
#
# The UDP port to use: (default 7666)
port 7777
#
# The remote machine to send IPX packets to: (no default)
remote gau.somewhere.com
#
# The local interfaces to listen for IPX on: (default eth0)
interface eth0
interface eth1
当然のことですが、相手先のマシンでは、同様の設定で、ただし
あなたのマシンをリモートマシンとして設定する必要があります。
10.4. ipxtunnelのテストと使い方
ipxtunnelは、IPXブリッジのようにふるまいます。ですから、接続している
相互のIPXネットワークは同じものでなければならないでしょう。Andreasは
実際にNovellファイルサーバが稼動している環境でのipxtunnelの動作を
確認していないので、もしあなたがこのような環境で使ってみた場合には
ぜひAndreasに対して、動作したかどうかを知らせてあげてください。
ipxtunnelがうまく動作すれば、DOOMをリンク端の両方のマシンで動作させ、
お互いを見ることができるはずです。
Andreasはこのコードを高速の回線の上で使っているため、低速の回線での
パフォーマンスに関してはわかりません。
ぜひ、何がうまく動作して、何はうまく動作しないか、を彼に知らせて
あげてください。
11. NovellのLinux商用サポート
Caldera社は完全なNovell Netwareクライアント機能を含む、幅広い
拡張をおこなったLinuxパッケージを商用に作成/サポートしています。
ベースとなっている版は良く考慮されたRed Hat Linux Distributionであり、
Caldera社は彼らの「ネットワークデスクトップ」製品をこれに付加して
います。NetWare機能は、Novellから技術ライセンス供与を受けて作成された
ものであり、完全なNetWareクライアント機能を実現しています。
このクライアント機能は、Novellの3.x, 4.xファイルサーバに対する完全な
クライアントアクセスを提供し、NerWareのディレクトリサービス(NDS)や
RSA暗号化機能なども含んでいます。
もっと詳細な情報や、注文方法については、Caldera社のWebサーバ
<http://www.caldera.com/>を参照してください。
もしあなたがNovell のサポートを必要とする Linux 用のビジネス
アプリケーションを使わなければならないのなら、Caldera社の製品は
注目に値するでしょう。
12. 著作権に関するメッセージ
IPX-HOWTOの著作権は Terry Dawsonに属します。
著作権に関する記述とこの許可文書がすべての複製の中に保存されている
ことを条件として、そのままの複製を作成し、配布することを許可します。
その文書が修正したものであると明記されており、上で述べたそのままの
文書と同じ条件を満たしていれば、この文書を修正したものの複製/配布を
許可します。
上に述べた修正版のドキュメントに関する条件を守る限り、
このドキュメントを他の言語に翻訳したものを複製/配布することを許可します。
新しいメディアにおいて元の文書への明確な参照が含まれることで
元の文書を承認するための要件が満たされるなら、上に述べた修正版に
関する条件を守る限り、この文書を他のメディアに変換することを許可
します。ここで何を「明確な」と定義するかは疑わしいところではあり
ますが、それについても著作権所有者が決定する権利を保有します。
13. その他 && 謝辞
David E. Storey <dave@tamos.gmu.edu> と Volker Lendecke
<lendecke@namu01.gwdg.de> の両者はこのドキュメントに対して
いろいろな情報提供をしてくれることで非常に支援してくれました。
"NetWare"はNovell社の登録商標<http://www.novell.com/>です。
"Caldera"はCaldera社の登録商標<http://www.caldera.com/>です。
regards Terry Dawson, vk2ktj.
<94004531@postoffice.csu.edu.au>, or
<terry@perf.no.itg.telecom.com.au>
次のページ
前のページ
目次へ