系统管理指南:IP 服务

配置 IPv6 接口

配置 IPv6 的第一步就是在接口上启用 IPv6。可以在 Oracle Solaris 10 安装过程中启用 IPv6 支持,也可以通过在已安装的系统的接口上配置 IPv6 来启用 IPv6 支持。

在 Oracle Solaris 10 安装过程中,可以在一个或多个系统接口上启用 IPv6。安装之后,与 IPv6 相关的下列文件和表将准备就绪:

本节介绍如何在已安装的系统的接口上启用 IPv6。

在接口上启用 IPv6(任务列表)

下表列出了各种配置 IPv6 接口的任务。此表中包含对各项任务要完成的工作的说明,以及当前文档中详细介绍用于执行任务的特定步骤的章节。

任务 

说明 

参考 

在已经装有 Oracle Solaris 10 的系统的接口上启用 IPv6。 

使用此任务可以在安装 Oracle Solaris 10 之后在接口上启用 IPv6。 

如何启用当前会话的 IPv6 接口

使启用了 IPv6 的接口的配置在重新引导后仍然持保持不变。 

使用此任务可以使接口的 IPv6 地址成为永久地址。 

如何启用持久性 IPv6 接口

关闭 IPv6 地址自动配置。 

如果需要手动配置 IPv6 地址的接口 ID 部分,请使用此任务。 

如何关闭 IPv6 地址自动配置

Procedure如何启用当前会话的 IPv6 接口

开始配置 IPv6 时,请首先在将成为 IPv6 节点的所有系统的接口上启用 IPv6。最初,接口通过自动配置过程获取其 IPv6 地址,如IPv6 地址自动配置中所述。然后,可以根据节点在 IPv6 网络中的作用(作为主机、服务器或路由器)来调整节点的配置。


注 –

如果接口与当前正在通告某个 IPv6 前缀的路由器在同一链路上,则接口会获取该站点前缀,并将其作为自动配置的地址的一部分。有关更多信息,请参阅如何配置启用了 IPv6 的路由器


以下过程说明如何为安装 Oracle Solaris 10 之后添加的接口启用 IPv6。

开始之前

完成 IPv6 网络的规划任务,如升级硬件和软件以及准备寻址计划。有关更多信息,请参见IPv6 规划(任务列表)

  1. 以主管理员身份或超级用户身份登录预期的 IPv6 节点。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 在接口上启用 IPv6。


    # ifconfig inet6 interface plumb up
    
  3. 启动 IPv6 守护进程 in.ndpd


    # /usr/lib/inet/in.ndpd
    

    注 –

    可以使用 ifconfig-a6 命令来显示节点上启用了 IPv6 的接口的状态。



示例 7–1 在安装之后启用 IPv6 接口

此示例说明如何在 qfe0 接口上启用 IPv6。在开始之前,请检查系统上已配置的所有接口的状态。


# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
qfe0: flags=1000863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,IPv4> mtu 1500 
           index 2
        inet 172.16.27.74 netmask ffffff00 broadcast 172.16.27.255
        ether 0:3:ba:13:14:e1 

目前仅为该系统配置了 qfe0 接口。请按如下所示在该接口上启用 IPv6:


# ifconfig inet6 qfe0 plumb up
# /usr/lib/inet/in.ndpd
# ifconfig -a6
lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
        inet6 ::1/128 
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        ether 0:3:ba:13:14:e1 
        inet6 fe80::203:baff:fe13:14e1/10

此示例显示了系统接口在 qfe0 启用 IPv6 前后的状态。ifconfig-a6 选项仅显示 qfe0 的 IPv6 信息和回送接口。请注意,输出结果表明仅为 qfe0 配置了一个链路本地地址 fe80::203:baff:fe13:14e1/10。此地址指明到目前为止,该节点的本地链路上没有任何路由器通告站点前缀。

启用 IPv6 之后,可以使用 ifconfig -a 命令来显示系统上所有接口的 IPv4 和 IPv6 地址。


接下来的操作

Procedure如何启用持久性 IPv6 接口

此过程说明如何启用具有自动配置的 IPv6 地址的 IPv6 接口,这些地址在随后进行重新引导时将一直保持不变。


注 –

如果接口与当前正在通告某个 IPv6 前缀的路由器在同一链路上,则接口会获取该站点前缀,并将其作为自动配置的地址的一部分。有关更多信息,请参阅如何配置启用了 IPv6 的路由器


  1. 以主管理员身份或超级用户身份登录 IPv6 节点。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 为安装之后添加的接口创建 IPv6 地址。

    1. 创建配置文件。


      # touch /etc/hostname6.interface
      
    2. 向配置文件添加地址。


      inet6 ipv6-address up
      addif inet6 ipv6-address up
      ...
  3. 创建静态 IPv6 缺省路由。


    # /usr/sbin/route -p add -inet6 default ipv6-address
    
  4. (可选)创建一个 /etc/inet/ndpd.conf 文件,该文件定义了节点上接口变量的参数。

    如果需要为主机的接口创建临时地址,请参阅将临时地址用于接口。有关 /etc/inet/ndpd.conf 的详细信息,请参阅 ndpd.conf(4) 手册页和ndpd.conf 配置文件

  5. 重新引导该节点。


    # reboot -- -r
    

    在重新引导过程中将发送路由器搜索包。如果路由器以站点前缀进行响应,则节点可以使用对应的包含全局 IPv6 地址的 /etc/hostname6.interface 文件配置任何接口。否则,仅能使用链路本地地址配置启用了 IPv6 的接口。重新引导还将以 IPv6 模式重新启动 in.ndpd 和其他网络守护进程。


示例 7–2 使 IPv6 接口的配置在重新引导过程中持续保留

此示例说明如何使 qfe0 接口的 IPv6 配置在重新引导过程中持续保留。在此示例中,本地链路上的路由器会通告站点前缀和子网 ID 2001:db8:3c4d:15/64

首先,检查系统接口的状态。


# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
qfe0: flags=1000863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,IPv4> mtu 1500 
           index 2
        inet 172.16.27.74 netmask ffffff00 broadcast 172.16.27.255
        ether 0:3:ba:13:14:e1 

# touch /etc/hostname6.qfe0
# vi /etc/hostname6.qfe0
inet6 fe80::203:baff:fe13:1431/10 up
addif inet6 2001:db8:3c4d:15:203:baff:fe13:14e1/64 up

# route -p add -inet6 default fe80::203:baff:fe13:1431
# reboot -- -r

验证已配置的 IPv6 地址是否仍适用于 qfe0 接口。


# ifconfig -a6
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
       ether 0:3:ba:13:14:e1 
       inet6 fe80::203:baff:fe13:14e1/10 
 qfe0:1: flags=2180841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 
          index 2
        inet6 2001:db8:3c4d:15:203:baff:fe13:14e1/64

ifconfig -a6 的输出显示了 qfe0 的两项。标准 qfe0 项包括 MAC 地址和链路本地地址。第二项 qfe0:1 表示为 qfe0 接口上的其他 IPv6 地址创建了伪接口。新的全局 IPv6 地址 2001:db8:3c4d:15:203:baff:fe13:14e1/64 包括由本地路由器通告的站点前缀和子网 ID。


接下来的操作

Procedure如何关闭 IPv6 地址自动配置

通常应当使用地址自动配置来为主机和服务器的接口生成 IPv6 地址。但是,有时可能希望关闭地址自动配置,尤其是在希望手动配置标记时,如配置 IPv6 标记中所述。

  1. 以主管理员身份或超级用户身份登录 IPv6 节点。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 为节点创建 /etc/inet/ndpd.conf 文件。

    /etc/inet/ndpd.conf 文件定义了特定节点的接口变量。必须在该文件中包含以下内容,才能关闭所有服务器接口的地址自动配置:


    if-variable-name StatelessAddrConf false

    有关 /etc/inet/ndpd.conf 的详细信息,请参阅 ndpd.conf(4) 手册页和ndpd.conf 配置文件

  3. 使用所做更改更新 IPv6 守护进程。


    # pkill -HUP in.ndpd