以下过程包括配置 IPMP 组之前要收集的规划任务和信息。不必顺序执行这些任务。
确定系统上的哪些接口将是 IPMP 组的一部分。
IPMP 组通常由至少两个连接到同一 IP 链路的物理接口组成。但是,如果需要,可以配置单接口 IPMP 组。有关 IPMP 组的简介,请参阅IPMP 接口配置。例如,可以在同一 IPMP 组下配置同一台以太网交换机或同一个 IP 子网。可以在同一 IPMP 组中配置任意数量的接口。
不能将 ifconfig 命令的 group 参数用于逻辑接口。例如,可以将 group 参数用于 hme0,但是不能用于 hme0:1。
检验组中的每个接口是否具有唯一的 MAC 地址。
有关说明,请参阅SPARC: 如何确保接口的 MAC 地址是唯一的。
为 IPMP 组选择一个名称。
任何非空的名称都适合用作组的名称。您可能希望使用一个可以标识接口所连接到的 IP 链路的名称。
确保在 IPMP 组中的所有接口上推送并配置了同一组 STREAMS 模块。
同一组中的所有接口必须按相同顺序配置相同的 STREAMS 模块。
检查将来的 IPMP 组中所有接口上 STREAMS 模块的顺序。
通过使用 ifconfig interface modlist 命令,可以输出 STREAMS 模块的列表。例如,以下是 hme0 接口的 ifconfig 输出:
# ifconfig hme0 modlist 0 arp 1 ip 2 hme |
接口通常作为网络驱动程序直接位于 IP 模块之下,如 ifconfig hme0 modlist 的输出中所示。它们应该不需要其他配置。
但是,某些技术(如 NCA 或 IP 过滤器)会将自身作为 STREAMS 模块插入到 IP 模块和网络驱动程序之间。同一 IPMP 组的接口的行为方式可能会出现问题。
如果 STREAMS 模块是有状态的,即使将相同模块推送到组中的所有接口上,在进行故障转移时仍可能会出现意外行为。但是,假定按相同顺序将 STREAMS 模块推送到 IPMP 组中的所有接口上,则可以使用无状态 STREAMS 模块。
按 IPMP 组的标准顺序推送接口的模块。
ifconfig interface modinsert module-name |
ifconfig hme0 modinsert ip |
在 IPMP 组的所有接口上使用相同的 IP 寻址格式。
如果为 IPv4 配置了一个接口,则必须为 IPv4 配置组的所有接口。假定有一个由多个 NIC 的接口组成的 IPMP 组。如果在一个 NIC 的接口上进行 IPv6 寻址,则必须将 IPMP 组中的所有接口配置为支持 IPv6。
检查 IPMP 组中的所有接口是否已连接到同一 IP 链路。
检验 IPMP 组是否包含具有不同网络介质类型的接口。
组合在一起的接口应属于相同的接口类型,如 /usr/include/net/if_types.h 中定义的那样。例如,不能将以太网接口和令牌环接口组合在一个 IPMP 组中。此外,不能将令牌总线接口与异步传输模式 (asynchronous transfer mode, ATM) 接口组合在同一 IPMP 组中。
对于具有 ATM 接口的 IPMP,请在 LAN 仿真模式下配置 ATM 接口。
使用经典的 IP over ATM 的接口不支持 IPMP。