在 Oracle® Solaris 11.2 中配置和管理网络组件

退出打印视图

更新时间: 2014 年 7 月
 
 

为 IPv6 接口使用临时地址

IPv6 临时地址包括一个随机生成的用作接口 ID 的 64 位数字,而不是包括接口的 MAC 地址。对于要保持匿名的 IPv6 节点上的任何接口都可以使用临时地址。例如,您可能希望对于需要访问公共 Web 服务器的主机的接口使用临时地址。临时地址可实现 IPv6 保密性增强功能。RFC 3041 中介绍了这些增强功能,可从《Privacy Extensions for Stateless Address Autoconfiguration in IPv6》(《IPv6 中用于无状态地址自动配置的专用扩展》)中获取。

如果需要的话,可以在 /etc/inet/ndpd.conf 文件中为一个或多个接口启用临时地址。但是,与自动配置的标准 IPv6 地址不同,临时地址由 64 位子网前缀和一个随机生成的 64 位数字组成。这个随机数将成为 IPv6 地址的接口 ID 部分。临时地址作为接口 ID 时,不会生成链路本地地址。

请注意,临时地址的缺省首选生命周期为一天。启用临时地址生成功能时,还可以在 /etc/inet/ndpd.conf 文件中配置下列变量:

valid lifetime TmpValidLifetime

临时地址存在的时间跨度,在此之后临时地址将从主机中删除。

preferred lifetime TmpPreferredLifetime

临时地址过时之前已经过的时间。此时间跨度应短于有效生命周期。

address regeneration

在首选生命周期到期之前的持续时间,在这段时间内,主机应生成新的临时地址。

可以按如下所示表示临时地址的持续时间:

n

n 秒数(缺省值)

n h

n 小时数 (h)

n d

n 天数 (d)

如何配置临时 IPv6 地址

  1. 如有必要,请在主机的接口上启用 IPv6。

    请参阅如何针对 IPv6 配置系统

  2. 编辑 /etc/inet/ndpd.conf 文件以开启临时地址生成功能。
    • 要在主机的所有接口上配置临时地址,请将以下行添加到 /etc/inet/ndpd.conf 文件中:

      ifdefault TmpAddrsEnabled true
    • 要配置特定接口的临时地址,请将以下行添加到 /etc/inet/ndpd.conf 文件中:

      if interface TmpAddrsEnabled true 
  3. (u53ef选) 指定临时地址的有效生命周期。
    ifdefault TmpValidLifetime duration

    此语法为主机上的所有接口指定有效生命周期。duration 的值应当以秒、小时或天为单位。缺省的有效生命周期为 7 天。另外,还可以将 TmpValidLifetimeif interface 关键字一起使用来为特定接口的临时地址指定有效生命周期。

  4. (u53ef选) 为临时地址指定所需的生命周期,在此时间之后临时地址将过时。
    if interface TmpPreferredLifetime duration

    此语法为特定接口的临时地址指定首选生命周期。缺省的首选生命周期为一天。另外,还可以将 TmpPreferredLifetimeifdefault 关键字一起使用来为主机所有接口上的临时地址指定所需的生命周期。


    注 -  缺省地址选择可为已经过时的 IPv6 地址指定较低的优先级。如果某个 IPv6 临时地址已过时,则缺省地址选择会选择一个未过时的地址作为包的源地址。未过时的地址可能是自动生成的 IPv6 地址,也可能是接口的 IPv4 地址。有关缺省地址选择的更多信息,请参见在 Oracle Solaris 11.2 中管理 TCP/IP 网络、IPMP 和 IP 隧道 中的 管理缺省地址选择
  5. (u53ef选) 指定地址过时之前的交付周期,在这段时间内,主机应生成新的临时地址。
    ifdefault TmpRegenAdvance duration

    此语法可为主机上所有接口的临时地址指定地址过时之前的交付周期。缺省值是 5 秒。

  6. 如下所示更改 in.ndpd 守护进程的配置:
    # pkill -HUP in.ndpd
    # /usr/lib/inet/in.ndpd
  7. 通过发出 ipadm show-addr 命令验证是否已创建了临时地址,如示例 6 中所述。

    该命令输出显示临时地址的 CURRENT 字段中的 t 标志。

示例 6  显示启用了临时地址的 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/?,在 CURRENT 字段下设置了 t 标记,指示对应的地址具有临时接口 ID。

另请参见