系统管理指南:IP 服务

配置 IPv6 路由器

在网络上配置 IPv6 的第一步是在路由器上配置 IPv6。路由器配置涉及到许多独立的任务,本节将介绍这些任务。您可以根据站点要求执行部分或全部任务。

IPv6 路由器配置(任务列表)

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

任务 

说明  

参考 

1. 在开始配置 IPv6 之前,确保已完成了必需的先决条件。 

必须先在启用了 IPv6 的接口上完成规划任务和 Oracle Solaris : 安装,然后再配置启用了 IPv6 的路由器。 

第 4 章配置 IPv6 接口

2. 配置路由器。 

定义网络的站点前缀。  

如何配置启用了 IPv6 的路由器

3. 在路由器上配置隧道接口。 

在路由器上设置手动隧道或 6to4 隧道接口。本地 IPv6 网络需要使用隧道来与其他隔离的 IPv6 网络通信。 

4. 在网络上配置交换机。 

如果网络配置中包括交换机,此时请在配置过程中针对 IPv6 配置交换机。 

请参阅交换机制造商文档。 

5. 在网络上配置任何集线器。 

如果网络配置中包括集线器,此时请在配置过程中针对 IPv6 配置集线器。 

请参阅集线器制造商文档。 

6. 针对 IPv6 配置网络名称服务。  

针对 IPv6 配置路由器之后,将主名称服务(DNS、NIS 或 LDAP)配置为识别 IPv6 地址。 

如何向 DNS 中添加 IPv6 地址

7. (可选)在主机和服务器上修改启用了 IPv6 的接口的地址。 

配置 IPv6 路由器之后,对启用了 IPv6 的主机和服务器进一步进行修改。 

修改主机和服务器的 IPv6 接口配置

8. 将应用程序配置为支持 IPv6。 

为了支持 IPv6,不同的应用程序可能需要不同的操作。 

请参阅应用程序文档。 

Procedure如何配置启用了 IPv6 的路由器

此过程假定在 Oracle Solaris : 的安装过程中已针对 IPv6 配置了路由器的所有接口。

  1. 在即将成为 IPv6 路由器的系统上,承担主管理员角色或成为超级用户。

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

  2. 检查在安装过程中针对 IPv6 配置了路由器上的哪些接口。


    # ifconfig -a
    

    检查输出,确保现在已经使用链路本地地址检测了要针对 IPv6 配置的接口。以下 ifconfig -a 的样例命令输出显示了已经为路由器的接口配置的 IPv4 和 IPv6 地址。


    lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000 
    dmfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 172.16.26.232 netmask ffffff00 broadcast 172.16.26.255
            ether 0:3:ba:11:b1:15 
    dmfe1: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4 mtu 1500 index 3
            inet 172.16.26.220 netmask ffffff00 broadcast 172.16.26.255
            ether 0:3:ba:11:b1:16 
    lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
            inet6 ::1/128 
    dmfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
            ether 0:3:ba:11:b1:15 
            inet6 fe80::203:baff:fe11:b115/10 
    dmfe1: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3
            ether 0:3:ba:11:b1:16 
            inet6 fe80::203:baff:fe11:b116/10 

    该输出还显示在安装过程中已经使用 IPv6 链路本地地址 fe80::203:baff:fe11:b115/10fe80::203:baff:fe11:b116/10 配置了主网络接口 dmfe0 和附加接口 dmfe1

  3. 在路由器的所有接口上配置 IPv6 包转发功能。

    对于 Solaris 10 11/03 及更早的版本,请使用以下命令:


    # routeadm -e ipv6-forwarding -u
    

    使用以下任一命令启用包转发:

    • 使用 routeadm 命令,如下所示:


      # routeadm -e ipv6-forwarding -u
      
    • 使用以下服务管理工具 (Service Management Facility, SMF) 命令,如下所示:


      # svcadm enable ipv6-forwarding
  4. 启动路由选择守护进程。

    in.ripngd 守护进程可处理 IPv6 路由。

    对于 Solaris 10 11/06 及更早的版本,请键入以下命令启动 in.ripngd


    # routeadm -e ipv6-routing
    # routeadm -u
    

    通过以下任一方式启用 IPv6 路由:

    • 使用 routeadm 命令,如下所示:


      # routeadm -e ipv6-routing -u
      
    • 使用 SMF 启用 IPv6 路由:


      # svcadm enable ripng:default
      

    有关 routeadm 命令的语法信息,请参见 routeadm(1M) 手册页。

  5. 创建 /etc/inet/ndpd.conf 文件。

    /etc/inet/ndpd.conf 中指定要由路由器通告的站点前缀以及其他配置信息。此文件由 in.ndpd 守护进程读取,该守护进程实现了 IPv6 相邻节点搜索协议。

    有关变量和允许值的列表,请参阅ndpd.conf 配置文件ndpd.conf(4) 手册页。

  6. /etc/inet/ndpd.conf 文件中键入以下文本:


    ifdefault AdvSendAdvertisements true
    prefixdefault AdvOnLinkFlag on AdvAutonomousFlag on
    

    此文本通告 in.ndpd 守护进程通过路由器上针对 IPv6 配置的所有接口发出路由器通告。

  7. /etc/inet/ndpd.conf 文件中添加其他文本,以便在路由器的各接口上配置站点前缀。

    该文本应采用以下格式:


    prefix global-routing-prefix:subnet ID/64 interface
    

    以下样例 /etc/inet/ndpd.conf 文件将路由器配置为通过接口 dmfe0dmfe1 通告站点前缀 2001:0db8:3c4d::/48


    ifdefault AdvSendAdvertisements true
    prefixdefault AdvOnLinkFlag on AdvAutonomousFlag on
    
    if dmfe0 AdvSendAdvertisements 1
    prefix 2001:0db8:3c4d:15::0/64 dmfe0
    
    if dmfe1 AdvSendAdvertisements 1
    prefix 2001:0db8:3c4d:16::0/64 dmfe1
    
  8. 重新引导系统。

    IPv6 路由器随即开始在本地链路上通告 ndpd.conf 文件中的任何站点前缀。


示例 7–3 显示 IPv6 接口的 ifconfig 输出

以下示例显示了 ifconfig -a 命令的输出,在完成配置 IPv6 路由器过程之后将看到这类输出。


lo0: flags=1000849 <UP LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
dmfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 172.16.15.232 netmask ffffff00 broadcast 172.16.26.255
        ether 0:3:ba:11:b1:15 
dmfe1: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4 mtu 1500 index 3
        inet 172.16.16.220 netmask ffffff00 broadcast 172.16.26.255
        ether 0:3:ba:11:b1:16 
lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
        inet6 ::1/128 
dmfe0: flags=2100841 <UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2
        ether 0:3:ba:11:b1:15 
        inet6 fe80::203:baff:fe11:b115/10 
dmfe0:1: flags=2180841 <UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500
          index 2
        inet6 2001:db8:3c4d:15:203:baff:fe11:b115/64
dmfe1: flags=2100841 <UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 3
        ether 0:3:ba:11:b1:16 
        inet6 fe80::203:baff:fe11:b116/10 
dmfe1:1: flags=2180841 <UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500
           index 3
        inet6 2001:db8:3c4d:16:203:baff:fe11:b116/64

在此示例中,已经针对 IPv6 配置的每个接口现在都有两个地址。包含接口名称的项(如 dmfe0)显示该接口的链路本地地址。形式为 interface:n 的项(如 dmfe0:1)显示全局 IPv6 地址。此地址除包括接口 ID 外,还包括已在 /etc/ndpd.conf 文件中配置的站点前缀。


另请参见