跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:IP 服务 Oracle Solaris 11 Information Library (简体中文) |
本节介绍如何修改作为主机或服务器的节点上启用了 IPv6 的接口的配置。大多数情况下,应当针对启用了 IPv6 的接口使用地址自动配置,如《系统管理指南:IP 服务》中的"无状态自动配置概述"中所述。但是,可以按照本节中的任务说明,根据需要修改接口的 IPv6 地址。
您需要按以下顺序执行三个常规任务:
关闭 IPv6 地址自动配置。请参见如何关闭 IPv6 地址自动配置。
为主机创建临时地址。请参见如何配置临时地址。
为接口 ID 配置 IPv6 标记。请参见如何配置用户指定的 IPv6 标记。
IPv6 临时地址包括一个随机生成的用作接口 ID 的 64 位数字,而不是包括接口的 MAC 地址。对于要保持匿名的 IPv6 节点上的任何接口都可以使用临时地址。例如,您可能希望对于需要访问公共 Web 服务器的主机的接口使用临时地址。临时地址可实现 IPv6 保密性增强功能。RFC 3041 中介绍了这些增强功能,可从 "Privacy Extensions for Stateless Address Autoconfiguration in IPv6" 中获取。
如果需要的话,可以在 /etc/inet/ndpd.conf 文件中为一个或多个接口启用临时地址。但是,与自动配置的标准 IPv6 地址不同,临时地址由 64 位子网前缀和一个随机生成的 64 位数字组成。这个随机数将成为 IPv6 地址的接口 ID 部分。临时地址作为接口 ID 时,不会生成链路本地地址。
请注意,临时地址的缺省首选生命周期为一天。启用临时地址生成功能时,还可以在 /etc/inet/ndpd.conf 文件中配置下列变量:
临时地址存在的时间跨度,在此之后临时地址将从主机中删除。
临时地址过时之前已经过的时间。此时间跨度应短于有效生命周期。
在首选生命周期到期之前的持续时间,在这段时间内,主机应生成新的临时地址。
可以按如下所示表示临时地址的持续时间:
n 秒数(缺省值)
n 小时数 (h)
n 天数 (d)
请参阅如何针对 IPv6 配置系统。
ifdefault TmpValidLifetime duration
此语法为主机上的所有接口指定有效生命周期。duration 的值应当以秒、小时或天为单位。缺省的有效生命周期为 7 天。另外,还可以使用带有 if interface 关键字的 TmpValidLifetime 来为特定接口的临时地址指定有效生命周期。
if interface TmpPreferredLifetime duration
此语法为特定接口的临时地址指定首选生命周期。缺省的首选生命周期为一天。另外,还可以使用带有 ifdefault 关键字的 TmpPreferredLifetime 来为主机所有接口上的临时地址指定首选生命周期。
注 - 缺省地址选择可为已经过时的 IPv6 地址指定较低的优先级。如果某个 IPv6 临时地址已过时,则缺省地址选择会将未过时的地址选作包的源地址。未过时的地址可能是自动生成的 IPv6 地址,也可能是接口的 IPv4 地址。有关缺省地址选择的更多信息,请参见管理缺省地址选择。
ifdefault TmpRegenAdvance duration
此语法可为主机上所有接口的临时地址指定地址过时之前的前导时间。缺省值是 5 秒。
# pkill -HUP in.ndpd # /usr/lib/inet/in.ndpd
该命令输出显示临时地址的 CURRENT 字段中的 t 标志。
示例 4-3 /etc/inet/ndpd.conf 文件中的临时地址变量
以下示例显示了针对主网络接口启用了临时地址的 /etc/inet/ndpd.conf 文件片段。
ifdefault TmpAddrsEnabled true ifdefault TmpValidLifetime 14d ifdefault TmpPreferredLifetime 7d ifdefault TmpRegenAdvance 6s
示例 4-4 启用了临时地址的 ipadm show-addr 命令输出
此示例显示了创建临时地址之后 ipadm show-addr 命令的输出。请注意,样例输出中仅包括 IPv6 相关信息。
# ipadm show-addr -o all ADDROBJ TYPE STATE CURRENT PERSISTENT ADDR lo0/v6 static ok U---- --- ::1/128 net0/v6 addrconf ok U---- --- fe80::a00:20ff:feb9:4c54/10 net0/v6a static ok U---- --- 2001:db8:3c4d:15:a00:20ff:feb9:4c54/64 net0/? addrconf ok U--t- --- 2001:db8:3c4d:15:7c37:e7d1:fc9c:d2cb/64
请注意,对于地址对象 net0/?,t 标志在 CURRENT 字段下设置。该标志指示对应地址具有临时接口 ID。
另请参见
要为 IPv6 地址设置名称服务支持,请参见针对 IPv6 配置名称服务支持。
要为服务器配置 IPv6 地址,请参见如何配置用户指定的 IPv6 标记。
要监视 IPv6 节点上的活动,请参见第 5 章。
如IPv6 Addressing Overview中所述,IPv6 地址的 64 位接口 ID 又称作《系统管理指南:IP 服务》中的"IPv6 寻址概述"。在地址自动配置过程中,该标记与接口的 MAC 地址相关联。大多数情况下,非路由节点(即 IPv6 主机和服务器)应当使用为其自动配置的标记。
但是,对于在系统维护过程中经常需要交换接口的服务器,使用自动配置的标记可能会产生问题。如果更换接口卡,则 MAC 地址也会随之更改。因此,依赖稳定 IP 地址的服务器将会遇到问题。网络基础结构的各个部分(如 DNS 或 NIS)可能已经存储了服务器接口的特定 IPv6 地址。
为了避免出现地址更改问题,可以手动配置要用作 IPv6 地址中接口 ID 的标记。要创建此标记,需要指定一个 64 位或更少的十六进制数字,使其占用 IPv6 地址的接口 ID 部分。在后续的地址自动配置过程中,相邻节点搜索协议不会基于接口的 MAC 地址创建接口 ID。相反,手动创建的标记将成为接口 ID。此标记始终被指定给该接口,即使更换了卡也是如此。
注 - 用户指定的标记和临时地址之间的区别在于,临时地址是随机生成的,而不是由用户显式创建的。
接下来的说明对于经常更换接口的服务器尤其有用。它们也可用于在任何 IPv6 节点上配置用户指定的标记。
注 - 确保该接口未配置 IPv6 地址。
# ipadm show-if IFNAME CLASS STATE ACTIVE OVER lo0 loopback ok yes --- net0 ip ok yes --- # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8
此输出显示存在未配置 IPv6 地址的网络接口 net0。
对于每个要具有用户指定接口 ID(标记)的接口,请使用以下形式的 ipadm 命令:
# ipadm create-addr -T addrconf -i interface-ID addrobj
例如,可使用以下命令配置接口 net0 的标记:
# ipadm create-addr -T addrconf -i ::1a:2b:3c:4d/64 net0/v6add
注 - 为地址对象创建标记之后,无法再修改该标记。
# pkill -HUP in.ndpd
示例 4-5 在 IPv6 接口上配置用户指定的标记
以下示例显示为 net0 配置了 IPv6 地址和标记。
# ipadm show-if IFNAME CLASS STATE ACTIVE OVER lo0 loopback ok yes --- net0 ip ok yes --- # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 # ipadm create-addr -T addrconf -i ::1a:2b:3c:4d/64 net0/v6 # pkill -HUP in.ndpd # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v6 static ok ::1/128 net0/v6 addrconf ok fe80::1a:2b:3c:4d/10 net0/v6 addrconf ok 2002:a08:39f0:1:1a:2b:3c:4d/64
配置标记之后,地址对象 net0/v6 同时具有链路本地地址和为其接口 ID 配置的地址 1a:2b:3c:4d。请注意,创建 net0/v6 之后,无法再针对该接口修改此标记。
另请参见
要使用服务器的 IPv6 地址更新名称服务,请参见针对 IPv6 配置名称服务支持。
要监视服务器性能,请参见第 5 章。
如果计划在服务器上配置 IPv6,则在服务器的接口上启用 IPv6 时,必须做出几个决定。所做的决定会影响用于配置接口 IPv6 地址的接口 ID(又称作标记)的策略。
此过程提供在网络服务器上启用 IPv6 的常规步骤。某些步骤根据要实现 IPv6 的方式的不同可能有所不同。
有关过程,请参阅配置 IPv6 接口。
有关更多信息,请参阅配置 IPv6 路由器。
缺省情况下,在创建 IPv6 地址的接口 ID 部分时,IPv6 地址自动配置会使用接口的 MAC 地址。如果接口的 IPv6 地址是已知的,则使用一个接口交换另一个接口会导致问题。新接口的 MAC 地址将会不同。在地址自动配置过程中,会生成新的接口 ID。
对于不打算替换的启用了 IPv6 的接口,请使用自动配置的 IPv6 地址,如《系统管理指南:IP 服务》中的"IPv6 地址自动配置"中所述。
对于必须匿名显示在本地网络外部的启用了 IPv6 的接口,请考虑对接口 ID 使用随机生成的标记。有关说明和示例,请参阅如何配置临时地址。
对于计划定期交换的启用了 IPv6 的接口,请为接口 ID 创建标记。有关说明和示例,请参阅如何配置用户指定的 IPv6 标记。