如果您有多个希望互联的 IPX 网段,您需要路由器的服务。在 Novell 环境中,有两条信息需要在网络中传播。它们是使用 Novell RIP 传播的网络路由信息,以及使用 Novell SAP 传播的服务广播信息。在大多数情况下,任何路由器都必须支持这两种协议才能发挥作用。
Linux 支持这两种协议,并且可以相当容易地使其充当完全兼容 Novell 的路由器。
Linux 内核 IPX 支持实际上管理跨接口的 IPX 数据包转发,但它根据编码到 IPX 路由表中的规则执行此操作。Linux 需要一个程序来实现 Novell RIP 和 SAP,以确保正确构建 IPX 路由表并定期更新以反映网络状态的变化。
Volker Lendecke <lendecke@namu01.gwdg.de>
开发了一个路由守护程序 ipxripd,它将为您执行此操作。稍后提到的 mars_nwe 软件包包含一个替代路由守护程序。
您可以在以下位置找到 ipxripd
或在 Volker 的主页:
配置您的 Linux 机器作为路由器非常简单。您必须采取的步骤是
/proc
。考虑以下简单网络
IPX Addr: 0x01000000 802.2 |--------------------------| | \_________________________ \ Linux Router IPX Addr: 0x02000000 802.2 \ |--------------------------| \ eth0/-----------\ | \--====| | \_________________________ | IPX route | \ eth1| Table | IPX Addr: 0x03000000 etherII \----====| ^ | |--------------------------| | | | | eth2| IPXd | \______________________________/====| | | SAPd | IPX Addr: 0x04000000 etherII eth3| | |--------------------------| /====| | | | \___________/ \______________________________/
上述网络的配置如下所示
# ipx_interface add eth0 802.2 0x0100000000
# ipx_interface add eth1 802.2 0x0200000000
# ipx_interface add eth2 etherii 0x0300000000
# ipx_interface add eth3 etherii 0x0400000000
# ipxd
然后您应该等待片刻,并检查您的 /proc/net/ipx_route
文件,您应该看到它填充了与您的配置相关的 IPX 路由以及从网络中任何其他路由器学习到的路由。
Novell 有一个名为内部网络的功能,它用于简化主机连接了多个网络设备的情况下的路由。这在连接到多个网络的文件服务器的情况下非常有用,因为它意味着只需要广播一条路由即可到达服务器,无论您从哪个网络尝试访问。
在您未运行文件服务器且您的机器仅充当 IPX 路由器的配置情况下,问题并没有那么容易回答。据报道,如果您还配置了内部网络,则 IPX/PPP 的配置效果会“更好”。
无论如何,这很容易做到,但可能需要重建您的内核。当您通过内核 make config
工作时,当询问 Full internal IPX network
时,您必须回答 y
,如图所示
...
...
Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] y
...
...
要配置内部网络接口,请使用 IPX 工具部分前面描述的 ipx_internal_net 命令。主要预防措施是确保您分配的 IPX 网络地址在您的网络上是唯一的,并且没有其他机器或网络正在使用它。