たくさんの 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 マシンをルータとして機能させるために設定するのはとても簡単です。 以下の手順です:
次のような単純なネットワークを考えます:
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 ルートの情報が入っている はずです。