使用 ipaddrsel 命令,可以修改 IPv6 缺省地址选择策略表。
Oracle Solaris : 内核使用 IPv6 缺省地址选择策略表为 IPv6 数据包头执行目标地址排序和源地址选择。/etc/inet/ipaddrsel.conf 文件包含该策略表。
下表列出了缺省地址的格式以及它们的策略表优先级。有关 IPv6 地址选择的技术详细信息,请参见 inet6(7P) 手册页。
表 11–5 IPv6 地址选择策略表
前缀 |
优先级 |
定义 |
---|---|---|
::1/128 |
50 |
回送 |
::/0 |
40 |
缺省值 |
2002::/16 |
30 |
6to4 |
::/96 |
20 |
与 IPv4 兼容 |
::ffff:0:0/96 |
10 |
IPv4 |
在该表中,IPv6 前缀(::1/128 和 ::/0)优先于 6to4 地址 (2002::/16)、IPv4 地址(::/96 和 ::ffff:0:0/96)。因此,在缺省情况下,内核将为转至另一个 IPv6 目标的包选择接口的全局 IPv6 地址。接口的 IPv4 地址具有较低的优先级,对于转至 IPv6 目标的包尤其如此。如果给出了选定的 IPv6 源地址,内核针对目标地址也使用 IPv6 格式。
在许多情况下,您不必更改 IPv6 缺省地址选择策略表。如果确实需要管理策略表,请使用 ipaddrsel 命令。
在下列情况下,您可能希望修改策略表:
如果系统中有一个用于 6to4 隧道的接口,可以赋予 6to4 地址更高的优先级。
如果希望与特定的目标地址进行通信时仅使用特定的源地址,可以将这些地址添加到策略表中。然后,可以使用 ifconfig 将这些地址标记为首选地址。
如果希望 IPv4 地址优先于 IPv6 地址,可以将 ::ffff:0:0/96 的优先级更改为较大的数字。
如果需要为过时的地址指定较高的优先级,可以将过时的地址添加到策略表中。例如,现在,本地站点地址在 IPv6 中已过时。这些地址的前缀为 fec0::/10。可以更改策略表,以便赋予本地站点地址更高的优先级。
有关 ipaddrsel 命令的详细信息,请参阅 ipaddrsel(1M) 手册页。