15.4. 配置 IPX 接口

正如 TCP/IP 一样,您必须先配置 IPX 接口才能使用它们。IPX 协议有一些独特的要求;因此,开发了一套特殊的配置工具。我们将使用这些工具来配置我们的 IPX 接口和路由。

15.4.1. 支持 IPX 的网络设备

IPX 协议假定任何可以相互传输数据报而无需路由的主机集合都属于同一个 IPX 网络。属于单个以太网段的所有主机都属于同一个 IPX 网络。类似地(但不太直观),支持基于 PPP 的串行链路的两个主机都必须属于作为串行链路本身的 IPX 网络。在以太网环境中,有许多不同的帧类型可用于承载 IPX 数据报。帧类型代表不同的以太网协议,并描述在同一以太网网络上承载多种协议的不同方式。您将遇到的最常见的帧类型是802.2ethernet_II。我们将在下一节详细讨论帧类型。

当前支持 IPX 协议的 Linux 网络设备是以太网和 PPP 驱动程序。以太网或 PPP 接口必须处于活动状态才能配置为 IPX 使用。通常,您会使用 IP 和 IPX 配置以太网设备,因此该设备已经存在,但是如果您的网络仅是 IPX,则需要使用 ifconfig 来更改以太网设备状态,如下所示
# ifconfig eth0 up

15.4.2. IPX 接口配置工具

Greg Page 开发了一套 IPX 接口的配置工具,这是一个现代发行版中的预编译软件包,也可以通过匿名 FTP 从 http://metalab.unc.edu//pub/Linux/system/filesystems/ncpfs/ipx.tgz文件中获取源代码形式。

一个rc脚本文件通常在启动时运行 IPX 工具。如果您已安装预先打包的软件,您的发行版可能已经为您执行此操作。

15.4.3. ipx_configure 命令

每个 IPX 接口都必须知道它属于哪个 IPX 网络以及要用于 IPX 的帧类型。每个支持 IPX 的主机都至少有一个接口,网络的其余部分将使用该接口来引用它,称为接口。Linux 内核 IPX 支持提供了一种自动配置这些参数的方法;ipx_configure 命令启用或禁用此自动配置功能。

不带任何参数,ipx_configure 命令显示自动配置标志的当前设置
# ipx_configure
Auto Primary Select is OFF
Auto Interface Create is OFF

默认情况下,“自动主接口”和“自动接口”标志都处于关闭状态。要设置它们并启用自动配置,您只需提供如下参数
# ipx_configure --auto_interface=on --auto_primary=on

- -auto_ primary参数设置为on时,内核将自动确保至少有一个活动接口充当主机的主接口。

- -auto_interface参数设置为on时,内核 IPX 驱动程序将侦听活动网络接口上接收到的所有帧,并尝试确定使用的 IPX 网络地址和帧类型。

自动检测机制在管理良好的网络上运行良好。有时,网络管理员会走捷径并违反规则,这可能会给 Linux 自动检测代码带来问题。最常见的例子是当一个 IPX 网络配置为在同一个以太网上使用多种帧类型运行时。从技术上讲,这是一个无效的配置,因为 802.2 主机无法直接与 Ethernet-II 主机通信,因此它们不能在同一个 IPX 网络上。Linux IPX 网络软件侦听网段上发送的 IPX 数据报。从中,它尝试识别正在使用的网络地址以及与每个地址关联的帧类型。如果同一个网络地址与多种帧类型或在多个接口上使用,则 Linux 代码会将其检测为网络地址冲突,并且无法确定哪个是正确的帧类型。如果您在系统日志中看到如下消息,您就会知道这种情况正在发生
IPX: Network number collision 0x3901ab00
eth0 etherII and eth0 802.3
如果您看到此问题,请禁用自动检测功能,并使用下一节中描述的 ipx_interface 命令手动配置接口。

15.4.4. ipx_interface 命令

ipx_interface 命令用于手动添加、修改和删除现有网络设备的 IPX 功能。当刚刚描述的自动配置方法对您不起作用,或者您不想将接口配置留给偶然时,您应该使用 ipx_interfaceipx_interface 允许您指定网络设备将使用的 IPX 网络地址、主接口状态和 IPX 帧类型。如果您要创建多个 IPX 接口,则每个接口都需要一个 ipx_interface

将 IPX 添加到现有设备的命令语法很简单,最好用一个例子来解释。让我们将 IPX 添加到现有以太网设备
# ipx_interface add -p eth0 etherII 0x32a10103
这些参数依次表示

-p

此参数指定此接口应为主接口。此参数是可选的。

eth0

这是我们向其添加 IPX 支持的网络设备的名称。

etherII

此参数是帧类型,在本例中为 Ethernet-II。此值也可以编码为802.2, 802.3,或者SNAP.

0x32a10103

这是此接口所属的 IPX 网络地址。

以下命令从接口中删除 IPX
# ipx_interface del eth0 etherII

最后,要显示网络设备的当前 IPX 配置,请使用
# ipx_interface check eth0 etherII

ipx_interface 命令在其手册页中有更完整的解释。