系统管理指南:IP 服务

测试地址

测试地址是由 in.mpathd 守护进程使用的特定于 IPMP 的地址。对于要使用基于探测器的故障和修复检测的接口,至少必须为其配置一个测试地址。


注 –

仅当希望使用基于探测器的故障检测时,才需要配置测试地址。


in.mpathd 守护进程使用测试地址与 IP 链路上的其他目标交换 ICMP 探测器(也称为探测器通信)。探测器通信有助于确定接口及其 NIC 的状态,其中包括接口是否已出现故障。探测器检验接口的发送和接收路径是否正常工作。

可以使用 IP 测试地址配置每个接口。对于双栈网络中的接口,可以配置 IPv4 测试地址或/和IPv6 测试地址。

在接口出现故障后,测试地址将一直保留在故障接口上,以便 in.mpathd 可以继续发送探测器以检查后续修复。必须专门配置测试地址,以便应用程序不会意外地使用它们。有关更多信息,请参阅防止应用程序使用测试地址

有关基于探测器的故障检测的更多信息,请参阅基于探测器的故障检测

IPv4 测试地址

通常,可以将子网中的任何 IPv4 地址用作测试地址。IPv4 测试地址无需是可路由的。由于 IPv4 地址是许多站点的有限资源,因此您可能希望将不可路由的 RFC 1918 专用地址用作测试地址。请注意,in.mpathd 守护进程与测试地址在同一子网中的其他主机仅交换 ICMP 探测器。如果使用 RFC 1918 样式的测试地址,请确保使用适当的 RFC 1918 子网中的地址配置 IP 链路上的其他系统(首选路由器)。然后 in.mpathd 守护进程便可以成功地与目标系统交换探测器。

IPMP 示例将来自 192.168.0/24 网络的 RFC 1918 地址用作 IPv4 测试地址。有关 RFC 1918 专用地址的更多信息,请参阅RFC 1918, Address Allocation for Private Internets

有关如何配置 IPv4 测试地址,请参阅如何配置具有多个接口的 IPMP 组

IPv6 测试地址

唯一的有效 IPv6 测试地址是物理接口的链路本地地址。无需将单独的 IPv6 地址用作 IPMP 测试地址。IPv6 链路本地地址基于接口的介质访问控制 (Media Access Control, MAC) 地址。当引导时接口变成启用了 IPv6 的接口或通过 ifconfig 手动配置接口时,将自动配置链路本地地址。

要确定接口的链路本地地址,请在启用了 IPv6 的节点上运行 ifconfig interface 命令。检查输出中是否包含以前缀 fe80(链路本地前缀)开头的地址。以下 ifconfig 输出中的 NOFAILOVER 标志指示,hme0 接口的链路本地地址 fe80::a00:20ff:feb9:17fa/10 被用作测试地址。


hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2
        	inet6 fe80::a00:20ff:feb9:17fa/10 

有关链路本地地址的更多信息,请参阅链路本地单点传送地址

如果在 IPMP 组的所有接口上同时检测了 IPv4 和 IPv6,则无需配置单独的 IPv4 测试地址。in.mpathd 守护进程可以将 IPv6 链路本地地址用作测试地址。

要创建 IPv6 测试地址,请参阅如何配置具有多个接口的 IPMP 组任务。